Raccogli i file modello per AWS Proton - AWS Proton

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Raccogli i file modello per AWS Proton

Dopo aver preparato i file di ambiente e infrastruttura di servizio come codice (IaC) e i rispettivi file di schema, è necessario organizzarli in directory. È inoltre necessario creare un file YAML manifesto. Il file manifest elenca i file IaC in una directory, il motore di rendering e il linguaggio dei modelli usato per sviluppare IaC in questo modello.

Nota

Un file manifest può essere utilizzato anche indipendentemente dai pacchetti di modelli, come input diretto per componenti definiti direttamente. In questo caso, specifica sempre un singolo file modello IAc, sia per Terraform che CloudFormation per Terraform. Per ulteriori informazioni sui componenti, vedere. AWS Proton componenti

Il file manifesto deve rispettare il formato e il contenuto illustrati nell'esempio seguente.

CloudFormation formato del file manifesto:

Con CloudFormation, si elenca un singolo file.

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

Formato di file manifest Terraform:

Con terraform, puoi elencare esplicitamente un singolo file o usare il wildcard * per elencare ciascuno dei file in una directory.

Nota

Il carattere jolly include solo i file i cui nomi terminano con. .tf Gli altri file vengono ignorati.

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

CodeBuildformato di file manifesto di provisioning basato:

Con il provisioning CodeBuild basato, si specificano i comandi shell di provisioning e deprovisioning.

Nota

Oltre al manifesto, il pacchetto deve includere tutti i file da cui dipendono i comandi.

Il seguente manifesto di esempio utilizza il provisioning CodeBuild basato per fornire (distribuire) e deprovisionare (distruggere) risorse utilizzando (). AWS Cloud Development Kit (AWS CDK) AWS CDK Il pacchetto di modelli deve includere anche il codice CDK.

Durante il provisioning, AWS Proton crea un file di input con valori per i parametri di input definiti nello schema del modello con il nome. 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 }}"

Dopo aver configurato le directory e i file manifest per il tuo ambiente o pacchetto di modelli di servizio, comprimi con gzip le directory in un tar ball e le carichi in un bucket Amazon Simple Storage Service (Amazon S3) AWS Proton dove puoi recuperarle o in un repository Git per la sincronizzazione dei modelli.

Quando crei una versione secondaria di un ambiente o di un modello di servizio con cui ti sei registrato AWS Proton, fornisci il percorso dell'ambiente o del pacchetto di modelli di servizio tar ball che si trova nel tuo bucket S3. AWS Proton lo salva con la nuova versione secondaria del modello. È possibile selezionare la nuova versione secondaria del modello con cui creare o aggiornare ambienti o servizi AWS Proton.

Riepilogo del pacchetto di modelli di ambiente

Esistono due tipi di pacchetti di modelli di ambiente per i quali è possibile creare. AWS Proton

  • Per creare un pacchetto di modelli di ambiente per un modello di ambiente standard, organizzate lo schema, i file di infrastruttura come codice (IaC) e il file manifest nelle directory, come illustrato nella seguente struttura di directory dei pacchetti di modelli di ambiente.

  • Per creare un pacchetto di modelli di ambiente per un modello di ambiente gestito dal cliente, fornite solo il file di schema e la directory. Non includere la directory e i file dell'infrastruttura. AWS Proton genera un errore se la directory e i file dell'infrastruttura sono inclusi.

Per ulteriori informazioni, consulta Registrazione e pubblicazione di modelli.

CloudFormation struttura delle cartelle del pacchetto di template di ambiente:

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

Struttura della directory del pacchetto dei modelli di ambiente Terraform:

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

Riepilogo del pacchetto di modelli di servizio

Per creare un pacchetto di modelli di servizio, è necessario organizzare lo schema, i file IaC (Infrastructure as Code) e i file manifest in directory, come mostrato nell'esempio di struttura di directory del Service Template Bundle.

Se non includete una pipeline di servizi nel vostro pacchetto di modelli, non includete la directory della pipeline e i file e impostateli "pipelineProvisioning": "CUSTOMER_MANAGED" quando create il modello di servizio da associare a questo pacchetto di modelli.

Nota

Non è possibile modificare pipelineProvisioning dopo la creazione del modello di servizio.

Per ulteriori informazioni, consulta Registrazione e pubblicazione di modelli.

CloudFormation struttura delle cartelle del pacchetto di modelli di servizio:

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

Struttura della directory del pacchetto dei modelli di servizio Terraform:

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