AWS CloudFormation referensi properti konfigurasi - AWS CloudFormation

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

AWS CloudFormation referensi properti konfigurasi

Saat Anda membangun CodePipeline pipeline, Anda menambahkan Deploy tindakan ke pipeline dengan AWS CloudFormation sebagai penyedia. Anda kemudian harus menentukan AWS CloudFormation tindakan mana yang dipanggil pipeline dan pengaturan tindakan. Topik ini menjelaskan properti konfigurasi AWS CloudFormation . Untuk menentukan properti, Anda dapat menggunakan CodePipeline konsol, atau Anda dapat membuat JSON objek yang akan digunakan untuk AWS CLI, CodePipeline API, atau AWS CloudFormation templat.

Properti konfigurasi (konsol)

CodePipeline Konsol menampilkan properti konfigurasi dan menunjukkan properti yang diperlukan berdasarkan mode tindakan yang Anda pilih.

catatan

Bila Anda membuat alur, Anda dapat menentukan mode aksi Membuat atau memperbarui tumpukan atau Membuat atau mengganti satu set perubahan saja. Properti di bagian Lanjutan tersedia hanya ketika Anda mengedit alur.

Mode aksi

AWS CloudFormation Tindakan yang CodePipeline dipanggil saat memproses tahap terkait. Pilih salah satu mode tindakan berikut ini:

  • Membuat atau mengganti satu set perubahan membuat set perubahan jika tidak ada berdasarkan nama tumpukan dan template yang Anda kirimkan. Jika set perubahan ada, AWS CloudFormation menghapusnya, dan kemudian membuat yang baru.

  • Membuat atau memperbarui tumpukan membuat tumpukan jika tumpukan yang ditentukan tidak ada. Jika tumpukan ada, AWS CloudFormation perbarui tumpukan. Gunakan tindakan ini untuk memperbarui tumpukan yang ada. CodePipeline tidak akan menggantikan tumpukan.

  • Menghapus tumpukan akan menghapus tumpukan. Jika Anda menentukan tumpukan yang tidak ada, tindakan berhasil diselesaikan tanpa menghapus tumpukan.

  • Mengeksekusi set perubahan akan mengeksekusi satu set perubahan.

  • Ganti tumpukan gagal membuat tumpukan jika tumpukan yang ditentukan tidak ada. Jika tumpukan ada dan dalam keadaan gagal (dilaporkan sebagaiROLLBACK_COMPLETE,, ROLLBACK_FAILEDCREATE_FAILED,DELETE_FAILED, atauUPDATE_ROLLBACK_FAILED), AWS CloudFormation menghapus tumpukan dan kemudian membuat yang baru. Jika tumpukan tidak dalam keadaan gagal, AWS CloudFormation perbarui. Gunakan tindakan ini untuk mengganti tumpukan yang gagal tanpa memulihkan atau memecahkan masalahnya. Anda biasanya akan memilih mode ini untuk pengujian.

Nama tumpukan

Nama yang terkait dengan tumpukan yang ada atau tumpukan yang ingin Anda buat. Nama harus unik di AWS Wilayah tempat Anda membuat tumpukan.

catatan

Nama tumpukan hanya dapat berisi karakter alfanumerik (peka huruf besar dan kecil) dan tanda hubung. Nama itu harus dimulai dengan karakter abjad dan tidak boleh lebih dari 128 karakter.

Ubah nama set

Nama set perubahan yang ada atau set perubahan baru yang ingin Anda buat untuk tumpukan tertentu.

Template

Lokasi file AWS CloudFormation template, yang mengikuti formatArtifactName::TemplateFileName.

Konfigurasi template

Lokasi file konfigurasi template, yang mengikuti format ArtifactName::TemplateConfigurationFileName. File konfigurasi templat dapat berisi nilai parameter templat, kebijakan tumpukan, dan tag. Jika Anda menyertakan informasi sensitif, seperti kata sandi, batasi akses ke file ini. Untuk informasi selengkapnya, lihat AWS CloudFormation artefak.

