Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan EC2 instans Amazon dengan AWS CloudFormation
Cuplikan berikut menunjukkan cara mengonfigurasi EC2 instans Amazon menggunakan. AWS CloudFormation
EC2Konfigurasi Amazon umum
Cuplikan berikut menunjukkan konfigurasi umum untuk instans Amazon EC2 yang digunakan. AWS CloudFormation
Contoh potongan
Membuat EC2 instance Amazon di Availability Zone yang ditentukan
Cuplikan berikut membuat EC2 instance Amazon di Availability Zone yang ditentukan menggunakan resource AWS::EC2: :Instance. Kode untuk Availability Zone adalah kode Region diikuti oleh pengidentifikasi huruf. Anda dapat meluncurkan instance ke dalam Availability Zone tunggal.
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
Mengonfigurasi EC2 instans Amazon yang diberi tag dengan EBS volume dan data pengguna
Cuplikan berikut membuat EC2 instance Amazon dengan tag, EBS volume, dan data pengguna. Ini menggunakan sumber daya AWS:EC2: :Instance. Dalam template yang sama, Anda harus menentukan sumber daya AWS::EC2::, SecurityGroup sumber daya AWS:SNS: :Topic, dan sumber daya AWS::EC2: :Volume. KeyName
Harus didefinisikan di Parameters
bagian template.
Tag dapat membantu Anda mengkategorikan AWS sumber daya berdasarkan preferensi Anda, seperti berdasarkan tujuan, pemilik, atau lingkungan. Data pengguna memungkinkan penyediaan skrip atau data khusus ke instance selama peluncuran. Data ini memfasilitasi otomatisasi tugas, konfigurasi perangkat lunak, instalasi paket, dan tindakan lain pada instance selama inisialisasi.
Untuk informasi selengkapnya tentang menandai sumber daya Anda, lihat Menandai EC2 sumber daya Amazon Anda.
Untuk informasi tentang data pengguna, lihat Metadata instans dan data pengguna.
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
Tentukan nama tabel DynamoDB dalam data pengguna untuk peluncuran instans Amazon EC2
Cuplikan berikut membuat EC2 instance Amazon dan mendefinisikan nama tabel DynamoDB dalam data pengguna untuk diteruskan ke instance saat peluncuran. Ini menggunakan sumber daya AWS:EC2: :Instance. Anda dapat menentukan parameter atau nilai dinamis dalam data pengguna untuk meneruskan EC2 instance saat peluncuran.
Untuk informasi selengkapnya tentang data pengguna, lihat Metadata instans dan data pengguna.
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
Buat EBS volume Amazon dengan DeletionPolicy
Cuplikan berikut membuat EBS volume Amazon menggunakan sumber daya Amazon EC2 AWS::EC2: :Volume. Anda dapat menggunakan SnapshotID
properti Size
or untuk menentukan volume, tetapi tidak keduanya. DeletionPolicy
Atribut diatur untuk membuat snapshot volume saat tumpukan dihapus.
Untuk informasi selengkapnya tentang DeletionPolicy
atribut, lihat DeletionPolicy
atribut.
Untuk informasi selengkapnya tentang membuat EBS volume Amazon, lihat Membuat EBS volume Amazon.
JSON
Cuplikan ini membuat EBS volume Amazon dengan ukuran tertentu. Ukurannya diatur ke 10, tetapi Anda dapat menyesuaikannya sesuai kebutuhan. Sumber daya AWS:EC2: :Volume memungkinkan Anda menentukan ukuran atau ID snapshot tetapi tidak keduanya.
"MyEBSVolume": { "Type": "AWS::EC2::Volume", "Properties": { "Size": "
10
", "AvailabilityZone": { "Ref": "AvailabilityZone" } }, "DeletionPolicy": "Snapshot" }
Cuplikan ini membuat EBS volume Amazon menggunakan ID snapshot yang disediakan. Sumber daya AWS:EC2: :Volume memungkinkan Anda menentukan ukuran atau ID snapshot tetapi tidak keduanya.
"MyEBSVolume": { "Type": "AWS::EC2::Volume", "Properties": { "SnapshotId" : "
snap-1234567890abcdef0
", "AvailabilityZone": { "Ref": "AvailabilityZone" } }, "DeletionPolicy": "Snapshot" }
YAML
Cuplikan ini membuat EBS volume Amazon dengan ukuran tertentu. Ukurannya diatur ke 10, tetapi Anda dapat menyesuaikannya sesuai kebutuhan. Sumber daya AWS:EC2: :Volume memungkinkan Anda menentukan ukuran atau ID snapshot tetapi tidak keduanya.
MyEBSVolume: Type: AWS::EC2::Volume Properties: Size:
10
AvailabilityZone: Ref: AvailabilityZone DeletionPolicy: Snapshot
Cuplikan ini membuat EBS volume Amazon menggunakan ID snapshot yang disediakan. Sumber daya AWS:EC2: :Volume memungkinkan Anda menentukan ukuran atau ID snapshot tetapi tidak keduanya.
MyEBSVolume: Type: AWS::EC2::Volume Properties: SnapshotId:
snap-1234567890abcdef0
AvailabilityZone: Ref: AvailabilityZone DeletionPolicy: Snapshot
Tentukan pemetaan perangkat blok untuk sebuah instance
Pemetaan perangkat blok mendefinisikan perangkat blok, yang mencakup volume dan EBS volume penyimpanan instance, untuk dilampirkan ke sebuah instance. Anda dapat menentukan pemetaan perangkat blok saat membuat AMI sehingga pemetaan digunakan oleh semua instance yang diluncurkan dari. AMI Atau, Anda dapat menentukan pemetaan perangkat blok saat meluncurkan instance, sehingga pemetaan menggantikan yang ditentukan AMI dari mana instance diluncurkan.
Anda dapat menggunakan cuplikan templat berikut untuk menentukan pemetaan perangkat blok untuk volume penyimpanan instans EBS atau instance Anda menggunakan BlockDeviceMappings
properti sumber daya AWS::: EC2 :Instance.
Untuk informasi selengkapnya tentang memblokir pemetaan perangkat, lihat Memblokir pemetaan perangkat di Panduan Pengguna Amazon. EC2
Skenario
Tentukan pemetaan perangkat blok untuk dua volume 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
Tentukan pemetaan perangkat blok untuk volume penyimpanan instance
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