メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::OpsWorks::Instance

AWS OpsWorks スタックの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成します。AWS OpsWorks スタックのインスタンスは、たとえば、アプリケーションの提供やトラフィックの分散などの作業を処理します。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "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

Copy
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 ReferenceCreateInstance アクションの AgentVersion パラメーターを参照してください。

Required: No

Type: String

更新に伴う要件: 中断はありません。

AmiId

インスタンスの作成に使用するカスタム Amazon マシンイメージ (AMI) の ID。カスタム AMI の詳細については、AWS OpsWorks ユーザーガイドの「カスタム AMI の使用」を参照してください。

注記

このプロパティを指定する場合は、Os プロパティを Custom に設定する必要があります。

Required: No

Type: String

[Update requires]: アップデートはサポートされていません。

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 ReferenceCreateInstance アクションの BlockDeviceMappings パラメーターを参照してください。

Required: No

AWS OpsWorks インスタンスの BlockDeviceMappingType: リスト

更新に伴う要件: 置換

EbsOptimized

インスタンスが Amazon Elastic Block Store (Amazon EBS) I/O 用に最適化されているかどうかを示します。Amazon EBS 最適化インスタンスタイプを指定した場合、AWS OpsWorks のデフォルトでは EBS の最適化が有効になります。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EBS 最適化インスタンス」を参照してください。

Required: No

Type: Boolean

更新に伴う要件: 置換

ElasticIps

インスタンスに関連付ける Elastic 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 最適化インスタンスタイプの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EBS 最適化インスタンス」を参照してください。

Required: Yes

Type: String

更新に伴う要件: 一時的な中断。

LayerIds

このインスタンスに関連付ける AWS OpsWorks Layer の 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 ReferenceCreateInstance アクションの Tenancy パラメーターを参照してください。

Required: No

Type: String

更新に伴う要件: 置換

TimeBasedAutoScaling

インスタンスの時間ベースのスケーリング設定。

Required: No

タイプ: AWS OpsWorks TimeBasedAutoScaling タイプ

更新に伴う要件: 置換

VirtualizationType

インスタンスの仮想化タイプ。paravirtual または hvm です。

Required: No

Type: String

更新に伴う要件: 置換

Volumes

インスタンスに関連付ける AWS OpsWorks ボリューム ID のリスト。詳細については、「AWS::OpsWorks::Volume」を参照してください。

Required: No

Type: List of String values

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりリソース名が返されます。 例:

Copy
{ "Ref": "myInstance1" }

AWS OpsWorks インスタンス myInstance1 の場合、Ref は AWS OpsWorks インスタンス ID を返します。

Ref 関数の使用方法の詳細については、「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

    192.0.2.0 など、AWS OpsWorks インスタンスのパブリック IP アドレス。

    注記

    AWS OpsWorks インスタンスが、パブリック IP アドレスを自動で割り当てる AWS OpsWorks レイヤーにある場合にのみ、この属性を使用します。

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

基本的な AWS OpsWorks インスタンスを作成します。

次の例では、myStack AWS OpsWorks スタックと myLayer AWS OpsWorks レイヤーに関連付けられる 2 つの AWS OpsWorks インスタンスを作成します。

JSON

Copy
"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

Copy
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 1200 - 1600 までの 4 時間稼動します。それ以外の日時については、インスタンスは稼働しません。

JSON

Copy
"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

Copy
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"

詳細

このページの内容: