AWS CloudFormation konsep - AWS CloudFormation

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

AWS CloudFormation konsep

Saat Anda menggunakan AWS CloudFormation, Anda bekerja dengan templat dan tumpukan. Anda membuat template untuk menggambarkan AWS sumber daya Anda dan propertinya. Setiap kali Anda membuat tumpukan CloudFormation , berikan sumber daya yang dijelaskan dalam template Anda.

Template

CloudFormation Template adalah file teks berformat JSON atau YAMB. Anda dapat menyimpan file-file ini dengan ekstensi apa pun, seperti.json,.yaml,.template, atau.txt. CloudFormation menggunakan template ini sebagai cetak biru untuk membangun sumber daya Anda. AWS Misalnya, dalam template, Anda dapat menjelaskan instans Amazon EC2, seperti jenis instans, ID AMI, pemetaan perangkat blok, dan nama key pair Amazon EC2-nya. Setiap kali Anda membuat tumpukan, Anda juga menentukan template yang CloudFormation digunakan untuk membuat apa pun yang Anda jelaskan dalam template.

Misalnya, jika Anda membuat tumpukan dengan template berikut, berikan CloudFormation instance dengan ID ami-0ff8a91507f77f867 AMI, jenis t2.micro instance, nama testkey key pair, dan volume Amazon EBS.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "A sample template", "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Description: A sample template Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20

Anda juga dapat menentukan beberapa sumber daya dalam satu templat dan mengkonfigurasi sumber daya ini untuk bekerja sama. Misalnya, Anda dapat memodifikasi template sebelumnya untuk menyertakan alamat IP Elastis (EIP) dan mengaitkannya dengan instans Amazon EC2, seperti yang ditunjukkan pada contoh berikut:

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "A sample template", "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } }, "MyEIP": { "Type": "AWS::EC2::EIP", "Properties": { "InstanceId": { "Ref": "MyEC2Instance" } } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Description: A sample template Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20 MyEIP: Type: 'AWS::EC2::EIP' Properties: InstanceId: !Ref MyEC2Instance

Template sebelumnya berpusat di sekitar satu instans Amazon EC2; namun CloudFormation, template memiliki kemampuan tambahan yang dapat Anda gunakan untuk membangun kumpulan sumber daya yang kompleks dan menggunakan kembali template tersebut dalam berbagai konteks. Misalnya, Anda dapat menambahkan parameter input yang nilainya ditentukan saat Anda membuat CloudFormation tumpukan. Dengan kata lain, Anda dapat menentukan nilai seperti tipe instans ketika Anda membuat tumpukan bukan ketika Anda membuat templat, membuat templat lebih mudah untuk digunakan kembali dalam situasi yang berbeda.

Untuk informasi selengkapnya tentang pembuatan dan kemampuan templat, lihat Anatomi templat.

Untuk informasi selengkapnya tentang menyatakan sumber daya tertentu, lihat AWS referensi jenis sumber daya dan properti.

Untuk mulai mendesain template Anda sendiri dengan AWS CloudFormation Designer, buka https://console.aws.amazon.com/cloudformation/designer.

Tumpukan

Saat Anda menggunakan CloudFormation, Anda mengelola sumber daya terkait sebagai satu unit yang disebut tumpukan. Anda membuat, memperbarui, dan menghapus kumpulan sumber daya dengan membuat, memperbarui, dan menghapus tumpukan. Semua sumber daya dalam tumpukan ditentukan oleh CloudFormation template stack. Misalkan Anda membuat template yang menyertakan grup Auto Scaling, penyeimbang beban Elastic Load Balancing, dan instance database Amazon Relational Database Service (Amazon RDS). Untuk membuat sumber daya tersebut, Anda membuat tumpukan dengan mengirimkan template yang Anda buat, dan CloudFormation menyediakan semua sumber daya tersebut untuk Anda. Anda dapat bekerja dengan tumpukan menggunakan CloudFormation konsol, API, atau AWS CLI.

Untuk informasi selengkapnya tentang membuat, memperbarui, atau menghapus tumpukan, lihat Menggunakan tumpukan.

Ubah set

Jika Anda perlu mengubah sumber daya yang sedang berjalan dalam tumpukan, Anda memperbarui tumpukan. Sebelum membuat perubahan pada sumber daya Anda, Anda dapat membuat kumpulan perubahan, yang merupakan ringkasan perubahan yang Anda ajukan. Set perubahan memungkinkan Anda melihat bagaimana perubahan dapat mempengaruhi sumber daya yang sedang berjalan, terutama untuk sumber daya kritis, sebelum menerapkannya.

Misalnya, jika Anda mengubah nama instance database Amazon RDS, CloudFormation akan membuat database baru dan menghapus yang lama. Anda akan kehilangan data dalam basis data lama kecuali Anda sudah mencadangkan itu. Jika Anda membuat set perubahan, Anda akan melihat bahwa perubahan Anda akan menyebabkan basis data Anda diganti, dan Anda akan dapat menyesuaikan rencana sebelum Anda memperbarui tumpukan Anda. Untuk informasi selengkapnya, lihat Memperbarui tumpukan menggunakan set perubahan.