

Ini adalah *Panduan Referensi CloudFormation Template* baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat [Panduan AWS CloudFormation Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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

# cfn-init
<a name="cfn-init"></a>

Dalam CloudFormation templat, Anda dapat menggunakan `AWS::CloudFormation::Init` `Metadata` bagian sumber daya Amazon EC2 untuk menentukan tugas inisialisasi. Untuk informasi selengkapnya, lihat [`AWS::CloudFormation::Init`](aws-resource-init.md).

Skrip `cfn-init` pembantu membaca metadata template dari `AWS::CloudFormation::Init` kunci dan bertindak sesuai dengan:
+ Ambil dan parse metadata dari CloudFormation
+ Menginstal paket
+ Menulis file ke disk
+ Layanan Enable/disable and start/stop

Skrip `cfn-init` helper biasanya dijalankan dari instans Amazon EC2 atau data pengguna template peluncuran.

*Jika Anda baru menggunakan skrip pembantu, kami sarankan Anda menyelesaikan tutorial [Deploying aplikasi di Amazon EC2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/deploying.applications.html) terlebih dahulu di Panduan Pengguna.AWS CloudFormation *

**Topics**
+ [Sintaksis](#cfn-init-Syntax)
+ [Opsi](#cfn-init-options)
+ [Contoh](#cfn-init-examples)
+ [Sumber daya terkait](#cfn-init-related-resources)

**catatan**  
Jika Anda menggunakan `cfn-init` untuk memperbarui file yang ada, itu membuat salinan cadangan dari file asli di direktori yang sama dengan ekstensi.bak. Misalnya, jika Anda memperbarui `/path/to/file_name`, tindakan tersebut menghasilkan dua file: `/path/to/file_name.bak` berisi konten file asli dan `/path/to/file_name` berisi konten yang diperbarui.

## Sintaksis
<a name="cfn-init-Syntax"></a>

```
cfn-init --stack|-s stack.name.or.id \
         --resource|-r logical.resource.id \
         --region region \
         --access-key access.key \
         --secret-key secret.key \
         --role rolename \
         --credential-file|-f credential.file \
         --configsets|-c config.sets \
         --url|-u service.url \
         --http-proxy HTTP.proxy \
         --https-proxy HTTPS.proxy \
         --verbose|-v
```

**catatan**  
`cfn-init`tidak memerlukan kredensil, jadi Anda tidak perlu menggunakan`--access-key`,, `--secret-key``--role`, atau `--credential-file` opsi. Namun, jika tidak ada kredensial yang ditentukan, CloudFormation memeriksa keanggotaan tumpukan dan membatasi cakupan panggilan ke tumpukan tempat instans berada. Untuk informasi selengkapnya, lihat [Izin untuk skrip pembantu](cfn-helper-scripts-reference.md#cfn-helper-scripts-reference-permissions).

## Opsi
<a name="cfn-init-options"></a>


| Nama | Deskripsi | Diperlukan | 
| --- | --- | --- | 
|   `-s, --stack`   |  Nama tumpukan atau ID tumpukan. *Tipe*: String *Default*: Tidak Ada *Contoh*: `--stack { "Ref" : "AWS::StackName" },`  |  Ya  | 
|   `-r, --resource `   |  ID sumber daya logis dari sumber daya yang berisi metadata. *Tipe*: String *Contoh*: `--resource WebServerHost`  |  Ya  | 
|   `--region`   |  Titik akhir CloudFormation regional untuk digunakan. *Tipe*: String *Default*: `us-east-1` *Contoh*: `--region ", { "Ref" : "AWS::Region" },`  |  Tidak  | 
|   `--access-key`   |  AWS kunci akses untuk akun dengan izin untuk `DescribeStackResource` menelepon CloudFormation. Parameter file kredensial menggantikan parameter ini. *Tipe*: String  |  Tidak  | 
|   `--secret-key`   |  AWS kunci akses rahasia yang sesuai dengan kunci AWS akses yang ditentukan. *Tipe*: String  |  Tidak  | 
|   `--role`   |  Nama peran IAM yang terkait dengan instance. *Tipe*: String Syarat: Parameter file kredensial menggantikan parameter ini.  |  Tidak  | 
|   `-f, --credential-file`   |  File yang berisi secret access key dan access key. Parameter file kredensial menggantikan parameter --peran, --access-key, dan -secret key. *Tipe*: String  |  Tidak  | 
|   `-c, --configsets`   |  Daftar konfigurasi yang dipisahkan koma untuk dijalankan (secara berurutan). *Tipe*: String *Default*: `default`  |  Tidak  | 
|   `-u, --url`   |   CloudFormation Endpoint yang akan digunakan. *Tipe*: String  |  Tidak  | 
|  `--http-proxy`  |  Proksi HTTP (bukan SSL). Gunakan format berikut: `http://user:password@host:port` *Tipe*: String  |  Tidak  | 
|  `--https-proxy`  |  Proksi HTTPS. Gunakan format berikut: `https://user:password@host:port` *Tipe*: String  |  Tidak  | 
|  `-v, --verbose`  |  Output verbose. Ini berguna untuk kasus debugging di mana gagal `cfn-init` untuk menginisialisasi.  Untuk men-debug peristiwa inisialisasi, Anda harus mengaktifkan`DisableRollback`. Anda kemudian dapat SSH ke konsol dan membaca log di`/var/log/cfn-init.log`. Untuk informasi selengkapnya, lihat [Memilih cara menangani kegagalan saat menyediakan sumber daya](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stack-failure-options.html) di *AWS CloudFormation Panduan Pengguna*.   |  Tidak  | 
| `-h, --help` | Menampilkan pesan bantuan dan keluar. |  Tidak | 

## Contoh
<a name="cfn-init-examples"></a>

### Contoh Amazon Linux
<a name="w2aac32c27c21b3"></a>

Contoh berikut menunjukkan `UserData` properti instance EC2, yang menjalankan `InstallAndRun` configset yang terkait dengan sumber daya. `WebServerInstance`

Untuk menyertakan versi terbaru, tambahkan `yum install -y aws-cfn-bootstrap` ke file`UserData`.

#### JSON
<a name="cfn-init-example.json"></a>

`UserData`properti menggunakan fungsi `Fn::Join` intrinsik.

```
{
    "UserData": {
        "Fn::Base64": {
            "Fn::Join": [
                "",
                [
                    "#!/bin/bash -xe\n",
                    "",
                    "yum install -y aws-cfn-bootstrap",
                    "/opt/aws/bin/cfn-init -v ",
                    "         --stack ",
                    {
                        "Ref": "AWS::StackName"
                    },
                    "         --resource WebServerInstance ",
                    "         --configsets InstallAndRun ",
                    "         --region ",
                    {
                        "Ref": "AWS::Region"
                    },
                    "\n"
                ]
            ]
        }
    }
}
```

#### YAML
<a name="cfn-init-example.yaml"></a>

`UserData`properti menggunakan fungsi `Fn::Sub` intrinsik.

```
UserData:
  Fn::Base64: !Sub |
    #!/bin/bash -xe
    yum update -y aws-cfn-bootstrap
    # Install the files and packages from the metadata
    /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource WebServerInstance --configsets InstallAndRun --region ${AWS::Region}
```

## Sumber daya terkait
<a name="cfn-init-related-resources"></a>

*Untuk tutorial dengan contoh template, lihat [Menerapkan aplikasi di Amazon](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/deploying.applications.html) EC2 di Panduan Pengguna AWS CloudFormation .*

*Sebagai Windows contoh, lihat [ CloudFormation Tumpukan Windows berbasis Bootstrapping](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-windows-stacks-bootstrapping.html) di Panduan Pengguna.AWS CloudFormation *

Anda juga dapat mengunjungi GitHub repositori kami untuk mengunduh [contoh templat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html#sample-templates) yang digunakan`cfn-init`, termasuk templat berikut.
+  [InstanceWithCfnInit.yaml](https://github.com/aws-cloudformation/aws-cloudformation-templates/blob/main/EC2/InstanceWithCfnInit.yaml) 
+  [AutoScalingRollingUpdates.yaml](https://github.com/aws-cloudformation/aws-cloudformation-templates/blob/main/AutoScaling/AutoScalingRollingUpdates.yaml) 

Misalnya template stack LAMP yang menggunakan`cfn-init`, lihat [ec2-lamp-server](https://github.com/aws-samples/ec2-lamp-server) di situs web. GitHub 