Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat template peluncuran dengan AWS CloudFormation
Bagian ini memberikan contoh untuk membuat template EC2 peluncuran Amazon menggunakan AWS CloudFormation. Template peluncuran memungkinkan Anda membuat templat untuk mengonfigurasi dan menyediakan instans EC2 Amazon di dalamnya. AWS Dengan template peluncuran, Anda dapat menyimpan parameter peluncuran sehingga Anda tidak perlu menentukannya setiap kali Anda meluncurkan instance. Untuk contoh lainnya, lihat bagian Contoh di AWS::EC2::LaunchTemplate
sumber daya.
Untuk informasi selengkapnya tentang template peluncuran, lihat Meluncurkan instance dari template peluncuran.
Untuk informasi tentang membuat templat peluncuran untuk digunakan dengan grup Auto Scaling, lihat Meluncurkan templat di Panduan Pengguna Amazon Auto EC2 Scaling.
Kategori cuplikan
Buat template peluncuran yang menentukan grup keamanan, tag, data pengguna, dan peran IAM
Cuplikan ini menunjukkan LaunchTemplate sumber daya AWSEC2::: yang berisi informasi konfigurasi untuk meluncurkan instance. Anda menentukan nilai untukImageId
,InstanceType
,SecurityGroups
,UserData
, dan TagSpecifications
properti. SecurityGroups
Properti menentukan grup EC2 keamanan yang ada dan grup keamanan baru. Ref
Fungsi mendapatkan ID dari SecurityGroup sumber daya AWS::EC2: myNewEC2SecurityGroup
yang dideklarasikan di tempat lain di template tumpukan.
Template peluncuran mencakup bagian untuk data pengguna khusus. Anda dapat meneruskan tugas konfigurasi dan skrip yang berjalan saat instance diluncurkan di bagian ini. Dalam contoh ini, data pengguna menginstal AWS Systems Manager Agen dan memulai agen.
Template peluncuran juga mencakup IAM peran yang memungkinkan aplikasi yang berjalan pada instance untuk melakukan tindakan atas nama Anda. Contoh ini menunjukkan sumber daya AWS:IAM:: :Role untuk template peluncuran, yang menggunakan IamInstanceProfile
properti untuk menentukan IAM peran. Ref
Fungsi mendapatkan nama sumber InstanceProfile daya AWS:IAM::myInstanceProfile
. Untuk mengonfigurasi izin IAM peran, Anda menentukan nilai untuk ManagedPolicyArns
properti.
JSON
{ "Resources":{ "myLaunchTemplate":{ "Type":"AWS::EC2::LaunchTemplate", "Properties":{ "LaunchTemplateName":{ "Fn::Sub": "${AWS::StackName}-launch-template" }, "LaunchTemplateData":{ "ImageId":"
ami-02354e95b3example
", "InstanceType":"t3.micro
", "IamInstanceProfile":{ "Name":{ "Ref":"myInstanceProfile" } }, "SecurityGroupIds":[ { "Ref":"myNewEC2SecurityGroup
" }, "sg-083cd3bfb8example
" ], "UserData":{ "Fn::Base64":{ "Fn::Join": [ "", [ "#!/bin/bash\n
", "cd /tmp\n
", "yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm\n
", "systemctl enable amazon-ssm-agent\n
", "systemctl start amazon-ssm-agent\n
" ] ] } }, "TagSpecifications":[ { "ResourceType":"instance", "Tags":[ { "Key":"environment
", "Value":"development
" } ] }, { "ResourceType":"volume", "Tags":[ { "Key":"environment
", "Value":"development
" } ] } ] } } }, "myInstanceRole":{ "Type":"AWS::IAM::Role", "Properties":{ "RoleName":"InstanceRole", "AssumeRolePolicyDocument":{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "ec2.amazonaws.com" ] }, "Action":[ "sts:AssumeRole" ] } ] }, "ManagedPolicyArns":[ "arn:aws:iam::aws:policy/myCustomerManagedPolicy
" ] } }, "myInstanceProfile":{ "Type":"AWS::IAM::InstanceProfile", "Properties":{ "Path":"/", "Roles":[ { "Ref":"myInstanceRole" } ] } } } }
YAML
--- Resources: myLaunchTemplate: Type: AWS::EC2::LaunchTemplate Properties: LaunchTemplateName: !Sub ${AWS::StackName}-launch-template LaunchTemplateData: ImageId:
ami-02354e95b3example
InstanceType:t3.micro
IamInstanceProfile: Name: !Ref myInstanceProfile SecurityGroupIds: - !RefmyNewEC2SecurityGroup
-sg-083cd3bfb8example
UserData: Fn::Base64: !Sub |#!/bin/bash cd /tmp yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm systemctl enable amazon-ssm-agent systemctl start amazon-ssm-agent
TagSpecifications: - ResourceType: instance Tags: - Key:environment
Value:development
- ResourceType: volume Tags: - Key:environment
Value:development
myInstanceRole: Type: AWS::IAM::Role Properties: RoleName: InstanceRole AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: 'Allow' Principal: Service: - 'ec2.amazonaws.com' Action: - 'sts:AssumeRole' ManagedPolicyArns: - 'arn:aws:iam::aws:policy/myCustomerManagedPolicy
' myInstanceProfile: Type: AWS::IAM::InstanceProfile Properties: Path: '/' Roles: - !Ref myInstanceRole