Gunakan AWS CodeBuild dengan Amazon Virtual Private Cloud - AWS CodeBuild

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

Gunakan AWS CodeBuild dengan Amazon Virtual Private Cloud

Biasanya, AWS CodeBuild tidak dapat mengakses sumber daya dalam VPC. Untuk mengaktifkan akses, Anda harus memberikan informasi konfigurasi khusus VPC tambahan dalam konfigurasi proyek Anda CodeBuild . Ini termasuk ID VPC, ID subnet VPC, dan ID grup keamanan VPC. Build berkemampuan VPC kemudian dapat mengakses sumber daya di dalam VPC Anda. Untuk informasi selengkapnya tentang menyiapkan VPC di Amazon VPC, lihat Panduan Pengguna Amazon VPC.

Kasus penggunaan

Konektivitas VPC dari AWS CodeBuild build memungkinkan untuk:

  • Jalankan pengujian integrasi dari build Anda terhadap data dalam database Amazon RDS yang terisolasi di subnet pribadi.

  • Kueri data di ElastiCache klaster Amazon langsung dari pengujian.

  • Berinteraksi dengan layanan web internal yang dihosting di Amazon EC2, Amazon ECS, atau layanan yang menggunakan Elastic Load Balancing internal.

  • Ambil dependensi dari repositori artefak internal yang dihosting sendiri, seperti PyPI untuk Python, Maven untuk Java, dan npm untuk Node.js.

  • Akses objek dalam bucket S3 yang dikonfigurasi untuk mengizinkan akses melalui titik akhir VPC Amazon saja.

  • Kueri layanan web eksternal yang memerlukan alamat IP tetap melalui alamat IP Elastis dari gateway NAT atau instance NAT yang terkait dengan subnet Anda.

Build Anda dapat mengakses sumber daya apa pun yang di-host di VPC Anda.

Mengizinkan akses Amazon VPC di proyek Anda CodeBuild

Sertakan pengaturan ini dalam konfigurasi VPC Anda:

  • Untuk ID VPC, pilih ID VPC yang digunakan. CodeBuild

  • Untuk Subnet, pilih subnet pribadi dengan terjemahan NAT yang mencakup atau memiliki rute ke sumber daya yang digunakan oleh. CodeBuild

  • Untuk Grup Keamanan, pilih grup keamanan yang CodeBuild digunakan untuk memungkinkan akses ke sumber daya di VPC.

Untuk menggunakan konsol untuk membuat proyek build, lihatBuat proyek build (konsol). Saat Anda membuat atau mengubah CodeBuild proyek, di VPC, pilih ID VPC, subnet, dan grup keamanan Anda.

Untuk menggunakan AWS CLI untuk membuat proyek build, lihatBuat proyek build (AWS CLI). Jika Anda menggunakan AWS CLI with CodeBuild, peran layanan yang digunakan oleh CodeBuild untuk berinteraksi dengan layanan atas nama pengguna IAM harus memiliki kebijakan yang dilampirkan. Untuk informasi, lihat Izinkan CodeBuild akses ke AWS layanan yang diperlukan untuk membuat antarmuka jaringan VPC.

Objek vpcConfig harus menyertakan VPCid,, dan subnet Anda. securityGroupIds

  • vPCid: Diperlukan. ID VPC yang CodeBuild menggunakan. Jalankan perintah ini untuk mendapatkan daftar semua ID VPC Amazon di Wilayah Anda:

    aws ec2 describe-vpcs
  • subnet: Diperlukan. ID subnet yang menyertakan sumber daya yang digunakan oleh CodeBuild. Jalankan perintah ini mendapatkan ID ini:

    aws ec2 describe-subnets --filters "Name=vpc-id,Values=<vpc-id>" --region us-east-1
    catatan

    Ganti us-east-1 dengan Wilayah Anda.

  • securityGroupIds: Diperlukan. ID grup keamanan yang digunakan oleh CodeBuild untuk memungkinkan akses ke sumber daya di VPC. Jalankan perintah ini untuk mendapatkan ID ini:

    aws ec2 describe-security-groups --filters "Name=vpc-id,Values=<vpc-id>" --region us-east-1
    catatan

    Ganti us-east-1 dengan Wilayah Anda.

