Buat template peluncuran dengan AWS CloudFormation - AWS CloudFormation

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.

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. SecurityGroupsProperti menentukan grup EC2 keamanan yang ada dan grup keamanan baru. RefFungsi 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. RefFungsi 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: - !Ref myNewEC2SecurityGroup - 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