Kemampuan

Untuk tumpukan yang berisi sumber daya tertentu, pengakuan eksplisit yang AWS CloudFormation mungkin membuat atau memperbarui sumber daya tersebut. Misalnya, Anda harus menentukan CAPABILITY_IAM jika templat tumpukan Anda berisi sumber daya AWS Identity and Access Management (IAM). Untuk informasi selengkapnya, silakan lihat CreateStackAPIparameter permintaan operasi.

Jika Anda memiliki sumber daya IAM dalam templat tumpukan, Anda harus menentukan properti ini.

Anda dapat menentukan lebih dari satu kemampuan.

Nama peran

Nama peran IAM layanan yang AWS CloudFormation mengasumsikan ketika beroperasi pada sumber daya dalam tumpukan yang ditentukan.

Nama berkas keluaran

Di bagian Lanjutan, Anda dapat menentukan nama file keluaran, sepertiCreateStackOutput.json, yang CodePipeline menambah artefak keluaran setelah melakukan tindakan yang ditentukan. Artefak keluaran berisi JSON file dengan isi Outputs bagian AWS CloudFormation template.

Jika Anda tidak menentukan nama, CodePipeline tidak menghasilkan artefak keluaran.

Penggantian parameter

Parameter ditetapkan di templat Anda dan memungkinkan Anda untuk memasukkan nilai kustom saat membuat atau memperbarui tumpukan. Anda dapat menentukan JSON objek yang mengganti nilai parameter template dalam file konfigurasi template. Semua nama parameter harus ada dalam templat tumpukan. Untuk informasi selengkapnya, lihat CloudFormation template Parameters sintaksis.

catatan

Ada batas ukuran maksimum 1 kilobyte untuk JSON objek yang dapat disimpan di ParameterOverrides properti.

Kami merekomendasikan agar Anda menggunakan file konfigurasi templat untuk menentukan sebagian besar nilai parameter Anda. Gunakan penimpaan parameter untuk menentukan hanya nilai parameter dinamis. Parameter dinamis tidak diketahui sebelum Anda menjalankan alur.

Contoh berikut menetapkan nilai untuk parameter ParameterName menggunakan fungsi penimpaan parameter. Fungsi mengambil nilai dari artefak CodePipeline input. Untuk informasi lebih lanjut tentang fungsi penimpaan parameter, lihat Menggunakan fungsi penggantian parameter dengan saluran pipa CodePipeline .

