AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::OpsWorks::Instance

为 AWS OpsWorks 堆栈创建 Amazon Elastic Compute Cloud (Amazon EC2) 实例。AWS OpsWorks 堆栈的实例负责处理提供应用程序、平衡流量等工作。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type": "AWS::OpsWorks::Instance", "Properties": { "AgentVersion" : String, "AmiId" : String, "Architecture" : String, "AutoScalingType" : String, "AvailabilityZone" : String, "BlockDeviceMappings" : [ BlockDeviceMapping, ... ], "EbsOptimized" : Boolean, "ElasticIps" : [ String, ... ], "Hostname" : String, "InstallUpdatesOnBoot" : Boolean, "InstanceType" : String, "LayerIds" : [ String, ... ], "Os" : String, "RootDeviceType" : String, "SshKeyName" : String, "StackId" : String, "SubnetId" : String, "Tenancy" : String, "TimeBasedAutoScaling" : TimeBasedAutoScaling, "VirtualizationType" : String, "Volumes" : [ String, ... ] } }

YAML

Type: "AWS::OpsWorks::Instance" Properties: AgentVersion: String AmiId: String Architecture: String AutoScalingType: String AvailabilityZone: String BlockDeviceMappings: - BlockDeviceMapping EbsOptimized: Boolean ElasticIps: - 字符串 Hostname: String InstallUpdatesOnBoot: Boolean InstanceType: String LayerIds: - 字符串 Os: String RootDeviceType: String SshKeyName: String StackId: String SubnetId: String Tenancy: String TimeBasedAutoScaling: TimeBasedAutoScaling VirtualizationType: String Volumes: - 字符串

属性

AgentVersion

AWS OpsWorks 在每个实例上安装的 AWS OpsWorks 代理的版本。AWS OpsWorks 向代理发送用于在实例上执行任务的命令,例如开始运行 Chef。有关有效值,请参阅 AWS OpsWorks Stacks API Reference 中的 CreateInstance 操作的 AgentVersion 参数。

Required: No

Type: String

更新要求无需中断

AmiId

要用于创建实例的自定义 Amazon 系统映像 (AMI) 的 ID。有关自定义 AMI 的更多信息,请参阅 AWS OpsWorks 用户指南 中的使用自定义 AMI

注意

如果指定此属性,则必须将 Os 属性设为 Custom

Required: No

Type: String

更新要求:不支持更新。

Architecture

实例架构。

Required: No

Type: String

更新要求时而中断

AutoScalingType

对于扩展实例,则是扩展的类型。如果指定基于负载的扩展,请不要指定基于时间的扩展配置。有关有效值的信息,请参阅 AWS OpsWorks Stacks API Reference 中的 CreateInstance

Required: No

Type: String

更新要求替换

AvailabilityZone

实例可用区。

Required: No

Type: String

更新要求替换

BlockDeviceMappings

映射到 AWS OpsWorks 实例的块储存设备的列表。有关更多信息,请参阅 AWS OpsWorks Stacks API Reference 中的 CreateInstance 操作的 BlockDeviceMappings 参数。

Required: No

Type: AWS OpsWorks 实例 BlockDeviceMapping 列表

更新要求替换

EbsOptimized

指示实例是否针对 Amazon Elastic Block Store (Amazon EBS) I/O 进行过优化。如果指定的是针对 Amazon EBS 优化的实例类型,AWS OpsWorks 会默认启用 EBS 优化。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的 Amazon EBS 优化的实例

Required: No

Type: Boolean

更新要求替换

ElasticIps

与实例关联的弹性 IP 地址的列表。

Required: No

Type: List of String values

更新要求无需中断

Hostname

实例主机的名称。

Required: No

Type: String

更新要求无需中断

InstallUpdatesOnBoot

是否在实例启动时安装操作系统和软件包更新。

Required: No

Type: Boolean

更新要求时而中断

InstanceType

AWS OpsWorks 必须支持的实例类型。有关更多信息,请参阅 AWS OpsWorks Stacks API Reference 中的 CreateInstance

如果指定的是针对 Amazon EBS 优化的实例类型,AWS OpsWorks 会默认启用 EBS 优化。有关针对 Amazon EBS 优化的实例类型的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的 Amazon EBS 优化的实例

Required: Yes

Type: String

更新要求时而中断

LayerIds

将与此实例关联的 AWS OpsWorks 层的 ID。

Required: Yes

Type: List of String values

更新要求时而中断

Os

实例操作系统。有关更多信息,请参阅 AWS OpsWorks Stacks API Reference 中的 CreateInstance

Required: No

Type: String

更新要求替换

RootDeviceType

实例的根设备类型。

Required: No

Type: String

更新要求替换

SshKeyName

