Menyebarkan aplikasi di akun yang berbeda AWS - AWS CodeDeploy

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

Menyebarkan aplikasi di akun yang berbeda AWS

Organizations umumnya memiliki beberapa AWS akun yang mereka gunakan untuk tujuan yang berbeda (misalnya, satu untuk tugas administrasi sistem dan satu lagi untuk pengembangan, pengujian, dan tugas produksi atau yang terkait dengan lingkungan pengembangan dan pengujian dan lainnya terkait dengan lingkungan produksi).

Meskipun Anda mungkin melakukan pekerjaan terkait di akun yang berbeda, grup CodeDeploy penyebaran, dan instans Amazon EC2 yang mereka gunakan terkait erat dengan akun tempat mereka dibuat. Anda tidak dapat, misalnya, menambahkan instance yang Anda luncurkan di satu akun ke grup penyebaran di akun lain.

Asumsikan Anda memiliki dua AWS akun: akun pengembangan dan akun produksi Anda. Anda bekerja terutama di akun pengembangan, tetapi Anda ingin dapat memulai penerapan di akun produksi Anda tanpa set lengkap kredensi di sana atau tanpa harus keluar dari akun pengembangan dan masuk ke akun produksi.

Setelah mengikuti langkah-langkah konfigurasi lintas akun, Anda dapat memulai penerapan yang dimiliki oleh akun organisasi Anda yang lain tanpa memerlukan set lengkap kredensional untuk akun lain tersebut. Anda melakukan ini, sebagian, dengan menggunakan kemampuan yang disediakan oleh AWS Security Token Service (AWS STS) yang memberi Anda akses sementara ke akun itu.

Langkah 1: Buat bucket S3 di salah satu akun

Baik dalam akun pengembangan atau akun produksi:

  • Jika Anda belum melakukannya, buat bucket Amazon S3 tempat revisi aplikasi untuk akun produksi akan disimpan. Untuk selengkapnya, lihat Membuat Bucket di Amazon S3. Anda bahkan dapat menggunakan bucket dan revisi aplikasi yang sama untuk kedua akun, menerapkan file yang sama ke lingkungan produksi yang Anda uji dan verifikasi di akun pengembangan Anda.

Langkah 2: Berikan izin bucket Amazon S3 ke profil instans IAM akun produksi

Jika bucket Amazon S3 yang Anda buat di langkah 1 ada di akun produksi Anda, langkah ini tidak diperlukan. Peran yang Anda asumsikan nanti sudah memiliki akses ke bucket ini karena juga ada di akun produksi.