Praktik terbaik untuk VPC

Gunakan daftar periksa ini saat Anda menyiapkan VPC untuk dikerjakan. CodeBuild

  • Siapkan VPC Anda dengan subnet publik dan pribadi, dan gateway NAT. Gateway NAT harus berada di subnet publik. Untuk informasi selengkapnya, lihat VPC dengan subnet publik dan pribadi (NAT) di Panduan Pengguna Amazon VPC.

    penting

    Anda memerlukan gateway NAT atau instance NAT untuk digunakan CodeBuild dengan VPC Anda sehingga CodeBuild dapat mencapai titik akhir publik (misalnya, untuk menjalankan perintah CLI saat menjalankan build). Anda tidak dapat menggunakan gateway internet alih-alih gateway NAT atau instans NAT karena CodeBuild tidak mendukung penetapan alamat IP Elastis ke antarmuka jaringan yang dibuatnya, dan menetapkan alamat IP publik secara otomatis tidak didukung oleh Amazon EC2 untuk antarmuka jaringan apa pun yang dibuat di luar peluncuran instans Amazon EC2.

  • Sertakan beberapa Availability Zone dengan VPC Anda.

  • Pastikan grup keamanan Anda tidak memiliki lalu lintas masuk (ingress) yang diizinkan ke build Anda. CodeBuild tidak memiliki persyaratan khusus untuk lalu lintas keluar, tetapi Anda harus mengizinkan akses ke sumber daya Internet apa pun yang diperlukan untuk build Anda, seperti GitHub atau Amazon S3.

    Untuk informasi selengkapnya, lihat Aturan grup keamanan di Panduan Pengguna Amazon VPC.

  • Siapkan subnet terpisah untuk build Anda.

  • Ketika Anda mengatur CodeBuild proyek Anda untuk mengakses VPC Anda, pilih subnet pribadi saja.

Untuk informasi selengkapnya tentang menyiapkan VPC di Amazon VPC, lihat Panduan Pengguna Amazon VPC.

Untuk informasi selengkapnya tentang penggunaan AWS CloudFormation untuk mengonfigurasi VPC agar menggunakan fitur CodeBuild VPC, lihat. AWS CloudFormationTemplat VPC

Memecahkan masalah penyiapan VPC

Gunakan informasi yang muncul dalam pesan kesalahan untuk membantu Anda mengidentifikasi, mendiagnosis, dan mengatasi masalah.

Berikut ini adalah beberapa panduan untuk membantu Anda saat memecahkan masalah kesalahan CodeBuild VPC umum:. Build does not have internet connectivity. Please check subnet network configuration

  1. Pastikan gateway internet Anda terpasang ke VPC.

  2. Pastikan bahwa tabel rute untuk subnet publik Anda menunjuk ke gateway internet.

  3. Pastikan ACL jaringan Anda memungkinkan lalu lintas mengalir.

  4. Pastikan grup keamanan Anda mengizinkan lalu lintas mengalir.

  5. Memecahkan masalah gateway NAT Anda.

  6. Pastikan bahwa tabel rute untuk subnet pribadi menunjuk ke gateway NAT.

  7. Pastikan bahwa peran layanan yang digunakan oleh CodeBuild untuk berinteraksi dengan layanan atas nama pengguna IAM memiliki izin dalam kebijakan ini. Untuk informasi selengkapnya, lihat Membuat peran CodeBuild layanan.

    Jika izin tidak CodeBuild ada, Anda mungkin menerima kesalahan yang mengatakan,Unexpected EC2 error: UnauthorizedOperation. Kesalahan ini dapat terjadi jika CodeBuild tidak memiliki izin Amazon EC2 yang diperlukan untuk bekerja dengan VPC.

Keterbatasan VPC

  • Konektivitas VPC dari tidak CodeBuild didukung di Windows.

  • Konektivitas VPC dari tidak CodeBuild didukung untuk VPC bersama.