

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

# Buat CloudFormation template dari sumber daya yang dipindai dengan generator IAc
<a name="iac-generator-create-template-from-scanned-resources"></a>

Topik ini menjelaskan cara membuat template dari sumber daya yang dipindai menggunakan fitur generator IAc. 

## Buat template dari sumber daya yang dipindai (konsol)
<a name="create-template-from-scanned-resources-console"></a>

**Untuk membuat template tumpukan dari sumber daya yang dipindai**

1. Buka [halaman generator IAC](https://console.aws.amazon.com/cloudformation/home?#iac-generator) CloudFormation konsol.

1. Pada bilah navigasi di bagian atas layar, pilih Wilayah AWS yang berisi sumber daya yang dipindai.

1. Dari bagian **Template**, pilih **Buat template**. 

1. Pilih **Mulai dari template baru**.

   1. Untuk **nama Template**, berikan nama untuk template Anda.

   1. (Opsional) Konfigurasikan **kebijakan Penghapusan Anda dan Perbarui kebijakan** **penggantian**.

   1. Pilih **Berikutnya** untuk menambahkan sumber daya yang dipindai ke template.

1. Untuk **Tambahkan sumber daya yang dipindai**, telusuri daftar sumber daya yang dipindai dan pilih sumber daya yang ingin Anda tambahkan ke templat Anda. Anda dapat memfilter sumber daya berdasarkan pengenal sumber daya, jenis sumber daya, atau tag. Filter saling inklusif.

1. Ketika Anda telah menambahkan semua sumber daya yang diperlukan ke template Anda, pilih **Berikutnya** untuk keluar dari halaman **Tambahkan sumber daya yang dipindai** dan lanjutkan ke halaman **Tambahkan sumber daya terkait**.

1. Tinjau daftar sumber daya terkait yang direkomendasikan. Sumber daya terkait, seperti instans Amazon EC2 dan grup keamanan, saling bergantung dan biasanya termasuk dalam beban kerja yang sama. Pilih sumber daya terkait yang ingin Anda sertakan dalam template yang dihasilkan.
**catatan**  
Kami menyarankan Anda menambahkan semua sumber daya terkait ke template ini.

1. Tinjau detail template, sumber daya yang dipindai, dan sumber daya terkait. 

1. Pilih **Buat template** untuk keluar dari halaman **Review dan buat** dan buat template.

## Buat template dari sumber daya yang dipindai ()AWS CLI
<a name="create-template-from-scanned-resources-cli"></a>

**Untuk membuat template tumpukan dari sumber daya yang dipindai**

1. Gunakan [list-resource-scan-resources](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scan-resources.html)perintah untuk membuat daftar sumber daya yang ditemukan selama pemindaian, secara opsional menentukan `--resource-identifier` opsi untuk membatasi output. Untuk `--resource-scan-id` opsi, ganti sampel ARN dengan ARN yang sebenarnya.

   ```
   aws cloudformation list-resource-scan-resources \
     --resource-scan-id arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60 \
     --resource-identifier MyApp
   ```

   Berikut ini adalah contoh respon, di mana `ManagedByStack` menunjukkan apakah CloudFormation mengelola sumber daya sudah. Salin outputnya. Anda membutuhkannya untuk langkah selanjutnya.

   ```
   {
       "Resources": [
           {
               "ResourceType": "AWS::EKS::Cluster",
               "ResourceIdentifier": {
                   "ClusterName": "MyAppClusterName"
               },
               "ManagedByStack": false
           },
           {
               "ResourceType": "AWS::AutoScaling::AutoScalingGroup",
               "ResourceIdentifier": {
                   "AutoScalingGroupName": "MyAppASGName"
               },
               "ManagedByStack": false
           }
       ]
   }
   ```

   Untuk deskripsi bidang dalam output, lihat [ScannedResource](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ScannedResource.html)di *Referensi AWS CloudFormation API*.

1. Gunakan `cat` perintah untuk menyimpan jenis sumber daya dan pengidentifikasi dalam file JSON bernama `resources.json` di direktori home Anda. Berikut ini adalah contoh JSON berdasarkan contoh output pada langkah sebelumnya.

   ```
   $ cat > resources.json
   [
       {
           "ResourceType": "AWS::EKS::Cluster",
           "ResourceIdentifier": {
               "ClusterName": "MyAppClusterName"
           }
       },
       {
           "ResourceType": "AWS::AutoScaling::AutoScalingGroup",
           "ResourceIdentifier": {
               "AutoScalingGroupName": "MyAppASGName"
           }
       }
   ]
   ```

1. Gunakan perintah [list-resource-scan-related-resources](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scan-related-resources.html), bersama dengan `resources.json` file yang Anda buat, untuk membuat daftar sumber daya yang terkait dengan sumber daya yang dipindai.

   ```
   aws cloudformation list-resource-scan-related-resources \
     --resource-scan-id arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60 \
     --resources file://resources.json
   ```

   Berikut ini adalah contoh respon, di mana `ManagedByStack` menunjukkan apakah CloudFormation mengelola sumber daya sudah. Tambahkan sumber daya ini ke file JSON yang Anda buat di langkah sebelumnya. Anda akan membutuhkannya untuk membuat template Anda.

   ```
   {
       "RelatedResources": [
           {
               "ResourceType": "AWS::EKS::Nodegroup",
               "ResourceIdentifier": {
                   "NodegroupName": "MyAppNodegroupName"
               },
               "ManagedByStack": false
           },
           {
               "ResourceType": "AWS::IAM::Role",
               "ResourceIdentifier": {
                   "RoleId": "arn:aws::iam::account-id:role/MyAppIAMRole"
               },
               "ManagedByStack": false
           }
       ]
   }
   ```

   Untuk deskripsi bidang dalam output, lihat [ScannedResource](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ScannedResource.html)di *Referensi AWS CloudFormation API*.
**catatan**  
Daftar input sumber daya tidak dapat melebihi panjang 100. Untuk membuat daftar sumber daya terkait untuk lebih dari 100 sumber daya, jalankan **list-resource-scan-related-resources** perintah dalam batch 100 dan konsolidasikan hasilnya.  
Ketahuilah bahwa output mungkin berisi sumber daya duplikat dalam daftar.

1. Gunakan [create-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-generated-template.html)perintah untuk membuat template tumpukan baru, sebagai berikut, dengan modifikasi ini:
   + Ganti `us-east-1` dengan Wilayah AWS yang berisi sumber daya yang dipindai.
   + Ganti `MyTemplate` dengan nama template yang akan dibuat.

   ```
   aws cloudformation create-generated-template --region us-east-1 \
    --generated-template-name MyTemplate \
     --resources file://resources.json
   ```

   Berikut ini adalah contoh `resources.json` file.

   ```
   [
       {
           "ResourceType": "AWS::EKS::Cluster",
           "LogicalResourceId":"MyCluster",
           "ResourceIdentifier": {
               "ClusterName": "MyAppClusterName"
           }
       },
       {
           "ResourceType": "AWS::AutoScaling::AutoScalingGroup",
           "LogicalResourceId":"MyASG",
           "ResourceIdentifier": {
               "AutoScalingGroupName": "MyAppASGName"
           }
       },
       {
           "ResourceType": "AWS::EKS::Nodegroup",
           "LogicalResourceId":"MyNodegroup",
           "ResourceIdentifier": {
               "NodegroupName": "MyAppNodegroupName"
           }
       },
       {
           "ResourceType": "AWS::IAM::Role",
           "LogicalResourceId":"MyRole",
           "ResourceIdentifier": {
               "RoleId": "arn:aws::iam::account-id:role/MyAppIAMRole"
           }
       }
   ]
   ```

   Jika berhasil, perintah ini mengembalikan berikut ini.

   ```
   {
     "Arn":
       "arn:aws:cloudformation:region:account-id:generatedtemplate/7fc8512c-d8cb-4e02-b266-d39c48344e48",
     "Name": "MyTemplate"
   }
   ```