Jika Anda membuat bucket Amazon S3 di akun pengembangan, lakukan hal berikut:

  • Di akun produksi, buat profil instans IAM. Untuk informasi, lihat Langkah 4: Buat profil instans IAM untuk instans Amazon EC2 Anda.

    catatan

    Catat ARN untuk profil instans IAM ini. Anda harus menambahkannya ke kebijakan cross-bucket yang Anda buat selanjutnya.

  • Di akun pengembangan, berikan akses ke bucket Amazon S3 yang Anda buat di akun pengembangan ke profil instans IAM yang baru saja Anda buat di akun produksi Anda. Untuk selengkapnya, lihat Contoh 2: Pemilik bucket yang memberikan izin bucket lintas akun.

    Perhatikan hal-hal berikut saat Anda menyelesaikan proses pemberian izin bucket lintas akun:

    • Dalam contoh panduan, Akun A mewakili akun pengembangan Anda dan Akun B mewakili akun produksi Anda.

    • Saat Anda melakukan tugas Akun A (akun pengembangan), ubah kebijakan bucket berikut untuk memberikan izin lintas akun alih-alih menggunakan kebijakan sampel yang disediakan dalam panduan.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Cross-account permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/role-name" }, "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::bucket-name/*" ] } ] }

      account-id mewakili nomor akun dari akun produksi tempat Anda baru saja membuat profil instans IAM.

      role-name mewakili nama profil instans IAM yang baru saja Anda buat.

      bucket-name mewakili nama bucket yang Anda buat di langkah 1. Pastikan untuk menyertakan /* nama bucket Anda untuk memberikan akses ke setiap file di dalam bucket.

Langkah 3: Buat sumber daya dan peran lintas akun di akun produksi

Di akun produksi Anda:

  • Buat CodeDeploy sumber daya Anda — aplikasi, grup penerapan, konfigurasi penerapan, instans Amazon EC2, profil instans Amazon EC2, peran layanan, dan sebagainya — menggunakan petunjuk dalam panduan ini.

  • Buat peran tambahan, peran IAM lintas akun, yang dapat diasumsikan oleh pengguna di akun pengembangan Anda untuk melakukan CodeDeploy operasi di akun produksi ini.

    Gunakan Walkthrough: Delegasikan akses di seluruh AWS akun menggunakan peran IAM sebagai panduan untuk membantu Anda membuat peran lintas akun. Alih-alih menambahkan izin sampel dalam panduan ke dokumen kebijakan Anda, Anda harus melampirkan, setidaknya, dua kebijakan yang AWS diberikan berikut ke peran tersebut:

    • AmazonS3FullAccess: Diperlukan hanya jika bucket S3 ada di akun pengembangan. Menyediakan peran akun produksi yang diasumsikan dengan akses penuh ke layanan dan sumber daya Amazon S3 di akun pengembangan, tempat revisi disimpan.

    • AWSCodeDeployDeployerAccess: Memungkinkan pengguna untuk mendaftar dan menyebarkan revisi.

    Jika Anda ingin membuat dan mengelola grup penerapan dan tidak hanya memulai penerapan, tambahkan AWSCodeDeployFullAccess kebijakan sebagai ganti kebijakan. AWSCodeDeployDeployerAccess Untuk informasi selengkapnya tentang menggunakan kebijakan terkelola IAM guna memberikan izin CodeDeploy tugas, lihat. AWS kebijakan terkelola (standar) untuk CodeDeploy

    Anda dapat melampirkan kebijakan tambahan jika ingin melakukan tugas di AWS layanan lain saat menggunakan peran lintas akun ini.

penting

Saat Anda membuat peran IAM lintas akun, catat detail yang Anda perlukan untuk mendapatkan akses ke akun produksi.

Untuk menggunakan AWS Management Console untuk beralih peran, Anda harus menyediakan salah satu dari berikut ini:

  • URL untuk mengakses akun produksi dengan kredenal peran yang diasumsikan. Anda akan menemukan URL di halaman Ulasan, yang ditampilkan di akhir proses pembuatan peran lintas akun.

  • Nama peran lintas akun dan nomor ID akun atau alias.

Untuk menggunakan AWS CLI untuk beralih peran, Anda harus menyediakan yang berikut:

  • ARN dari peran lintas akun yang akan Anda asumsikan.

Langkah 4: Unggah revisi aplikasi ke bucket Amazon S3

Di akun tempat Anda membuat bucket Amazon S3:

Langkah 5: Asumsikan peran lintas akun dan gunakan aplikasi

Di akun pengembangan, Anda dapat menggunakan AWS CLI atau AWS Management Console untuk mengambil peran lintas akun dan memulai penyebaran di akun produksi.

Untuk petunjuk tentang cara menggunakan AWS Management Console untuk beralih peran dan memulai penerapan, lihat Beralih ke role ()AWS Management Console dan. Membuat penerapan Platform Komputasi EC2/Lokal (konsol)

Untuk petunjuk tentang cara menggunakan peran lintas-akun dan memulai penerapan, lihat Beralih ke peran IAM () dan. AWS CLI AWS Command Line InterfaceMembuat penerapan Platform Komputasi EC2/Lokal (CLI)

Untuk informasi selengkapnya tentang mengasumsikan peran AWS STS, lihat AssumeRoledi Panduan AWS Security Token Service Pengguna dan peran asumsi di Referensi Perintah.AWS CLI

Topik terkait: