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 ECS distribuzione Amazon contiene la definizione dell'ECSattività Amazon, il contenitore e la porta per instradare il traffico verso il set di ECS attività Amazon 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 ECS implementazioni di Amazon
La 'resources'
sezione specifica il ECS servizio Amazon 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 ECS servizio Amazon. Viene specificata con la definizione ARN dell'attività. Il ARN formato èarn:aws:ecs:
. Per ulteriori informazioni, consulta Amazon Resource Names (ARNs) e AWS service namespace.aws-region
:account-id
:task-definition/task-definition-family
:task-definition-revision
Nota
La
:
parte di è facoltativa. ARN Se viene omesso, Amazon ECS utilizza la ACTIVE revisione più recente della definizione dell'attività.task-definition-revision
-
ContainerName
: obbligatorio Questo è il nome del ECS contenitore Amazon che contiene la tua ECS applicazione Amazon. Deve essere un contenitore specificato nella definizione dell'ECSattività Amazon. -
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 del 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 ECS servizio Amazon 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 ECS impostazioni di rete correnti di Amazon. -
-
CapacityProviderStrategy
: facoltativo. Un elenco di fornitori di ECS capacità Amazon che desideri utilizzare per la distribuzione. Per ulteriori informazioni, consulta Amazon ECS Capacity Provider nella Amazon Elastic Container Service Developer Guide. Per ogni provider di capacità, puoi specificare le seguenti impostazioni. Per i dettagli su queste impostazioni, vedere AWS::ECS: ServiceCapacityProviderStrategyItem nella Guida per l'AWS CloudFormation 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 capacityProviderun peso1
per A e un peso4
per capacityProviderB, per ogni attività eseguita utilizzando capacityProviderA, quattro attività utilizzeranno capacityProviderB.
-