Bungkus file template untuk AWS Proton - AWS Proton

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

Bungkus file template untuk AWS Proton

Setelah menyiapkan infrastruktur lingkungan dan layanan Anda sebagai file kode (IAc) dan file skema masing-masing, Anda harus mengaturnya dalam direktori. Anda juga harus membuat file YAMAL manifes. File manifes mencantumkan file IAc dalam direktori, mesin rendering, dan bahasa template yang digunakan untuk mengembangkan IAc dalam template ini.

catatan

File manifes juga dapat digunakan secara independen dari bundel template, sebagai input langsung ke komponen yang didefinisikan secara langsung. Dalam hal ini, selalu menentukan satu file template IAC, untuk keduanya CloudFormation dan Terraform. Untuk informasi selengkapnya tentang komponen, lihatAWS Proton komponen.

File manifes harus mematuhi format dan konten yang ditunjukkan dalam contoh berikut.

CloudFormation format file manifes:

Dengan CloudFormation, Anda mencantumkan satu file.

infrastructure: templates: - file: "cloudformation.yaml" rendering_engine: jinja template_language: cloudformation

Format file manifes Terraform:

Dengan terraform, Anda dapat secara eksplisit mencantumkan satu file atau menggunakan wildcard * untuk mencantumkan setiap file dalam direktori.

catatan

Wildcard hanya menyertakan file yang namanya diakhiri dengan.tf. File lain diabaikan.

infrastructure: templates: - file: "*" rendering_engine: hcl template_language: terraform

CodeBuildformat file manifes penyediaan berbasis:

Dengan penyediaan CodeBuild berbasis, Anda menentukan perintah shell penyediaan dan deprovisioning.

catatan

Selain manifes, bundel Anda harus menyertakan file apa pun yang bergantung pada perintah Anda.

Contoh manifes berikut menggunakan penyediaan CodeBuild berbasis untuk sumber daya penyediaan (deploy) dan deprovision (destroy) menggunakan (). AWS Cloud Development Kit (AWS CDK) AWS CDK Bundel template juga harus menyertakan kode CDK.

Selama penyediaan, AWS Proton membuat file input dengan nilai untuk parameter input yang Anda tentukan dalam skema template dengan namanya. proton-input.json

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 --outputs-file proton-outputs.json - jq 'to_entries | map_values(.value) | add | to_entries | map({key:.key, valueString:.value})' < proton-outputs.json > outputs.json - aws proton notify-resource-deployment-status-change --resource-arn $RESOURCE_ARN --status IN_PROGRESS --outputs file://./outputs.json deprovision: - npm install - npm run build - npm run cdk destroy project_properties: VpcConfig: VpcId: "{{ environment.inputs.codebuild_vpc_id }}" Subnets: "{{ environment.inputs.codebuild_subnets }}" SecurityGroupIds: "{{ environment.inputs.codebuild_security_groups }}"

Setelah menyiapkan direktori dan file manifes untuk paket template lingkungan atau layanan, Anda gzip direktori menjadi bola tar dan mengunggahnya ke bucket Amazon Simple Storage Service (Amazon S3) AWS Proton tempat dapat mengambilnya, atau ke repositori Git sinkronisasi template.

Saat Anda membuat versi minor lingkungan atau templat layanan yang Anda daftarkan AWS Proton, Anda menyediakan jalur ke lingkungan atau bola tar bundel templat layanan yang terletak di bucket S3 Anda. AWS Proton menyimpannya dengan versi minor template baru. Anda dapat memilih versi minor template baru untuk membuat atau memperbarui lingkungan atau layanan dengan AWS Proton.

Paket template lingkungan membungkus

Ada dua jenis bundel template lingkungan yang Anda buat AWS Proton.

  • Untuk membuat bundel template lingkungan untuk template lingkungan standar, atur skema, infrastruktur sebagai file kode (IAc) dan file manifes dalam direktori seperti yang ditunjukkan dalam struktur direktori bundel template lingkungan berikut.

  • Untuk membuat bundel template lingkungan untuk template lingkungan yang dikelola pelanggan, berikan hanya file skema dan direktori. Jangan sertakan direktori infrastruktur dan file. AWS Proton melempar kesalahan jika direktori infrastruktur dan file disertakan.

Untuk informasi selengkapnya, lihat Mendaftar dan mempublikasikan template.

CloudFormation struktur direktori bundel template lingkungan:

/schema schema.yaml /infrastructure manifest.yaml cloudformation.yaml

Struktur direktori bundel templat lingkungan Terraform:

/schema schema.yaml /infrastructure manifest.yaml environment.tf

Paket template layanan membungkus

Untuk membuat paket template layanan, Anda harus mengatur file skema, infrastruktur sebagai kode (IAc), dan file manifes ke dalam direktori seperti yang ditunjukkan dalam contoh struktur direktori paket template layanan.

Jika Anda tidak menyertakan pipeline layanan dalam bundel template Anda, jangan sertakan direktori pipeline dan file dan atur "pipelineProvisioning": "CUSTOMER_MANAGED" saat Anda membuat template layanan yang akan dikaitkan dengan bundel template ini.

catatan

Anda tidak dapat memodifikasi pipelineProvisioning setelah template layanan dibuat.

Untuk informasi selengkapnya, lihat Mendaftar dan mempublikasikan template.

CloudFormation struktur direktori bundel template layanan:

/schema schema.yaml /instance_infrastructure manifest.yaml cloudformation.yaml /pipeline_infrastructure manifest.yaml cloudformation.yaml

Struktur direktori bundel template layanan Terraform:

/schema schema.yaml /instance_infrastructure manifest.yaml instance.tf /pipeline_infrastructure manifest.yaml pipeline.tf