Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sesuaikan nama peran default dengan menggunakan AWS CDK aspek dan lubang keluar
SANDEEP SINGH dan James Jacob, Amazon Web Services
Ringkasan
Pola ini menunjukkan cara menyesuaikan nama default peran yang dibuat oleh AWS Cloud Development Kit (AWS CDK) konstruksi. Menyesuaikan nama peran seringkali diperlukan jika organisasi Anda memiliki batasan khusus berdasarkan konvensi penamaan. Misalnya, organisasi Anda mungkin menetapkan batas izin AWS Identity and Access Management (IAM) atau kebijakan kontrol layanan (SCPs) yang memerlukan awalan tertentu dalam nama peran. Dalam kasus seperti itu, nama peran default yang dihasilkan oleh AWS CDK konstruksi mungkin tidak memenuhi konvensi ini dan mungkin harus diubah. Pola ini membahas persyaratan tersebut dengan menggunakan lubang keluar dan aspek di. AWS CDK Anda menggunakan escape hatch untuk menentukan nama peran kustom, dan aspek untuk menerapkan nama kustom ke semua peran, untuk memastikan kepatuhan terhadap kebijakan dan batasan organisasi Anda.
Prasyarat dan batasan
Prasyarat
Aktif Akun AWS
Batasan
Aspek memfilter sumber daya berdasarkan jenis sumber daya, sehingga semua peran memiliki awalan yang sama. Jika Anda memerlukan awalan peran yang berbeda untuk peran yang berbeda, pemfilteran tambahan berdasarkan properti lain diperlukan. Misalnya, untuk menetapkan awalan berbeda ke peran yang terkait dengan AWS Lambda fungsi, Anda dapat memfilter berdasarkan atribut atau tag peran tertentu, dan menerapkan satu awalan untuk peran terkait Lambda dan awalan yang berbeda untuk peran lain.
Nama peran IAM memiliki panjang maksimum 64 karakter, jadi nama peran yang dimodifikasi harus dipangkas untuk memenuhi batasan ini.
Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat Layanan AWS berdasarkan Wilayah
. Untuk titik akhir tertentu, lihat halaman titik akhir dan kuota Layanan, dan pilih tautan untuk layanan.
Arsitektur
Tumpukan teknologi target
AWS CDK
AWS CloudFormation
Arsitektur target

AWS CDK Aplikasi terdiri dari satu atau lebih AWS CloudFormation tumpukan, yang disintesis dan digunakan untuk mengelola sumber daya. AWS
Untuk memodifikasi properti sumber daya yang AWS CDK dikelola yang tidak diekspos oleh konstruksi layer 2 (L2), Anda menggunakan escape hatch untuk mengganti CloudFormation properti yang mendasarinya (dalam hal ini, nama peran), dan aspek untuk menerapkan peran ke semua sumber daya dalam AWS CDK aplikasi selama proses sintesis tumpukan. AWS CDK
Alat
Layanan AWS
AWS Cloud Development Kit (AWS CDK)adalah kerangka pengembangan perangkat lunak yang membantu Anda menentukan dan menyediakan AWS Cloud infrastruktur dalam kode.
AWS CDK Command Line Interface (AWS CDK CLI) (juga disebut sebagai AWS CDK Toolkit) adalah kit pengembangan cloud baris perintah yang membantu Anda berinteraksi dengan aplikasi Anda. AWS CDK
cdkPerintah CLI adalah alat utama untuk berinteraksi dengan aplikasi Anda. AWS CDK Ini menjalankan aplikasi Anda, menginterogasi model aplikasi yang Anda tentukan, dan menghasilkan serta menerapkan CloudFormation template yang dihasilkan oleh. AWS CDKAWS CloudFormationmembantu Anda menyiapkan AWS sumber daya, menyediakannya dengan cepat dan konsisten, dan mengelolanya sepanjang siklus hidupnya di seluruh Akun AWS dan Wilayah.
Repositori kode
Kode sumber dan template untuk pola ini tersedia di repositori GitHub CDK Aspects Override
Praktik terbaik
Lihat Praktik terbaik untuk menggunakan AWS CDK in TypeScript untuk membuat proyek IAc di situs web AWS Prescriptive Guidance.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Instal AWS CDK CLI. | Untuk menginstal AWS CDK CLI secara global, jalankan perintah:
| AWS DevOps |
Verifikasi versinya. | Jalankan perintah :
Konfirmasikan bahwa Anda menggunakan AWS CDK CLI versi 2. | AWS DevOps |
Bootstrap AWS CDK lingkungan. | Sebelum Anda menyebarkan AWS CloudFormation template, siapkan akun dan Wilayah AWS yang ingin Anda gunakan. Jalankan perintah :
Untuk informasi selengkapnya, lihat AWS CDK bootstrap di dokumentasi. AWS | AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Siapkan proyek. |
| AWS DevOps |
Terapkan tumpukan dengan nama peran default yang ditetapkan oleh. AWS CDK | Terapkan dua CloudFormation tumpukan (
Kode tidak secara eksplisit meneruskan properti peran, sehingga nama peran akan dibuat oleh. AWS CDK Misalnya output, lihat bagian Informasi tambahan. | AWS DevOps |
Menyebarkan tumpukan dengan aspek. | Pada langkah ini, Anda menerapkan aspek yang memberlakukan konvensi nama peran dengan menambahkan awalan ke semua peran IAM yang diterapkan dalam proyek. AWS CDK Aspek didefinisikan dalam
Misalnya output, lihat bagian Informasi tambahan. | AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Hapus AWS CloudFormation tumpukan Anda. | Setelah Anda selesai menggunakan pola ini, jalankan perintah berikut untuk membersihkan sumber daya agar tidak menimbulkan biaya tambahan:
| AWS DevOps |
Pemecahan Masalah
| Isu | Solusi |
|---|---|
Anda mengalami masalah menggunakan AWS CDK. | Lihat Memecahkan AWS CDK masalah umum dalam dokumentasi. AWS CDK |
Sumber daya terkait
Informasi tambahan
Nama peran yang dibuat oleh AWS CloudFormation tanpa aspek
Outputs: ExampleStack1WithoutAspects.Function1RoleName = example-stack1-without-as-Function1LambdaFunctionSe-y7FYTY6FXJXA ExampleStack1WithoutAspects.Function2RoleName = example-stack1-without-as-Function2LambdaFunctionSe-dDZV4rkWqWnI ... Outputs: ExampleStack2WithoutAspects.Function3RoleName = example-stack2-without-as-Function3LambdaFunctionSe-ygMv49iTyMq0
Nama peran yang dibuat oleh AWS CloudFormation dengan aspek
Outputs: ExampleStack1WithAspects.Function1RoleName = dev-unicorn-Function1LambdaFunctionServiceRole783660DC ExampleStack1WithAspects.Function2RoleName = dev-unicorn-Function2LambdaFunctionServiceRole2C391181 ... Outputs: ExampleStack2WithAspects.Function3RoleName = dev-unicorn-Function3LambdaFunctionServiceRole4CAA721C