

Pemberitahuan akhir dukungan: Pada 7 Oktober 2026, AWS akan mengakhiri dukungan untuk AWS Proton. Setelah 7 Oktober 2026, Anda tidak akan lagi dapat mengakses AWS Proton konsol atau AWS Proton sumber daya. Infrastruktur yang Anda gunakan akan tetap utuh. Untuk informasi selengkapnya, lihat Panduan [AWS Proton Pengakhiran Layanan dan Migrasi](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html).

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

# CodeBuild penyediaan dukungan VPC Amazon khusus
<a name="vpc-codebuild-custom-support"></a>

AWS Proton CodeBuild Penyediaan mengeksekusi perintah CLI yang disediakan pelanggan sewenang-wenang dalam proyek yang terletak di CodeBuild akun Lingkungan. AWS Proton Perintah ini biasanya mengelola sumber daya menggunakan alat Infrastructure as Code (IAc), seperti CDK. Jika Anda memiliki sumber daya di VPC Amazon, CodeBuild mungkin tidak dapat mengaksesnya. Untuk mengaktifkan ini, CodeBuild mendukung kemampuan untuk berjalan dalam VPC Amazon tertentu. Beberapa contoh kasus penggunaan meliputi:
+ Ambil dependensi dari repositori artefak internal yang dihosting sendiri, seperti `PyPI` untuk Python, untuk Java, dan untuk Node.js `Maven` `npm`
+ CodeBuild perlu mengakses server Jenkins di VPC Amazon tertentu untuk mendaftarkan pipeline.
+ Akses objek dalam bucket Amazon S3 yang dikonfigurasi untuk mengizinkan akses melalui titik akhir VPC Amazon saja.
+ Jalankan pengujian integrasi dari build Anda terhadap data dalam database Amazon RDS yang terisolasi di subnet pribadi.

Untuk informasi selengkapnya, lihat [CodeBuild dan dokumentasi VPC](https://docs.aws.amazon.com/codebuild/latest/userguide/vpc-support.html#use-cases).

Jika Anda ingin CodeBuild Provisioning berjalan di VPC kustom, AWS Proton berikan solusi langsung. Pertama, Anda harus menambahkan ID VPC, subnet, dan grup keamanan ke template lingkungan. Selanjutnya, Anda memasukkan nilai-nilai tersebut ke dalam spesifikasi lingkungan. Ini akan menghasilkan CodeBuild proyek yang dibuat untuk Anda yang menargetkan VPC tertentu.

## Memperbarui Template Lingkungan
<a name="vpc-codebuild-update-environment-template"></a>

**Skema**  
ID VPC, subnet, dan grup keamanan perlu ditambahkan ke skema template sehingga mereka dapat ada dalam spesifikasi lingkungan.

Contoh`schema.yaml`:

```
schema:
  format:
    openapi: "3.0.0"
  environment_input_type: "EnvironmentInputType"
  types:
    EnvironmentInputType:
      type: object
      properties:
        codebuild_vpc_id:
          type: string
        codebuild_subnets:
          type: array
          items:
            type: string
        codebuild_security_groups:
          type: array
          items:
            type: string
```

Ini menambahkan tiga properti baru yang akan digunakan oleh manifes:
+ `codebuild_vpc_id`
+ `codebuild_subnets`
+ `codebuild_security_groups`

**Manifes**  
Untuk mengonfigurasi setelan VPC Amazon CodeBuild, properti opsional yang disebut `project_properties` tersedia di manifes templat. Isi `project_properties` ditambahkan ke CloudFormation tumpukan yang membuat CodeBuild proyek. [Ini memungkinkan untuk menambahkan tidak hanya properti [VPC Amazon, tetapi juga CloudFormation properti](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html) apa pun yang didukung CodeBuild CloudFormation , seperti batas waktu build.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html) Data yang sama `proton-inputs.json` disediakan untuk dibuat tersedia untuk nilai-nilai`project_properties`.

Tambahkan bagian ini ke`manifest.yaml`:

```
project_properties:
          VpcConfig:
            VpcId: "{{ environment.inputs.codebuild_vpc_id }}"
            Subnets: "{{ environment.inputs.codebuild_subnets }}"
            SecurityGroupIds: "{{ environment.inputs.codebuild_security_groups }}"
```

Berikut ini adalah seperti apa hasilnya`manifest.yaml`:

```
infrastructure:
  templates:
    - rendering_engine: codebuild
      settings:
        image: aws/codebuild/amazonlinux2-x86_64-standard:4.0
        runtimes:
          nodejs: 16
        provision:
          - npm install
          - npm run build
          - npm run cdk bootstrap
          - npm run cdk deploy -- --require-approval never
        deprovision:
          - npm install
          - npm run build
          - npm run cdk destroy -- --force
        project_properties:
          VpcConfig:
            VpcId: "{{ environment.inputs.codebuild_vpc_id }}"
            Subnets: "{{ environment.inputs.codebuild_subnets }}"
            SecurityGroupIds: "{{ environment.inputs.codebuild_security_groups }}"
```

**Menciptakan lingkungan**  
Saat membuat lingkungan dengan template yang mendukung VPC CodeBuild Penyediaan, Anda harus memberikan ID VPC Amazon, subnet, dan grup keamanan.

Untuk mendapatkan daftar semua VPC Amazon IDs di Wilayah Anda, jalankan perintah berikut:

```
aws ec2 describe-vpcs
```

Untuk mendapatkan daftar semua subnet IDs, jalankan:

```
aws ec2 describe-subnets --filters "Name=vpc-id,Values=vpc-id"
```

**penting**  
Hanya sertakan subnet pribadi. CodeBuild akan gagal jika Anda menyediakan subnet publik. Subnet publik memiliki rute default ke [Internet Gateway](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html), sedangkan subnet pribadi tidak.

Jalankan perintah berikut untuk mendapatkan grup keamanan IDs. Ini juga IDs dapat diperoleh melalui Konsol Manajemen AWS:

```
aws ec2 describe-security-groups --filters "Name=vpc-id,Values=vpc-id"
```

Nilainya akan menyerupai:

```
vpc-id: vpc-045ch35y28dec3a05
subnets:
  - subnet-04029a82e6ae46968
  - subnet-0f500a9294fc5f26a
 security-groups:
  - sg-03bc4c4ce32d67e8d
```

**Memastikan CodeBuild izin**  
Dukungan Amazon VPC memerlukan izin tertentu, seperti kemampuan untuk membuat Antarmuka Jaringan Elastis.

Jika lingkungan sedang dibuat di konsol, masukkan nilai-nilai ini selama wizard pembuatan lingkungan. Jika Anda ingin membuat lingkungan secara terprogram, `spec.yaml` penampilan Anda seperti berikut:

```
proton: EnvironmentSpec

spec:
  codebuild_vpc_id: vpc-045ch35y28dec3a05
  codebuild_subnets:
    - subnet-04029a82e6ae46968
    - subnet-0f500a9294fc5f26a
  codebuild_security_groups:
    - sg-03bc4c4ce32d67e8d
```