Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
cfn-init
Deskripsi
Skrip pembantu cfn-init membaca metadata templat dari kunci AWS::CloudFormation::Init
dan bertindak sesuai dengan:
-
Ambil dan parse metadata dari CloudFormation
-
Menginstal paket
-
Menulis file ke disk
-
Mengaktifkan/menonaktifkan dan memulai/menghentikan layanan
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 /
, tindakan tersebut menghasilkan dua file: path
/to
/file_name
/
berisi konten file asli dan path
/to
/file_name
.bak/
berisi konten yang diperbarui.path
/to
/file_name
Untuk informasi tentang metadata templat, lihat AWS::CloudFormation::Init.
catatan
cfn-init tidak memerlukan kredensional, jadi Anda tidak perlu menggunakan--access-key
,,--secret-key
, --role
atau opsi. --credential-file
Namun, jika tidak ada kredensional yang ditentukan, CloudFormation periksa keanggotaan tumpukan dan membatasi cakupan panggilan ke tumpukan tempat instance tersebut berada.
Sintaksis
cfn-init --stack|-s
stack.name.or.id
\ --resource|-rlogical.resource.id
\ --regionregion
\ --access-keyaccess.key
\ --secret-keysecret.key
\ --rolerolename
\ --credential-file|-fcredential.file
\ --configsets|-cconfig.sets
\ --url|-uservice.url
\ --http-proxyHTTP.proxy
\ --https-proxyHTTPS.proxy
\ --verbose|-v
Opsi
Nama | Deskripsi | Diperlukan |
---|---|---|
|
Nama tumpukan atau ID tumpukan. Tipe: String Default: Tidak Ada Contoh: |
Ya |
|
ID sumber daya logis dari sumber daya yang berisi metadata. Tipe: String Contoh: |
Ya |
|
Titik akhir CloudFormation regional untuk digunakan. Tipe: String Default: Contoh: |
Tidak |
|
AWS kunci akses untuk akun dengan izin untuk Tipe: String |
Tidak |
|
AWS kunci akses rahasia yang sesuai dengan kunci AWS akses yang ditentukan. Tipe: String |
Tidak |
|
Nama peran IAM yang terkait dengan instance. Tipe: String Syarat: Parameter file kredensial menggantikan parameter ini. |
Tidak |
|
File yang berisi secret access key dan access key. Parameter file kredensial menggantikan parameter --peran, --access-key, dan -secret key. Tipe: String |
Tidak |
|
Daftar konfigurasi yang dipisahkan koma untuk dijalankan (secara berurutan). Tipe: String Default: |
Tidak |
|
CloudFormation Endpoint yang akan digunakan. Tipe: String |
Tidak |
|
Proksi HTTP (bukan SSL). Gunakan format berikut: Tipe: String |
Tidak |
|
Proksi HTTPS. Gunakan format berikut: Tipe: String |
Tidak |
|
Output verbose. Ini berguna untuk men-debug kasus di mana cfn-init gagal untuk menginisialisasi. catatanUntuk men-debug peristiwa inisialisasi, Anda harus mengaktifkan DisableRollback . Anda dapat melakukan ini dengan menggunakan CloudFormation konsol, memilih Tampilkan Opsi Lanjutan, dan kemudian mengatur Rollback pada kegagalan ke No. Anda kemudian dapat SSH ke konsol dan membaca log di /var/log/cfn-init.log. |
Tidak |
|
Menampilkan pesan bantuan dan keluar. |
Tidak |
Contoh
Contoh Amazon Linux
Cuplikan berikut menunjukkan UserData
properti instance EC2, yang menjalankan InstallAndRun
configset yang terkait dengan sumber daya. WebServerInstance
Untuk contoh templat lengkap, lihat Menerapkan aplikasi di Amazon EC2 dengan AWS CloudFormation.
Untuk menyertakan versi terbaru, tambahkan yum install -y aws-cfn-bootstrap
ke fileUserData
.
JSON
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
UserData
properti menggunakan fungsi Fn::Join
intrinsik.
UserData: !Base64 'Fn::Join': - '' - - | #!/bin/bash -xe - '' - yum install -y aws-cfn-bootstrap - '/opt/aws/bin/cfn-init -v ' - ' --stack ' - !Ref 'AWS::StackName' - ' --resource WebServerInstance ' - ' --configsets InstallAndRun ' - ' --region ' - !Ref 'AWS::Region' - |+
JSON
UserData
properti menggunakan fungsi Fn::Sub
intrinsik.
{ "UserData": { "Fn::Base64": { "Fn::Sub": [ "#!/bin/bash -x\n# Install the files and packages from the metadata\n/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region}\n\n# Signal the status from cfn-init\n/opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region}\n", {} ] } } }
YAML
UserData
properti menggunakan fungsi Fn::Sub
intrinsik.
UserData: !Base64 'Fn::Sub': - > #!/bin/bash -x # Install the files and packages from the metadata /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region} # Signal the status from cfn-init /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource MyInstance --region ${AWS::Region} - {}