Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

AWS CloudFormation で Amazon EC2 インスタンスを設定する

フォーカスモード
AWS CloudFormation で Amazon EC2 インスタンスを設定する - AWS CloudFormation
フィルタビュー

以下のスニペットは、AWS CloudFormation を使用して Amazon EC2 インスタンスを設定する方法を示しています。

Amazon EC2 の全般設定

以下のスニペットは、AWS CloudFormation を使用した Amazon EC2 インスタンスの全般設定を示しています。

指定されたアベイラビリティーゾーンに Amazon EC2 インスタンスを作成する

次のスニペットは、AWS::EC2::Instance リソースを使用した Amazon EC2 インスタンスを作成しています。アベイラビリティーゾーンのコードは、リージョンコードとそれに続く文字識別子です。インスタンスは 1 つのアベイラビリティーゾーンで起動できます。

JSON

"Ec2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "AvailabilityZone": "aa-example-1a", "ImageId": "ami-1234567890abcdef0" } }

YAML

Ec2Instance: Type: AWS::EC2::Instance Properties: AvailabilityZone: aa-example-1a ImageId: ami-1234567890abcdef0

EBS ボリュームとユーザーデータを使用した Amazon EC2 インスタンスの設定

次のスニペットは、タグ、EBS ボリューム、およびユーザーデータを使用して Amazon EC2 インスタンスを作成します。AWS::EC2::Instance リソースを使用します。同じテンプレートで AWS::EC2::SecurityGroup リソース、AWS::SNS::Topic リソース、AWS::EC2::Volume リソースをに定義する必要があります。テンプレートの Parameters セクションに KeyName を定義する必要があります。

タグを使用すると、AWS リソースを目的、所有者、環境など好みに基づいて分類できます。ユーザーデータにより、起動時にカスタムスクリプトやデータをインスタンスにプロビジョニングできます。このデータにより、タスクの自動化、ソフトウェア設定、パッケージのインストール、および初期化中のインスタンスでのその他のアクションが容易になります。

リソースへのタグ付けの詳細については、「Amazon EC2 リソースのタグ付け」を参照してください。

ユーザーデータの詳細については、「インスタンスメタデータを使用して EC2 インスタンスを管理する」を参照してください。

JSON

"Ec2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "KeyName": { "Ref": "KeyName" }, "SecurityGroups": [ { "Ref": "Ec2SecurityGroup" } ], "UserData": { "Fn::Base64": { "Fn::Join": [ ":", [ "PORT=80", "TOPIC=", { "Ref": "MySNSTopic" } ] ] } }, "InstanceType": "aa.size", "AvailabilityZone": "aa-example-1a", "ImageId": "ami-1234567890abcdef0", "Volumes": [ { "VolumeId": { "Ref": "MyVolumeResource" }, "Device": "/dev/sdk" } ], "Tags": [ { "Key": "Name", "Value": "MyTag" } ] } }

YAML

Ec2Instance: Type: AWS::EC2::Instance Properties: KeyName: !Ref KeyName SecurityGroups: - !Ref Ec2SecurityGroup UserData: Fn::Base64: Fn::Join: - ":" - - "PORT=80" - "TOPIC=" - !Ref MySNSTopic InstanceType: aa.size AvailabilityZone: aa-example-1a ImageId: ami-1234567890abcdef0 Volumes: - VolumeId: !Ref MyVolumeResource Device: "/dev/sdk" Tags: - Key: Name Value: MyTag

Amazon EC2 インスタンスを起動するためのユーザーデータに DynamoDB テーブル名を定義する

次のスニペットは Amazon EC2 インスタンスを作成し、起動時にインスタンスに渡すユーザーデータに DynamoDB テーブル名を定義します。AWS::EC2::Instance リソースを使用します。起動時に EC2 インスタンスを渡すパラメータまたは動的値をユーザーデータで定義できます。

ユーザーデータの詳細については、「インスタンスメタデータを使用して EC2 インスタンスを管理する」を参照してください。

JSON

"Ec2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "UserData": { "Fn::Base64": { "Fn::Join": [ "", [ "TableName=", { "Ref": "DynamoDBTableName" } ] ] } }, "AvailabilityZone": "aa-example-1a", "ImageId": "ami-1234567890abcdef0" } }

YAML

Ec2Instance: Type: AWS::EC2::Instance Properties: UserData: Fn::Base64: Fn::Join: - '' - - 'TableName=' - Ref: DynamoDBTableName AvailabilityZone: aa-example-1a ImageId: ami-1234567890abcdef0

DeletionPolicy を使用した Amazon EBS ボリュームの作成

以下のスニペットは、Amazon EC2 AWS::EC2::Volume リソースを使用して Amazon EBS ボリュームを作成します。Size または SnapshotID プロパティを使用してボリュームを定義できますが、両方を使用することはできません。スタックが削除されたときにボリュームのスナップショットを作成するように DeletionPolicy 属性が設定されます。

DeletionPolicy 属性の詳細については、「DeletionPolicy 属性」を参照してください。

