Menyebarkan aplikasi diAWS akun yang berbeda - AWS CodeDeploy

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

Menyebarkan aplikasi diAWS akun yang berbeda

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

Meskipun Anda mungkin melakukan pekerjaan terkait di akun yang berbeda, grup CodeDeploy penerapan, dan instans Amazon EC2 yang digunakan secara ketat terkait dengan akun tempat pembuatannya. Anda tidak dapat, misalnya, menambahkan instance yang Anda luncurkan dalam satu akun ke grup penyebaran di akun lain.

Asumsikan Anda memiliki duaAWS akun: akun pengembangan dan akun produksi Anda. Anda bekerja terutama di akun pengembangan, tetapi Anda ingin dapat memulai penyebaran 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 milik akun organisasi lain tanpa memerlukan serangkaian kredensi lengkap untuk akun lain tersebut. Anda melakukan ini, sebagian, dengan menggunakan kemampuan yang disediakan olehAWS Security Token Service (AWS STS) yang memberi Anda akses sementara ke akun tersebut.

Langkah 1: Buat bucket S3 di 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 informasi, lihat Buat Bucket di Amazon S3. Anda bahkan dapat menggunakan bucket dan revisi aplikasi yang sama untuk kedua akun, menyebarkan 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 pada 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 ini:

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

    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 informasi, lihat Contoh 2: Pemilik bucket yang memberikan izin bucket lintas akun.

    Perhatikan hal-hal berikut ini 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 menjalankan 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 produksi di mana 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 pada langkah 1. Pastikan untuk menyertakan/* setelah nama bucket Anda untuk menyediakan 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 instruksi 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 Panduan: Delegasikan akses antarAWS 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, minimal, dua kebijakan berikut yangAWS disediakan ke peran:

    • 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 penyebaran dan tidak hanya memulai penerapan, tambahkanAWSCodeDeployFullAccess kebijakan alih-alihAWSCodeDeployDeployerAccess kebijakan. Untuk informasi selengkapnya tentang cara menggunakan kebijakan yang dikelola IAM untuk memberikan izin untuk CodeDeploy tugas, lihatAWS kebijakan terkelola (standar) untuk CodeDeploy.

    Anda dapat melampirkan kebijakan tambahan jika ingin melakukan tugas diAWS 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 menggunakanAWS Management Console untuk beralih peran, Anda akan perlu untuk menyediakan salah satu dari berikut ini:

  • URL untuk mengakses akun produksi dengan kredensi 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 menggunakanAWS CLI untuk beralih peran, Anda akan perlu untuk menyediakan berikut:

  • ARN dari peran lintas akun yang akan Anda asumsikan.

Langkah 4: Unggah revisi aplikasi ke bucket Amazon S3

Di akun tempat Anda buat bucket Amazon S3:

Langkah 5: Asumsikan peran lintas akun dan terapkan aplikasi

Di akun pengembangan, Anda dapat menggunakanAWS CLI atauAWS Management Console untuk mengambil peran lintas akun dan memulai penyebaran di akun produksi.

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

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

Untuk informasi selengkapnya tentang mengasumsikan peran melaluiAWS STS, lihat AssumeRoledi PanduanAWS Security Token Service Pengguna dan assume-role di ReferensiAWS CLI Perintah.

Topik terkait: