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à.
AppSpec sezione «risorse» (solo Amazon ECS e AWS Lambda distribuzioni)
Il contenuto nella 'resources'
sezione del AppSpec file varia a seconda della piattaforma di elaborazione della distribuzione. La 'resources'
sezione relativa a una distribuzione di Amazon ECS contiene la definizione delle attività di Amazon ECS, il contenitore e la porta per instradare il traffico verso il set di attività Amazon ECS aggiornato e altre informazioni opzionali. La 'resources'
sezione relativa a una AWS Lambda distribuzione contiene il nome, l'alias, la versione corrente e la versione di destinazione di una funzione Lambda.
Argomenti
AppSpec sezione «risorse» per le implementazioni AWS Lambda
La 'resources'
sezione specifica la funzione Lambda da distribuire e ha la seguente struttura:
YAML:
resources: -
name-of-function-to-deploy
: type: "AWS::Lambda::Function" properties: name:name-of-lambda-function-to-deploy
alias:alias-of-lambda-function-to-deploy
currentversion:version-of-the-lambda-function-traffic-currently-points-to
targetversion:version-of-the-lambda-function-to-shift-traffic-to
JSON:
"resources": [ { "
name-of-function-to-deploy
" { "type": "AWS::Lambda::Function", "properties": { "name": "name-of-lambda-function-to-deploy
", "alias": "alias-of-lambda-function-to-deploy
", "currentversion": "version-of-the-lambda-function-traffic-currently-points-to
", "targetversion": "version-of-the-lambda-function-to-shift-traffic-to
" } } } ]
Ogni proprietà viene specificata con una stringa.
-
name
: obbligatorio Questo è il nome della funzione Lambda da distribuire. -
alias
: obbligatorio Questo è il nome dell'alias della funzione Lambda. -
currentversion
: obbligatorio Questa è la versione della funzione Lambda a cui punta attualmente il traffico. Questo valore deve essere un numero intero positivo valido. -
targetversion
: obbligatorio Questa è la versione della funzione Lambda a cui viene spostato il traffico. Questo valore deve essere un numero intero positivo valido.
AppSpec sezione «risorse» per le distribuzioni di Amazon ECS
La 'resources'
sezione specifica il servizio Amazon ECS da distribuire e ha la seguente struttura:
YAML:
Resources: - TargetService: Type: AWS::ECS::Service Properties: TaskDefinition: "
task-definition-arn
" LoadBalancerInfo: ContainerName: "ecs-container-name
" ContainerPort: "ecs-application-port
" # Optional properties PlatformVersion: "ecs-service-platform-version
" NetworkConfiguration: AwsvpcConfiguration: Subnets: ["ecs-subnet-1
","ecs-subnet-n
"] SecurityGroups: ["ecs-security-group-1
","ecs-security-group-n
"] AssignPublicIp: "ENABLED | DISABLED
" CapacityProviderStrategy: - Base:integer
CapacityProvider: "capacityProviderA
" Weight:integer
- Base:integer
CapacityProvider: "capacityProviderB
" Weight:integer
JSON:
"Resources": [ { "TargetService": { "Type": "AWS::ECS::Service", "Properties": { "TaskDefinition": "
task-definition-arn
", "LoadBalancerInfo": { "ContainerName": "ecs-container-name
", "ContainerPort": "ecs-application-port
" }, "PlatformVersion": "ecs-service-platform-version
", "NetworkConfiguration": { "AwsvpcConfiguration": { "Subnets": [ "ecs-subnet-1
", "ecs-subnet-n
" ], "SecurityGroups": [ "ecs-security-group-1
", "ecs-security-group-n
" ], "AssignPublicIp": "ENABLED | DISABLED
" } }, "CapacityProviderStrategy": [ { "Base":integer
, "CapacityProvider": "capacityProviderA
", "Weight":integer
}, { "Base":integer
, "CapacityProvider": "capacityProviderB
", "Weight":integer
} ] } } } ]
Ogni proprietà è specificata con una stringa ad eccezione diContainerPort
, che è un numero.
-
TaskDefinition
: obbligatorio Questa è la definizione dell'attività da distribuire per il servizio Amazon ECS. Viene specificata con l'ARN della definizione dell'attività. Il formato dell'ARN èarn:aws:ecs:
. Per ulteriori informazioni, consulta Amazon Resource Names (ARN) e AWS service namespace.aws-region
:account-id
:task-definition/task-definition-family
:task-definition-revision
Nota
La
:
parte dell'ARN è facoltativa. Se viene omesso, Amazon ECS utilizza l'ultima revisione ACTIVE della definizione dell'attività.task-definition-revision
-
ContainerName
: obbligatorio Questo è il nome del contenitore Amazon ECS che contiene la tua applicazione Amazon ECS. Deve essere un contenitore specificato nella definizione dell'attività di Amazon ECS. -
ContainerPort
: obbligatorio Questa è la porta del container verso cui verrà indirizzato il traffico. -
PlatformVersion
: facoltativo. La versione della piattaforma delle attività Fargate nel servizio Amazon ECS distribuito. Per ulteriori informazioni, consulta Versioni della piattaforma AWS Fargate. Se non specificato,LATEST
viene utilizzato per impostazione predefinita. -
NetworkConfiguration
: facoltativo. InAwsvpcConfiguration
, è possibile specificare le forme seguenti: Per ulteriori informazioni, consulta AwsVpcConfigurationAmazon ECS Container Service API Reference.-
Subnets
: facoltativo. Un elenco separato da virgole di una o più sottoreti nel tuo servizio Amazon ECS. -
SecurityGroups
: facoltativo. Un elenco separato da virgole di uno o più gruppi di sicurezza nel tuo Amazon Elastic Container Service. -
AssignPublicIp
: facoltativo. Una stringa che specifica se l'interfaccia di rete elastica del servizio Amazon ECS riceve un indirizzo IP pubblico. I valori validi sonoENABLED
eDISABLED
.
Nota
È necessario specificare tutte o nessuna delle impostazioni in
NetworkConfiguration
. Ad esempio, se si desidera specificareSubnets
, è necessario specificare ancheSecurityGroups
eAssignPublicIp
. Se non ne viene specificata nessuna, CodeDeploy utilizza le impostazioni di rete correnti di Amazon ECS. -
-
CapacityProviderStrategy
: facoltativo. Un elenco di provider di capacità Amazon ECS che desideri utilizzare per la distribuzione. Per ulteriori informazioni, consulta i provider di capacità di Amazon ECS nella Amazon Elastic Container Service Developer Guide. Per ogni provider di capacità, puoi specificare le seguenti impostazioni. Per i dettagli su queste impostazioni, AWS::ECS::ServiceCapacityProviderStrategyItemconsulta la Guida AWS CloudFormation per l'utente-
Base
: facoltativo. Il valore di base indica il numero minimo di attività da eseguire nel provider di capacità specificato. Solo un provider di capacità in una strategia di provider di capacità può avere una base definita. Se non viene specificato alcun valore, sarà utilizzato il valore predefinito 0. -
CapacityProvider
: facoltativo. Nome breve o completo del provider di capacità. Esempio: CapacityProvidera -
Weight
: facoltativo.Il valore peso indica la percentuale relativa del numero totale di attività avviate che devono utilizzare il provider di capacità specificato. Il valore
weight
viene preso in considerazione dopo che è stato soddisfatto il valorebase
, se definito.Se non viene specificato alcun valore
weight
, sarà utilizzato il valore predefinito0
. Quando più provider di capacità sono specificati nell'ambito di una strategia di provider di capacità, almeno uno dei provider deve avere un valore di peso superiore a zero e qualsiasi provider di capacità con un peso pari a0
non sarà utilizzato per svolgere attività. Se specifichi più provider di capacità in una strategia tutti con un peso di0
, qualsiasi operazioneRunTask
oCreateService
che utilizza la strategia del provider di capacità avrà esito negativo.Uno scenario di esempio di utilizzo dei pesi è la definizione di una strategia contenente due provider di capacità, ognuno con un peso pari a
1
, quindi una volta soddisfatto ilbase
, le attività saranno suddivise in maniera equa tra i due provider. Utilizzando la stessa logica, se si specifica un peso di1
per capacityProviderA e un peso di4
per capacityProviderB, per ogni attività che viene eseguita utilizzando capacityProviderA, quattro attività utilizzano capacityProviderB.
-