Amazon EBS ボリュームの作成の詳細については、「Amazon EBS ボリュームの作成」を参照してください。

JSON

このスニペットは、指定されたサイズの Amazon EBS ボリュームを作成します。サイズは 10 に設定されていますが、必要に応じて調整できます。AWS::EC2::Volume リソースでは、サイズまたはスナップショット ID のいずれかを指定できますが、両方は指定できません。

"MyEBSVolume": { "Type": "AWS::EC2::Volume", "Properties": { "Size": "10", "AvailabilityZone": { "Ref": "AvailabilityZone" } }, "DeletionPolicy": "Snapshot" }

このスニペットは、指定されたスナップショット ID を使用した Amazon EBS ボリュームの作成です。AWS::EC2::Volume リソースでは、サイズまたはスナップショット ID のいずれかを指定できますが、両方は指定できません。

"MyEBSVolume": { "Type": "AWS::EC2::Volume", "Properties": { "SnapshotId" : "snap-1234567890abcdef0", "AvailabilityZone": { "Ref": "AvailabilityZone" } }, "DeletionPolicy": "Snapshot" }

YAML

このスニペットは、指定されたサイズの Amazon EBS ボリュームを作成します。サイズは 10 に設定されていますが、必要に応じて調整できます。AWS::EC2::Volume リソースでは、サイズまたはスナップショット ID のいずれかを指定できますが、両方は指定できません。

MyEBSVolume: Type: AWS::EC2::Volume Properties: Size: 10 AvailabilityZone: Ref: AvailabilityZone DeletionPolicy: Snapshot

このスニペットは、指定されたスナップショット ID を使用した Amazon EBS ボリュームの作成です。AWS::EC2::Volume リソースでは、サイズまたはスナップショット ID のいずれかを指定できますが、両方は指定できません。

MyEBSVolume: Type: AWS::EC2::Volume Properties: SnapshotId: snap-1234567890abcdef0 AvailabilityZone: Ref: AvailabilityZone DeletionPolicy: Snapshot

インスタンスのブロックデバイスマッピングの指定

ブロックデバイスマッピングでは、インスタンスにアタッチする、インスタンスストアボリュームと EBS ボリュームを含むブロックデバイスを定義します。ブロックデバイスマッピングは、AMI 作成時に、AMI から起動されるすべてのインスタンスによって使用されるように指定できます。また、インスタンスの起動時にブロックデバイスマッピングを指定することもできます。起動したインスタンスの AMI ですでに指定されているマッピングがこのマッピングによって上書きされるようにします。

以下のテンプレートスニペットを使用して、AWS::EC2::Instance リソースの BlockDeviceMappings プロパティを使用して EBS またはインスタンスストアボリュームのブロックデバイスマッピングを指定できます。

ブロックデバイスマッピングに関する詳細については、Amazon EC2 ユーザーガイドの「ブロックデバイスマッピング」を参照してください。

2 つの EBS ボリュームのブロックデバイスマッピングを指定します。

JSON

"Ec2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": { "Fn::FindInMap": [ "AWSRegionArch2AMI", { "Ref": "AWS::Region" }, { "Fn::FindInMap": [ "AWSInstanceType2Arch", { "Ref": "InstanceType" }, "Arch" ] } ] }, "KeyName": { "Ref": "KeyName" }, "InstanceType": { "Ref": "InstanceType" }, "SecurityGroups": [{ "Ref": "Ec2SecurityGroup" }], "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "VolumeSize": "50" } }, { "DeviceName": "/dev/sdm", "Ebs": { "VolumeSize": "100" } } ] } } }

YAML

EC2Instance: Type: AWS::EC2::Instance Properties: ImageId: !FindInMap [AWSRegionArch2AMI, !Ref 'AWS::Region', !FindInMap [AWSInstanceType2Arch, !Ref InstanceType, Arch]] KeyName: !Ref KeyName InstanceType: !Ref InstanceType SecurityGroups: - !Ref Ec2SecurityGroup BlockDeviceMappings: - DeviceName: /dev/sda1 Ebs: VolumeSize: 50 - DeviceName: /dev/sdm Ebs: VolumeSize: 100

インスタンスストアボリュームのブロックデバイスマッピングの指定

JSON

"Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" }, "HVM64" ]}, "KeyName" : { "Ref" : "KeyName" }, "InstanceType": { "Ref": "InstanceType" }, "SecurityGroups" : [{ "Ref" : "Ec2SecurityGroup" }], "BlockDeviceMappings" : [ { "DeviceName" : "/dev/sdc", "VirtualName" : "ephemeral0" } ] } }

YAML

EC2Instance: Type: AWS::EC2::Instance Properties: ImageId: !FindInMap - AWSRegionArch2AMI - !Ref AWS::Region - HVM64 KeyName: !Ref KeyName InstanceType: !Ref InstanceType SecurityGroups: - !Ref Ec2SecurityGroup BlockDeviceMappings: - DeviceName: /dev/sdc VirtualName: ephemeral0
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.