实例的 SSH 密钥名称。

Required: No

Type: String

更新要求时而中断

StackId

该实例将关联的 AWS OpsWorks 堆栈的 ID。

Required: Yes

Type: String

更新要求替换

SubnetId

实例子网的 ID。如果堆栈在 VPC 中运行,则您可以使用该参数覆盖堆栈的默认子网 ID 值和指示 AWS OpsWorks 在不同子网中启动实例。

Required: No

Type: String

更新要求替换

Tenancy

实例的租期。有关更多信息,请参阅 AWS OpsWorks Stacks API Reference 中的 CreateInstance 操作的 Tenancy 参数。

Required: No

Type: String

更新要求替换

TimeBasedAutoScaling

实例的基于时间的扩展配置。

Required: No

类型AWS OpsWorks TimeBasedAutoScaling 类型

更新要求替换

VirtualizationType

实例的虚拟化类型,paravirtualhvm

Required: No

Type: String

更新要求替换

Volumes

要与实例关联的 AWS OpsWorks 卷 ID 的列表。有关更多信息,请参阅 AWS::OpsWorks::Volume

Required: No

Type: List of String values

更新要求无需中断

返回值

Ref

当该资源的逻辑 ID 提供给 Ref内部函数时,Ref 将返回资源名称。 示例:

{ "Ref": "myInstance1" }

对于 AWS OpsWorks 实例 myInstance1Ref 返回 AWS OpsWorks 实例 ID。

有关使用 Ref 功能的更多信息,请参阅参考

Fn::GetAtt

Fn::GetAtt 返回一个此类型指定属性的值。以下为可用属性和示例返回值。

  • AvailabilityZone

    AWS OpsWorks 实例的可用区,如 us-east-2a

  • PrivateDnsName

    AWS OpsWorks 实例的私有 DNS 名称。

  • PrivateIp

    AWS OpsWorks 实例的私有 IP 地址,如 192.0.2.0

  • PublicDnsName

    AWS OpsWorks 实例的公有 DNS 名称。

  • PublicIp

    AWS OpsWorks 实例的公有 IP 地址,例如 192.0.2.0

    注意

    仅当 AWS OpsWorks 实例位于自动分配公有 IP 地址的 AWS OpsWorks 层时才使用该属性。

有关使用 Fn::GetAtt 的更多信息,请参见 Fn::GetAtt

示例

创建基本 AWS OpsWorks 实例

下面的示例创建两个与 myStack AWS OpsWorks 堆栈和 myLayer AWS OpsWorks 层关联的 AWS OpsWorks 实例:

JSON

"myInstance1" : { "Type" : "AWS::OpsWorks::Instance", "Properties" : { "StackId" : {"Ref":"myStack"}, "LayerIds" : [{"Ref":"myLayer"}], "InstanceType" : "m1.small" } }, "myInstance2" : { "Type" : "AWS::OpsWorks::Instance", "Properties" : { "StackId" : {"Ref":"myStack"}, "LayerIds" : [{"Ref":"myLayer"}], "InstanceType" : "m1.small" } }

YAML

myInstance1: Type: "AWS::OpsWorks::Instance" Properties: StackId: Ref: "myStack" LayerIds: - Ref: "myLayer" InstanceType: "m1.small" myInstance2: Type: "AWS::OpsWorks::Instance" Properties: StackId: Ref: "myStack" LayerIds: - Ref: "myLayer" InstanceType: "m1.small"

定义基于时间的 Auto Scaling 实例

在下面的示例中,DBInstance 实例在星期五、星期六和星期日从 UTC 12:00 到 16:00 在线四小时。该实例在所有其他时间离线。

JSON

"DBInstance" : { "Type" : "AWS::OpsWorks::Instance", "Properties" : { "AutoScalingType" : "timer", "StackId" : {"Ref":"Stack"}, "LayerIds" : [{"Ref":"DBLayer"}], "InstanceType" : "m1.small", "TimeBasedAutoScaling" : { "Friday" : { "12" : "on", "13" : "on", "14" : "on", "15" : "on" }, "Saturday" : { "12" : "on", "13" : "on", "14" : "on", "15" : "on" }, "Sunday" : { "12" : "on", "13" : "on", "14" : "on", "15" : "on" } } } }

YAML

DBInstance: Type: "AWS::OpsWorks::Instance" Properties: AutoScalingType: "timer" StackId: Ref: "Stack" LayerIds: - Ref: "DBLayer" InstanceType: "m1.small" TimeBasedAutoScaling: Friday: 12: "on" 13: "on" 14: "on" 15: "on" Saturday: 12: "on" 13: "on" 14: "on" 15: "on" Sunday: 12: "on" 13: "on" 14: "on" 15: "on"

更多信息