Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Dapatkan output yang diekspor dari tumpukan yang diterapkan CloudFormation
Jika Anda memiliki beberapa tumpukan di area yang sama Akun AWS dan Region, Anda mungkin ingin berbagi informasi di antara mereka. Ini berguna ketika satu tumpukan perlu menggunakan sumber daya yang dibuat oleh tumpukan lain.
Misalnya, Anda mungkin memiliki satu tumpukan yang membuat sumber daya jaringan, seperti subnet dan grup keamanan, untuk server web Anda. Tumpukan lain yang membuat server web yang sebenarnya kemudian dapat menggunakan sumber daya jaringan yang dibuat oleh tumpukan pertama. Anda tidak perlu membuat sumber daya kode keras IDs di template tumpukan atau meneruskannya IDs sebagai parameter input.
Untuk berbagi informasi antar tumpukan, Anda mengekspor nilai keluaran dari satu tumpukan dan mengimpornya ke tumpukan lain. Begini cara kerjanya:
-
Di template tumpukan pertama (misalnya, tumpukan jaringan), Anda menentukan nilai tertentu untuk ekspor dengan menggunakan
Export
bidang diOutputs
bagian tersebut. Untuk informasi selengkapnya, lihat Outputs referensi sintaks bagian untuk template CloudFormation . -
Saat Anda membuat atau memperbarui tumpukan itu, CloudFormation ekspor nilai output, membuatnya tersedia untuk tumpukan lain di wilayah Akun AWS dan yang sama.
-
Di template tumpukan lain, Anda menggunakan Fn::ImportValueberfungsi untuk mengimpor nilai yang diekspor dari tumpukan pertama.
-
Saat Anda membuat atau memperbarui tumpukan kedua (misalnya, tumpukan server web), CloudFormation secara otomatis mengambil nilai yang diekspor dari tumpukan pertama dan menggunakannya.
Untuk panduan dan contoh templat, lihat Lihat output sumber daya di tumpukan lain CloudFormation.
Mengekspor nilai output tumpukan versus menggunakan tumpukan bersarang
Tumpukan bersarang adalah tumpukan yang Anda buat dalam tumpukan lain dengan menggunakan AWS::CloudFormation::Stack
sumber daya. Dengan tumpukan nest, Anda men-deploy dan mengelola semua sumber daya dari tumpukan tunggal. Anda dapat menggunakan output dari satu tumpukan dalam grup tumpukan nest sebagai input ke tumpukan lain dalam grup tersebut. Ini berbeda dari mengekspor nilai.
Jika Anda ingin mengisolasi berbagi informasi untuk dalam grup tumpukan nest, kami merekomendasikan Anda untuk menggunakan tumpukan nest. Untuk berbagi informasi dengan tumpukan lain (tidak hanya dalam grup tumpukan nest), ekspor nilai. Misalnya, Anda dapat membuat satu tumpukan dengan subnet dan kemudian mengekspor ID nya. Tumpukan lain dapat menggunakan subnet itu dengan mengimpor ID-nya. Setiap tumpukan tidak perlu membuat subnetnya sendiri. Selama tumpukan mengimpor ID subnet, Anda tidak dapat mengubah atau menghapusnya.
Untuk informasi lebih lanjut tentang tumpukan bersarang, lihat. Sematkan tumpukan dalam tumpukan lain menggunakan tumpukan bersarang
Pertimbangan
Pembatasan berikut berlaku untuk referensi cross-stack:
-
Untuk masing-masing Akun AWS,
Export
nama harus unik dalam suatu Wilayah. -
Anda tidak dapat membuat referensi cross-stack di seluruh Wilayah. Anda dapat menggunakan fungsi intrinsik
Fn::ImportValue
untuk mengimpor hanya nilai yang telah diekspor dalam Wilayah yang sama. -
Untuk output, nilai
Name
properti tidakExport
dapat digunakanRef
atauGetAtt
fungsi yang bergantung pada sumber daya.Demikian pula,
ImportValue
fungsi tidak dapat menyertakanRef
atauGetAtt
fungsi yang bergantung pada sumber daya. -
Setelah tumpukan lain mengimpor nilai output, Anda tidak dapat menghapus tumpukan yang mengekspor nilai output atau memodifikasi nilai output yang diekspor. Semua impor harus dihapus sebelum Anda dapat menghapus tumpukan ekspor atau mengubah nilai output.
Mencantumkan nilai output yang diekspor
Jika Anda perlu melihat nilai output yang diekspor dari tumpukan Anda, gunakan salah satu metode berikut:
Untuk mencantumkan nilai output yang diekspor (konsol)
-
Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Pada bilah navigasi di bagian atas layar, pilih Anda Wilayah AWS.
-
Dari panel navigasi kiri, pilih Ekspor.
Untuk mencantumkan nilai output yang diekspor (AWS CLI)
Gunakan yang berikut ini list-exportsperintah. Ganti us-east-1
dengan Anda Wilayah AWS.
aws cloudformation list-exports --region
us-east-1
Berikut ini adalah output contoh.
{
"Exports": [
{
"ExportingStackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/private-vpc/99764070-b56c-xmpl-bee8-062a88d1d800",
"Name": "private-vpc-subnet-a",
"Value": "subnet-07b410xmplddcfa03"
},
{
"ExportingStackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/private-vpc/99764070-b56c-xmpl-bee8-062a88d1d800",
"Name": "private-vpc-subnet-b",
"Value": "subnet-075ed3xmplebd2fb1"
},
{
"ExportingStackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/private-vpc/99764070-b56c-xmpl-bee8-062a88d1d800",
"Name": "private-vpc-vpcid",
"Value": "vpc-011d7xmpl100e9841"
}
]
}
CloudFormation menunjukkan nama dan nilai output yang diekspor untuk wilayah saat ini dan tumpukan tempat mereka diekspor. Untuk menggunakan nilai output yang diekspor di template tumpukan lain, Anda dapat mereferensikannya menggunakan nama ekspor dan Fn::ImportValuefungsi.
Pencantuman tumpukan yang mengimpor nilai output yang diekspor
Untuk menghapus atau mengubah nilai output yang diekspor, Anda harus terlebih dahulu mengetahui tumpukan mana yang mengimpornya.
Untuk melihat tumpukan yang mengimpor nilai output yang diekspor, gunakan salah satu metode berikut:
Untuk mencantumkan tumpukan yang mengimpor nilai output yang diekspor (konsol)
-
Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Dari panel navigasi kiri, pilih Ekspor.
-
Untuk melihat tumpukan mana yang mengimpor nilai ekspor tertentu, pilih Nama Ekspor untuk nilai ekspor tersebut. CloudFormation menampilkan halaman detail ekspor, yang mencantumkan semua tumpukan yang mengimpor nilai.
Untuk mencantumkan tumpukan yang mengimpor nilai output yang diekspor (AWS CLI)
Gunakan list-importsperintah. Ganti us-east-1
dengan Anda Wilayah AWS dan
dengan nama nilai output yang diekspor.private-vpc-vpcid
aws cloudformation list-imports --region
us-east-1
\ --export-nameprivate-vpc-vpcid
CloudFormation mengembalikan daftar tumpukan yang mengimpor nilai.
{
"Imports": [
"my-app-stack"
]
}
Setelah Anda mengetahui tumpukan mana yang mengimpor nilai ekspor tertentu, Anda perlu memodifikasi tumpukan tersebut untuk menghapus Fn::ImportValuefungsi yang mereferensikan nilai output. Anda harus menghapus semua impor yang mereferensikan nilai output yang diekspor sebelum Anda dapat menghapus atau mengubah nilai output yang diekspor.