

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat template peluncuran dengan CloudFormation
<a name="quickref-ec2-launch-templates"></a>

Bagian ini memberikan contoh untuk membuat template peluncuran Amazon EC2 menggunakan. CloudFormation Template peluncuran memungkinkan Anda membuat templat untuk mengonfigurasi dan menyediakan instans Amazon EC2 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate--examples) di `AWS::EC2::LaunchTemplate` sumber daya.

Untuk informasi selengkapnya tentang template peluncuran, lihat [Menyimpan parameter peluncuran instans di templat peluncuran Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) di Panduan Pengguna *Amazon EC2*. 

Untuk informasi tentang membuat templat peluncuran untuk digunakan dengan grup Auto Scaling, lihat templat [peluncuran Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html) di Panduan Pengguna *Amazon EC2 Auto Scaling*.

**Topics**
+ [Buat template peluncuran yang menentukan grup keamanan, tag, data pengguna, dan peran IAM](#scenario-as-launch-template)

## Buat template peluncuran yang menentukan grup keamanan, tag, data pengguna, dan peran IAM
<a name="scenario-as-launch-template"></a>

Cuplikan ini menunjukkan [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html)sumber daya yang berisi informasi konfigurasi untuk meluncurkan instance. Anda menentukan nilai untuk`ImageId`,`InstanceType`,`SecurityGroups`,`UserData`, dan `TagSpecifications` properti. `SecurityGroups`Properti menentukan grup keamanan EC2 yang ada dan grup keamanan baru. `Ref`Fungsi mendapatkan ID dari [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-securitygroup.html)sumber daya `myNewEC2SecurityGroup` yang dideklarasikan di tempat lain di template tumpukan. 

Template peluncuran mencakup bagian untuk data pengguna kustom. 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 menyertakan peran IAM yang memungkinkan aplikasi yang berjalan pada instance untuk melakukan tindakan atas nama Anda. Contoh ini menunjukkan [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-iam-role.html)sumber daya untuk template peluncuran, yang menggunakan `IamInstanceProfile` properti untuk menentukan peran IAM. `Ref`Fungsi mendapatkan nama sumber [AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-iam-instanceprofile.html)daya`myInstanceProfile`. Untuk mengonfigurasi izin peran IAM, Anda menentukan nilai untuk properti. `ManagedPolicyArns`

### JSON
<a name="quickref-launch-template-example-1.json"></a>

```
 1. {
 2.   "Resources":{
 3.     "myLaunchTemplate":{
 4.       "Type":"AWS::EC2::LaunchTemplate",
 5.       "Properties":{
 6.         "LaunchTemplateName":{ "Fn::Sub": "${AWS::StackName}-launch-template" },
 7.         "LaunchTemplateData":{
 8.           "ImageId":"ami-02354e95b3example",
 9.           "InstanceType":"t3.micro",
10.           "IamInstanceProfile":{
11.             "Name":{
12.               "Ref":"myInstanceProfile"
13.             }
14.           },
15.           "SecurityGroupIds":[
16.             {
17.               "Ref":"myNewEC2SecurityGroup"
18.             },
19.             "sg-083cd3bfb8example"
20.           ],
21.           "UserData":{
22.             "Fn::Base64":{
23.               "Fn::Join": [
24.                 "", [
25.                   "#!/bin/bash\n",
26.                   "cd /tmp\n",
27.                   "yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm\n",
28.                   "systemctl enable amazon-ssm-agent\n",
29.                   "systemctl start amazon-ssm-agent\n"
30.                 ]
31.               ]
32.             }
33.           },
34.           "TagSpecifications":[
35.             {
36.               "ResourceType":"instance",
37.               "Tags":[
38.                 {
39.                   "Key":"environment",
40.                   "Value":"development"
41.                 }
42.               ]
43.             },
44.             {
45.               "ResourceType":"volume",
46.               "Tags":[
47.                 {
48.                   "Key":"environment",
49.                   "Value":"development"
50.                 }
51.               ]
52.             }
53.           ]
54.         }
55.       }
56.     },
57.     "myInstanceRole":{
58.       "Type":"AWS::IAM::Role",
59.       "Properties":{
60.         "RoleName":"InstanceRole",
61.         "AssumeRolePolicyDocument":{
62.           "Version": "2012-10-17",		 	 	 
63.           "Statement":[
64.             {
65.               "Effect":"Allow",
66.               "Principal":{
67.                 "Service":[
68.                   "ec2.amazonaws.com"
69.                 ]
70.               },
71.               "Action":[
72.                 "sts:AssumeRole"
73.               ]
74.             }
75.           ]
76.         },
77.         "ManagedPolicyArns":[
78.           "arn:aws:iam::aws:policy/myCustomerManagedPolicy"
79.         ]
80.       }
81.     },
82.     "myInstanceProfile":{
83.       "Type":"AWS::IAM::InstanceProfile",
84.       "Properties":{
85.         "Path":"/",
86.         "Roles":[
87.           {
88.             "Ref":"myInstanceRole"
89.           }
90.         ]
91.       }
92.     }
93.   }
94. }
```

### YAML
<a name="quickref-launch-template-example-1.yaml"></a>

```
 1. ---
 2. Resources:
 3.   myLaunchTemplate:
 4.     Type: AWS::EC2::LaunchTemplate
 5.     Properties:
 6.       LaunchTemplateName: !Sub ${AWS::StackName}-launch-template
 7.       LaunchTemplateData:
 8.         ImageId: ami-02354e95b3example
 9.         InstanceType: t3.micro
10.         IamInstanceProfile:
11.           Name: !Ref myInstanceProfile
12.         SecurityGroupIds:
13.         - !Ref myNewEC2SecurityGroup
14.         - sg-083cd3bfb8example
15.         UserData:
16.           Fn::Base64: !Sub |
17.             #!/bin/bash
18.             cd /tmp
19.             yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
20.             systemctl enable amazon-ssm-agent
21.             systemctl start amazon-ssm-agent
22.         TagSpecifications:
23.         - ResourceType: instance
24.           Tags:
25.           - Key: environment
26.             Value: development
27.         - ResourceType: volume
28.           Tags:
29.           - Key: environment
30.             Value: development
31.   myInstanceRole:
32.     Type: AWS::IAM::Role
33.     Properties:
34.       RoleName: InstanceRole
35.       AssumeRolePolicyDocument:
36.         Version: '2012-10-17'
37.         Statement:
38.         - Effect: 'Allow'
39.           Principal:
40.             Service:
41.             - 'ec2.amazonaws.com'
42.           Action:
43.           - 'sts:AssumeRole'
44.       ManagedPolicyArns:
45.         - 'arn:aws:iam::aws:policy/myCustomerManagedPolicy'
46.   myInstanceProfile:
47.     Type: AWS::IAM::InstanceProfile
48.     Properties:
49.       Path: '/'
50.       Roles:
51.       - !Ref myInstanceRole
```