Buat CloudFormation template dari sumber daya yang dipindai dengan generator IAc - AWS CloudFormation

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

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

Buat template dari sumber daya yang dipindai (konsol)

Untuk membuat template tumpukan dari sumber daya yang dipindai
  1. Buka halaman generator IAC CloudFormation konsol.

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

  3. Dari bagian Template, pilih Buat template.

  4. Pilih Mulai dari template baru.

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

    2. (Opsional) Konfigurasikan kebijakan Penghapusan Anda dan Perbarui kebijakan penggantian.

    3. Pilih Berikutnya untuk menambahkan sumber daya yang dipindai ke template.

  5. 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.

  6. 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.

  7. Tinjau daftar sumber daya terkait yang direkomendasikan. Sumber daya terkait, seperti EC2 instans Amazon 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.

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

  9. Pilih Buat template untuk keluar dari halaman Review dan buat dan buat template.

Buat template dari sumber daya yang dipindai (AWS CLI)

Untuk membuat template tumpukan dari sumber daya yang dipindai
  1. Gunakan list-resource-scan-resourcesperintah 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 yang sebenarnyaARN.

    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 output. 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 ScannedResourcedi AWS CloudFormation APIReferensi.

  2. Gunakan cat perintah untuk menyimpan jenis sumber daya dan pengidentifikasi dalam JSON file 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" } } ]
  3. Gunakan perintah list-resource-scan-related-resources, 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 JSON file 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 ScannedResourcedi AWS CloudFormation APIReferensi.

    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.

  4. Gunakan create-generated-templateperintah 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" }