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à.
Implementa ECS i servizi Amazon utilizzando un controller di terze parti
Il tipo di implementazione esterna consente di usare qualsiasi controller di implementazione di terze parti per il controllo completo sul processo di implementazione per un ECS servizio Amazon. I dettagli del servizio sono gestiti dalle API azioni di gestione del servizio (CreateService
UpdateService
, eDeleteService
) o dalle API azioni di gestione dei set di attività (CreateTaskSet
UpdateTaskSet
,UpdateServicePrimaryTaskSet
, eDeleteTaskSet
). Ciascuna API operazione gestisce un sottoinsieme di parametri di definizione del servizio.
L'UpdateService
APIazione aggiorna i parametri di conteggio e periodo di tolleranza del controllo dello stato desiderati per un servizio. Se è necessario aggiornare il tipo di avvio, la versione della piattaforma, i dettagli del load balancer, la configurazione di rete o la definizione di attività, occorre creare un nuovo set di attività.
L'UpdateTaskSet
APIazione aggiorna solo il parametro di scala per un set di attività.
L'UpdateServicePrimaryTaskSet
APIoperazione modifica quale set di attività in un servizio è il set di attività principale. Quando si richiama l'DescribeServices
APIazione, restituisce tutti i campi specificati per un set di attività primario. Se viene aggiornato il set di attività principale per un servizio, quando viene definito il nuovo set principale eventuali valori del parametro esistenti sul nuovo ma diversi da quelli impostati sul precedente set di attività in un servizio verranno aggiornati ai nuovi valori. Se non viene definito un set di attività principale per un servizio, i relativi campi nella descrizione del servizio sono nulli.
Considerazioni sull'implementazione esterna
Quando utilizzi il tipo di distribuzione esterna, tieni conto di quanto segue:
-
I tipi di load balancer supportati sono un Application Load Balancer o un Network Load Balancer.
-
Il tipo di avvio Fargate oppure i tipi di controller di implementazione
EXTERNAL
non supportano la strategia di pianificazioneDAEMON
.
Flusso di lavoro dell'implementazione esterna
Di seguito è riportato il flusso di lavoro di base per la gestione di un'implementazione esterna su AmazonECS.
Come gestire un ECS servizio Amazon tramite un controller di implementazione esterno
-
Crea un ECS servizio Amazon. L'unico parametro obbligatorio è il nome del servizio. Durante la creazione di un servizio tramite un controller di distribuzione esterno, è possibile specificare i parametri indicati di seguito. Tutti gli altri, invece, vengono specificati al momento della creazione di un set di attività nel servizio.
serviceName
-
Tipo: stringa
Campo obbligatorio: sì
Il nome del servizio. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole), numeri, trattini e caratteri di sottolineatura. I nomi dei servizi devono essere univoci all'interno di un cluster, ma puoi avere servizi dai nomi simili in più cluster all'interno di una Regione o in più Regioni.
desiredCount
-
Il numero di istanze della definizione di attività per il set specificato, da posizionare e mantenere in esecuzione nel servizio.
deploymentConfiguration
-
I parametri di distribuzione opzionali che determinano quante attività vengono eseguite durante un'implementazione e l'ordine di arresto e di avvio delle attività.
-
Tipo: matrice di oggetti
Campo obbligatorio: no
I metadati applicati al servizio per aiutarti a catalogarli e organizzarli. Ogni tag è composto da una chiave e da un valore opzionale, entrambi personalizzabili. Quando un servizio viene eliminato, vengono eliminati anche i tag. Al servizio è possibile applicare un massimo di 50 tag. Per ulteriori informazioni, consulta Etichettare le risorse Amazon ECS.
key
-
Tipo: stringa
Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 128 caratteri.
Campo obbligatorio: no
Una parte di una coppia chiave-valore che costituisce un tag. Una chiave è un'etichetta generale che funge da categoria per più valori di tag specifici.
value
-
Tipo: stringa
Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 256 caratteri.
Campo obbligatorio: no
La parte facoltativa di una coppia chiave-valore che costituisce un tag. Un valore agisce come descrittore all'interno di una categoria di tag (chiave).
enableECSManagedTags
-
Specifichi se usare i tag ECS gestiti da Amazon per i processi all'interno del servizio. Per ulteriori informazioni, consulta Utilizza i tag per la fatturazione.
propagateTags
-
Tipo: stringa
Valori validi:
TASK_DEFINITION
|SERVICE
Campo obbligatorio: no
Specifica se copiare i tag dalla definizione di attività o dal servizio nelle attività del servizio. Se non viene specificato alcun valore, i tag non vengono copiati. I tag possono essere copiati solo nelle attività all'interno del servizio durante la creazione del servizio. Per aggiungere tag a un'attività dopo la creazione di un servizio o di un'attività, utilizza l'
TagResource
APIoperazione. schedulingStrategy
-
La strategia di pianificazione da utilizzare. I servizi che utilizzano un controller di distribuzione esterno supportano solo la strategia di pianificazione
REPLICA
. placementConstraints
-
Serie di oggetti vincolo di posizionamento da utilizzare per le attività del servizio. Puoi specificare un massimo di 10 vincoli per attività (questo limite include i vincoli nella definizione di attività e quelli specificati in fase di runtime). Se utilizzi il tipo di avvio Fargate, i vincoli di posizionamento dei processi non sono supportati.
placementStrategy
-
Gli oggetti strategia di posizionamento da utilizzare per le attività del servizio. Puoi specificare un massimo di quattro regole di strategia per ogni servizio.
Di seguito è illustrato un esempio di definizione per la creazione di un servizio che utilizza un controller di distribuzione esterno.
{ "cluster": "", "serviceName": "", "desiredCount": 0, "role": "", "deploymentConfiguration": { "maximumPercent": 0, "minimumHealthyPercent": 0 }, "placementConstraints": [ { "type": "distinctInstance", "expression": "" } ], "placementStrategy": [ { "type": "binpack", "field": "" } ], "schedulingStrategy": "REPLICA", "deploymentController": { "type": "EXTERNAL" }, "tags": [ { "key": "", "value": "" } ], "enableECSManagedTags": true, "propagateTags": "TASK_DEFINITION" }
-
Creare un set di attività iniziali. Il set di attività contiene i seguenti i dettagli sul servizio:
taskDefinition
-
La definizione delle attività nel set da utilizzare.
launchType
-
Tipo: stringa
Valori validi:
EC2
|FARGATE
|EXTERNAL
Campo obbligatorio: no
Il tipo di avvio con cui eseguire il servizio. Se non viene specificato un tipo di avvio, per impostazione predefinita viene utilizzato il
capacityProviderStrategy
di default. Per ulteriori informazioni, consulta Tipi di ECS lancio di Amazon.Se viene specificato un
launchType
, il parametrocapacityProviderStrategy
deve essere omesso. platformVersion
-
Tipo: string
Campo obbligatorio: no
La versione della piattaforma su cui sono in esecuzione le attività nel servizio. Viene specificata una versione della piattaforma solo per le attività con tipo di avvio Fargate. Se non è specificata, la versione più recente (
LATEST
) viene utilizzata di default.AWS Le versioni della piattaforma Fargate vengono utilizzate per fare riferimento a un determinato ambiente di runtime per l'infrastruttura delle attività Fargate. Quando specifichi la versione della piattaforma
LATEST
durante l'esecuzione di un'attività o la creazione di un servizio, ottieni la versione di piattaforma più aggiornata disponibile per le tue attività. Quando incrementi il servizio, tali attività riceveranno la versione della piattaforma specificata nell'implementazione corrente del servizio. Per ulteriori informazioni, consulta Versioni della piattaforma Fargate Linux ECS.Nota
Le versioni della piattaforma non sono specificate per i processi che utilizzano il tipo di EC2 avvio.
loadBalancers
-
Un oggetto che rappresenta il load balancer da utilizzare con il tuo servizio. Quando si utilizza un controller di implementazione esterno, sono supportati solo Application Load Balancer e il Network Load Balancer. Se si utilizza un Application Load Balancer, è consentito un solo gruppo di destinazione di Application Load Balancer per ogni set di processi.
Il frammento di codice seguente mostra un oggetto
loadBalancer
di esempio da utilizzare."loadBalancers": [ { "targetGroupArn": "", "containerName": "", "containerPort": 0 } ]
Nota
Quando si specifica un oggetto
loadBalancer
, è necessario specificaretargetGroupArn
e omettere i parametriloadBalancerName
. networkConfiguration
-
La configurazione di rete per il servizio. Questo parametro è obbligatorio per le definizioni di attività che utilizzano la modalità di rete
awsvpc
per ricevere la propria interfaccia di rete elastica e non è supportato per altre modalità. Per ulteriori informazioni sulla rete per il tipo di lancio Fargate, vedere. Opzioni Amazon ECS Task Networking per il tipo di avvio Fargate serviceRegistries
-
I dettagli dei registri del servizio di individuazione da assegnare a questo servizio. Per ulteriori informazioni, consulta Usa Service Discovery per connettere ECS i servizi Amazon con DNS i nomi.
scale
-
Percentuale a virgola mobile del numero desiderato di attività da posizionare e mantenere in esecuzione nel seti di attività. Il valore è specificato come percentuale totale del conteggio desiderato (
desiredCount
) di un servizio. Come valori sono accettati i numeri da 0 a 100.
Di seguito è riportato un JSON esempio di creazione di un set di attività per un controller di distribuzione esterno.
{ "service": "", "cluster": "", "externalId": "", "taskDefinition": "", "networkConfiguration": { "awsvpcConfiguration": { "subnets": [ "" ], "securityGroups": [ "" ], "assignPublicIp": "DISABLED" } }, "loadBalancers": [ { "targetGroupArn": "", "containerName": "", "containerPort": 0 } ], "serviceRegistries": [ { "registryArn": "", "port": 0, "containerName": "", "containerPort": 0 } ], "launchType": "EC2", "capacityProviderStrategy": [ { "capacityProvider": "", "weight": 0, "base": 0 } ], "platformVersion": "", "scale": { "value": null, "unit": "PERCENT" }, "clientToken": "" }
-
Quando sono necessarie modifiche al servizio, utilizza l'
UpdateService
CreateTaskSet
APIazione o a seconda dei parametri che stai aggiornando.UpdateTaskSet
Se è stato creato un set di attività, utilizzare il parametroscale
per ogni set di attività in un servizio, per determinare il numero di attività da mantenere in esecuzione nel servizio. Ad esempio, se si dispone di un servizio che contiene untasksetA
e si crea untasksetB
, è consigliabile testare la validità deltasksetB
prima di trasferire a esso il traffico di produzione. È possibile impostare il parametroscale
per entrambi i set di attività su100
e, una volta pronti a spostare tutto il traffico di produzione neltasksetB
, è possibile aggiornarescale
pertasksetA
su0
per ridurlo.