{ "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]} }

Properti konfigurasi (JSONobjek)

Bila Anda menentukan CloudFormation sebagai penyedia untuk tindakan tahap, menentukan properti berikut di properti Configuration. Gunakan JSON objek untuk AWS CLI, CodePipelineAPI, atau AWS CloudFormation template. Sebagai contoh, lihat Panduan: Membangun alur untuk tumpukan uji dan produksi dan AWS CloudFormation referensi properti konfigurasi.

ActionMode

AWS CloudFormation Tindakan yang CodePipeline dipanggil ketika memproses tahap terkait. Tentukan hanya salah satu mode tindakan berikut:

  • CHANGE_SET_EXECUTE mengeksekusi set perubahan.

  • CHANGE_SET_REPLACE membuat set perubahan, jika tidak ada, berdasarkan nama tumpukan dan templat yang Anda kirimkan. Jika set perubahan ada, AWS CloudFormation menghapusnya, dan kemudian membuat yang baru.

  • CREATE_UPDATE membuat tumpukan jika tumpukan yang ditentukan tidak ada. Jika tumpukan ada, AWS CloudFormation akan memperbarui tumpukan. Gunakan tindakan ini untuk memperbarui tumpukan yang ada. CodePipeline tidak akan menggantikan tumpukan.

  • DELETE_ONLY akan menghapus tumpukan. Jika Anda menentukan tumpukan yang tidak ada, tindakan berhasil diselesaikan tanpa menghapus tumpukan.

  • REPLACE_ON_FAILURE membuat tumpukan, jika tumpukan yang ditentukan tidak ada. Jika tumpukan ada dan dalam keadaan gagal (dilaporkan sebagaiROLLBACK_COMPLETE,,ROLLBACK_FAILED, CREATE_FAILEDDELETE_FAILED, atauUPDATE_ROLLBACK_FAILED), AWS CloudFormation menghapus tumpukan dan kemudian membuat tumpukan baru. Jika tumpukan tidak dalam keadaan gagal, AWS CloudFormation perbarui. Gunakan tindakan ini untuk secara otomatis mengganti tumpukan yang gagal tanpa memulihkan atau memecahkan masalahnya. Anda biasanya akan memilih mode ini untuk pengujian.

Properti ini diperlukan.

Capabilities

Untuk tumpukan yang berisi sumber daya tertentu, pengakuan eksplisit yang AWS CloudFormation mungkin membuat atau memperbarui sumber daya tersebut. Misalnya, Anda harus menentukan CAPABILITY_IAM jika templat tumpukan Anda berisi sumber daya AWS Identity and Access Management (IAM). Untuk informasi selengkapnya, silakan lihat CreateStackAPIparameter permintaan operasi.

Properti ini bersyarat. Jika Anda memiliki sumber daya IAM dalam templat tumpukan, Anda harus menentukan properti ini.

Anda dapat menentukan beberapa kemampuan. Contoh berikut menambahkan CAPABILITY_IAM dan CAPABILITY_AUTO_EXPAND properti ke template:

YAML
configuration: ActionMode: CHANGE_SET_REPLACE Capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND ChangeSetName: pipeline-changeset RoleArn: CloudFormation_Role_ARN StackName: my-pipeline-stack TemplateConfiguration: 'my-pipeline-stack::template-configuration.json' TemplatePath: 'my-pipeline-stack::template-export.yml'
JSON
"configuration": { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "pipeline-changeset", "RoleArn": "CloudFormation_Role_ARN", "StackName": "my-pipeline-stack", "TemplateConfiguration": "my-pipeline-stack::template-configuration.json", "TemplatePath": "my-pipeline-stack::template-export.yml" }
ChangeSetName

Nama set perubahan yang ada atau set perubahan baru yang ingin Anda buat untuk tumpukan tertentu.

Properti ini diperlukan untuk mode tindakan berikut: CHANGE_SET_REPLACE dan CHANGE_SET_EXECUTE. Untuk semua mode tindakan lainnya, properti ini diabaikan.

OutputFileName

Sebuah nama untuk file output, sepertiCreateStackOutput.json. CodePipeline menambahkan file ke artefak output setelah melakukan tindakan yang ditentukan. Artefak keluaran berisi JSON file dengan isi Outputs bagian AWS CloudFormation template.

Properti ini adalah opsional. Jika Anda tidak menentukan nama, CodePipeline tidak menghasilkan artefak keluaran.

ParameterOverrides

Parameter ditetapkan di templat Anda dan memungkinkan Anda untuk memasukkan nilai kustom saat membuat atau memperbarui tumpukan. Anda dapat menentukan JSON objek yang mengganti nilai parameter template dalam file konfigurasi template. Semua nama parameter harus ada dalam templat tumpukan. Untuk informasi selengkapnya, lihat CloudFormation template Parameters sintaksis.

Contoh berikut menambahkan penimpaan parameter InstanceType dan KeyName ke templat:

YAML
configuration: ActionMode: CHANGE_SET_REPLACE Capabilities: CAPABILITY_NAMED_IAM ChangeSetName: pipeline-changeset ParameterOverrides: '{"InstanceType": "t2.small","KeyName": "my-keypair"}' RoleArn: CloudFormation_Role_ARN StackName: my-pipeline-stack TemplateConfiguration: 'my-pipeline-stack::template-configuration.json' TemplatePath: 'my-pipeline-stack::template-export.yml'
JSON
"configuration": { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM", "ChangeSetName": "pipeline-changeset", "ParameterOverrides": "{\"InstanceType\": \"t2.small\",\"KeyName\": \"my-keypair\"}", "RoleArn": "CloudFormation_Role_ARN", "StackName": "my-pipeline-stack", "TemplateConfiguration": "my-pipeline-stack::template-configuration.json", "TemplatePath": "my-pipeline-stack::template-export.yml" }
catatan

Ukuran maksimum untuk JSON objek yang dapat disimpan di ParameterOverrides properti adalah 1 kilobyte.

Kami merekomendasikan agar Anda menggunakan file konfigurasi templat untuk menentukan sebagian besar nilai parameter Anda. Gunakan penimpaan parameter untuk menentukan hanya nilai parameter dinamis. Nilai parameter dinamis tidak diketahui sampai Anda menjalankan alur.

Contoh berikut menetapkan nilai untuk parameter ParameterName menggunakan fungsi penimpaan parameter. Fungsi mengambil nilai dari artefak CodePipeline input. Untuk informasi lebih lanjut tentang fungsi penimpaan parameter, lihat Menggunakan fungsi penggantian parameter dengan saluran pipa CodePipeline .

{ "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]} }

Properti ini adalah opsional.

RoleArn

Amazon Resource Name (ARN) dari peran IAM layanan yang AWS CloudFormation diasumsikan saat beroperasi pada sumber daya dalam tumpukan.

Properti ini diperlukan untuk mode tindakan berikut: CREATE_UPDATE, REPLACE_ON_FAILURE, DELETE_ONLY, dan CHANGE_SET_REPLACE. RoleArn tidak diterapkan ketika mengeksekusi set perubahan. Jika Anda tidak menggunakan CodePipeline untuk membuat set perubahan, pastikan bahwa set perubahan atau tumpukan memiliki peran terkait.

StackName

Nama tumpukan yang ada atau tumpukan yang ingin Anda buat.

Properti ini diperlukan untuk semua mode tindakan.

TemplateConfiguration

TemplateConfiguration adalah file konfigurasi templat. Anda menyertakan file dalam artefak input untuk tindakan ini. Nama file konfigurasi template mengikuti format ini:

Artifactname::TemplateConfigurationFileName

Artifactnameadalah nama artefak input seperti yang muncul di CodePipeline. Sebagai contoh, tahap sumber dengan nama artefak SourceArtifact dan nama file test-configuration.json membuat nama TemplateConfiguration seperti yang ditunjukkan dalam contoh ini:

"TemplateConfiguration": "SourceArtifact::test-configuration.json"

File konfigurasi templat dapat berisi nilai parameter template dan kebijakan tumpukan. Jika Anda menyertakan informasi sensitif, seperti kata sandi, batasi akses ke file ini. Untuk contoh file konfigurasi template, lihatAWS CloudFormation artefak.

Properti ini adalah opsional.

TemplatePath

TemplatePathmewakili file AWS CloudFormation template. Anda menyertakan file dalam artefak input untuk tindakan ini. Nama file mengikuti format ini:

Artifactname::TemplateFileName

Artifactnameadalah nama artefak input seperti yang muncul di CodePipeline. Sebagai contoh, tahap sumber dengan nama artefak SourceArtifact dan nama file template.yaml membuat nama TemplatePath seperti yang ditunjukkan dalam contoh ini:

"TemplatePath": "SourceArtifact::template.yaml"

Properti ini diperlukan untuk mode tindakan berikut: CREATE_UPDATE, REPLACE_ON_FAILURE, dan CHANGE_SET_REPLACE. Untuk semua mode tindakan lainnya, properti ini diabaikan.

Lihat juga

Sumber daya terkait berikut dapat membantu Anda saat menggunakan parameter ini.