View a markdown version of this page

Risorse create dai servizi Amazon ECS Express Mode - Amazon Elastic Container Service

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à.

Risorse create dai servizi Amazon ECS Express Mode

Un servizio Express Mode riduce la complessità dell'implementazione di applicazioni containerizzate fornendo impostazioni predefinite ragionevoli e automatizzando la configurazione dei servizi di supporto. AWS Invece di gestire centinaia di parametri di configurazione su più servizi, un servizio Express Mode richiede solo un'immagine del contenitore, un ruolo di esecuzione delle attività e un ruolo dell'infrastruttura per iniziare.

I servizi Express Mode hanno procedure semplificate per il provisioning e la configurazione di un servizio Amazon ECS che raggruppa l'infrastruttura preferita per l'esecuzione di un'applicazione web di produzione. I servizi Express Mode incorporano automaticamente le migliori pratiche operative e di configurazione. Vengono create le seguenti risorse:

  • Il cluster predefinito ECS (se non esiste già) con i fornitori di capacità Fargate

  • Una definizione di attività con configurazioni di container, logging e rete

  • Un servizio con implementazione canaria e scalabilità automatica

  • Application Load Balancer con listener HTTPS, regole di ascolto e gruppi target

  • Gruppi di sicurezza con accesso minimo richiesto

  • Ruoli collegati ai servizi per il ridimensionamento automatico e il bilanciamento del carico

  • Application Auto Scaling, obiettivo scalabile e politica di ridimensionamento del tracciamento degli obiettivi.

    La policy di dimensionamento aggiunge o rimuove le attività di servizio in base alle necessità, per mantenere il parametro al valore di destinazione specificato o vicino a esso. Oltre a mantenere il parametro vicino al valore di destinazione, una policy di dimensionamento di monitoraggio obiettivi si adatta alle fluttuazioni del parametro dovute a un modello di carico fluttuante e riduce al minimo le fluttuazioni rapide del numero di attività in esecuzione all’interno del servizio.

  • Gruppo di log specifico del servizio

  • Allarme metrico per il rilevamento di implementazioni difettose

  • Certificato ACM

Usa le impostazioni predefinite per iniziare a usare i servizi Express Mode o configura l'applicazione utilizzando un set minimo di parametri.

Impostazioni predefinite del cluster

Le seguenti impostazioni predefinite sono configurabili dall'interno della modalità Express per il cluster:

  • ClusterName: utilizza il cluster. default

    È possibile personalizzare questa opzione utilizzando l'opzione Configurazioni aggiuntive nella console o specificando. create-express-gateway-service --cluster

Le seguenti impostazioni predefinite sono impostate dalla modalità Express ma possono essere aggiornate direttamente nel Cluster.

  • CapacityProviders: ["FARGATE"] - Utilizza Fargate

Impostazioni predefinite per la definizione delle attività

Le seguenti impostazioni predefinite sono configurabili in modalità Express per la definizione delle attività:

  • cpu: 1024 - 1 unità vCPU allocata all'attività

    È possibile personalizzare questa opzione utilizzando l'opzione Configurazioni aggiuntive nella console o eseguendo. create-express-gateway-service --cpu

  • memoria: 2048 - 2 GB di memoria allocata all'attività

    È possibile personalizzare questa opzione utilizzando l'opzione Configurazioni aggiuntive nella console o eseguendo. create-express-gateway-service --memory

Le seguenti impostazioni predefinite sono impostate dalla modalità Express ma possono essere aggiornate direttamente nella definizione dell'attività.

  • NetworkMode: «awsvpc» - Utilizza la modalità di rete awsvpc

  • operativoSystemFamily: «LINUX» - Funziona sul sistema operativo Linux

  • Architettura CPU: «X86_64" - Utilizza l'architettura del processore x86_64

  • Richiede compatibilità: ["FARGATE"] - Compatibile con il tipo di lancio Fargate

  • PlatformVersion: «LATEST» - Utilizza l'ultima versione della piattaforma Fargate

È inoltre possibile fornire una definizione di attività personalizzata utilizzando il parametro. taskDefinitionArn La modalità Express utilizza la definizione dell'attività così com'è, incluse CPU, memoria, definizioni dei contenitori ed eventuali contenitori o impostazioni aggiuntivi definiti dall'utente.

Impostazioni predefinite per la definizione del contenitore

Le seguenti impostazioni predefinite sono configurabili dall'interno della modalità Express per il contenitore:

  • porta: 80 - Porta predefinita per il traffico dei container

Le seguenti impostazioni predefinite sono impostate dalla modalità Express ma possono essere aggiornate direttamente in Task Definition - Container Definition:

  • essential: true - Il contenitore è contrassegnato come essenziale per l'integrità dell'attività

  • protocol: «tcp» - Protocollo predefinito per la comunicazione con sistema di bilanciamento del carico

  • name: «Main» - Nome predefinito per il contenitore primario

    La modifica del nome del contenitore predefinito può influire sulla capacità di Express Mode di apportare aggiornamenti successivi al servizio. Questa operazione non è consigliata se si intende continuare a utilizzare la console o le API Express Mode

  • VersionConsistency: abilitato: risolve i tag delle immagini per riassumere gli ID per distribuzioni coerenti

  • initProcessEnabled: true - Abilita il supporto del processo di inizializzazione di Docker.

  • stOptimeout: 30 secondi - Tempo tra i segnali SIGTERM e SIGKILL.

Impostazioni predefinite di registrazione

Le seguenti impostazioni predefinite sono configurabili dalla modalità Express per i registri: CloudWatch

  • awslogs-group: «//aws/ecs<cluster>/<name>-####» - Nome del gruppo di log derivato dal nome del cluster e del servizio

    È possibile personalizzare questa opzione utilizzando l'opzione Configurazioni aggiuntive nella console o eseguendo. create-express-gateway-service --primary-container “awsLogsConfiguration”=[{“logGroup”=“/my/logGroup/”}]

  • awslogs-stream-prefix: «ecs» - Prefisso per i nomi dei log stream

    È possibile personalizzare questa opzione utilizzando l'opzione Configurazioni aggiuntive nella console o eseguendo. create-express-gateway-service --primary-container “awsLogsConfiguration”=[{“logStreamPrefix”=“myprefix”}]

Le seguenti impostazioni predefinite sono impostate dalla modalità Express ma possono essere aggiornate direttamente in Task Definition - Log Configuration:

  • LogDriver: «awslogs» - Utilizza i log CloudWatch

  • awslogs-region: regione attuale: utilizza la stessa regione del servizio Express Mode

  • mode: «non-blocking» - Modalità di registrazione impostata su non bloccante

  • max-buffer-size: «25m» - Dimensione massima del buffer per le scritture di log

Quando si fornisce una definizione di attività personalizzata utilizzando il taskDefinitionArn parametro, si configura la registrazione all'interno della definizione dell'attività.

Impostazioni predefinite del servizio

Le seguenti impostazioni predefinite sono configurabili in modalità Express per il servizio Amazon ECS:

  • ServiceName: servizio Express Mode → Nome: nome del servizio (fornito dal cliente o derivato dal nome dell'immagine)

    Il nome può essere configurato solo in fase di creazione e non può essere configurato negli aggiornamenti.

  • cluster: servizio Express Mode → Cluster - cluster ECS per questo servizio (fornito dal cliente o predefinito)

    Il cluster può essere configurato solo in fase di creazione e non può essere configurato negli aggiornamenti.

  • DesiredCount: servizio Express Mode → MinTasks - Numero desiderato per il servizio (il valore predefinito è 1)

    È possibile personalizzare questa opzione utilizzando l'opzione Configurazioni aggiuntive nella console o eseguendo create-express-gateway-service --scaling-target ‘{“minTaskCount”=3}',

  • tag: servizio Express Mode Tag per la AWS codifica (forniti dal cliente)

    È possibile personalizzare questa opzione utilizzando l'opzione Configurazioni aggiuntive nella console o eseguendo. create-express-gateway-service --tags I tag possono essere aggiunti solo durante la creazione di una nuova risorsa.

Le seguenti impostazioni predefinite sono impostate da Express Mode ma possono essere aggiornate direttamente nel servizio Amazon ECS:

  • disponibilitàZoneRebalancing: true: abilita il ribilanciamento automatico AZ

  • CapacityProviderStrategy: {"base»: 1, «capacityProvider»: «FARGATE», «weight»: 1} - Utilizza Fargate per la capacità di calcolo

  • DeploymentConfiguration: Canary per impostazione predefinita: il servizio Express Mode utilizza le distribuzioni Canary

    Tieni presente che la strategia di distribuzione non può essere aggiornata sui servizi Express Mode.

  • enableECSManagedTags: true - Abilita l'etichettatura ECS-managed delle risorse

  • healthCheckGracePeriodSeconds: 300 - Periodo di tolleranza prima che Scheduler esamini i controlli sullo stato di salute ELB o Lattice (si allinea al periodo di tolleranza predefinito per il controllo dello stato ELB)

  • <Not set>LaunchType: - Utilizza fornitori di capacità

  • LoadBalancers: configurazione del Load Balancer gestita da ECS

    Si noti che le configurazioni del load balancer non possono essere aggiornate sui servizi Express Mode.

  • PlacementStrategy: non impostato: utilizza Fargate al momento del lancio (dovrebbe essere sempre AZ Spread)

  • Versione della piattaforma: ULTIMA - Versione della piattaforma Fargate (codificata come ULTIMA)

  • propagateTags: «SERVICE» - Propaga i tag dal servizio alle attività

  • SchedulingStrategy: «REPLICA» - I servizi Express Mode sono servizi REPLICA

  • TaskDefinition: creato il servizio Express Mode: la definizione dell'attività da utilizzare (fornita dal servizio Express Mode)

Impostazioni predefinite di configurazione di rete

Le seguenti impostazioni predefinite sono configurabili in modalità Express per il servizio Amazon ECS - Configurazione di rete:

  • reteConfiguration.Subnets: se non ne viene fornita alcuna, Express Mode utilizzerà le sottoreti pubbliche predefinite nel VPC predefinito.

    Il VPC predefinito deve avere almeno due sottoreti pubbliche, in almeno due zone di disponibilità, con almeno 8 IP gratuiti disponibili, per blocco CIDR assegnato, per sottorete.

    Se fornisci sottoreti pubbliche personalizzate, Express Mode fornirà un ALB con accesso a Internet e attiverà AssignPublicIP per le tue attività. Se si forniscono sottoreti private (sottoreti senza un gateway Internet nella tabella di routing), Express Mode fornirà un ALB interno.

    Se si specificano le sottoreti, il primo servizio Express Mode per un VPC definisce le sottoreti associate al load balancer interno o connesso a Internet per quel VPC. I servizi Express Mode successivi che vengono avviati nello stesso VPC devono avere sottoreti che corrispondano alle zone di disponibilità supportate dal load balancer. Per questo motivo, consigliamo di creare servizi in modalità Express con sottoreti provenienti da tutte le zone di disponibilità.

  • reteConfiguration.SecurityGroups: se non ne viene fornita alcuna, la modalità Express crea sia un Service Security Group che un Load Balancer Security Group

    Il Service Security Group consente il traffico in uscita verso la rete Internet pubblica, ma può essere limitato in base ad altri aspetti della rete, come la configurazione della sottorete.

    Il gruppo di sicurezza Load Balancer Il Load Balancer Security Group consente il traffico in entrata per la risoluzione HTTPS e il traffico in uscita verso il Service Security Group sulla porta del contenitore specificata (impostazione predefinita 80). E viene aggiornato automaticamente in modo che corrisponda alla porta del container fornita nelle chiamate Create o Update in modalità Express.

    È possibile personalizzare questa opzione utilizzando l'opzione Configurazioni aggiuntive nella console o create-express-gateway-service --network-configuration '{"securityGroup": ["sg-xxxxxxx"]}' eseguendo. Quando fornisci un gruppo di sicurezza, fornisci un percorso di ingresso aggiuntivo al tuo servizio.

Le seguenti impostazioni predefinite sono impostate dalla modalità Express ma possono essere aggiornate direttamente nel servizio Amazon ECS - Configurazione di rete:

  • assegnaPublicIp: In base al tipo di sottorete - Abilitato per le sottoreti pubbliche per garantire che gli utenti del VPC predefinito siano in grado di accedere alla rete Internet pubblica, abilitiamo gli IP pubblici per ogni attività per impostazione predefinita. Questa opzione è disattivata se fornisci una sottorete privata e sei quindi responsabile della configurazione di un gateway NAT se le tue attività richiedono l'accesso a Internet.

Ruolo IAM predefinito

I seguenti ruoli IAM sono configurabili per un servizio in modalità Express con creazione automatica di ruoli collegati ai servizi, ove appropriato.

  • esecuzioneRoleArn: Task Execution Role (parametro obbligatorio)

    Sebbene le autorizzazioni richieste siano incluse nella politica gestita, è possibile allegare politiche e autorizzazioni aggiuntive. Ulteriori dettagli sono disponibili AmazonECSTaskExecutionRolePolicy nella AWS Managed Policy Reference Guide

  • infrastrutturaRoleArn: Ruolo dell'infrastruttura per Express Gateway Services (parametro obbligatorio)

    Sebbene le autorizzazioni richieste siano incluse nella policy gestita, è possibile allegare politiche e autorizzazioni aggiuntive. Ulteriori dettagli sulla politica AmazonECSInfrastructureRoleforExpressGatewayServices gestita nella Guida di riferimento alla politica AWS gestita

  • attivitàRoleArn: Task Role per le chiamate dal codice dell'applicazione container (opzionale)

    È possibile personalizzare questa opzione utilizzando l'opzione Configurazioni aggiuntive nella console o create-express-gateway-service --task-role-arn eseguendo.

    È necessario creare il nuovo ruolo IAM prima di creare o aggiornare il servizio Express Mode.

I seguenti ruoli IAM vengono configurati automaticamente da Express Mode.

  • ecsServiceRoleForECS: consente ad Amazon ECS di gestire il tuo cluster

  • AWSServiceRoleForElasticLoadBalancing: chiama altri AWS servizi per te, creati automaticamente da Elastic Load Balancing

  • AWSServiceRoleForApplicationAutoScaling_ECSService: chiama altri AWS servizi per tuo conto, creati automaticamente da Application Auto Scaling

Quando si fornisce una definizione di attività personalizzata utilizzando il taskDefinitionArn parametro, il ruolo di esecuzione dell'attività e il ruolo dell'attività vengono letti dalla definizione dell'attività.

Impostazioni predefinite di Application Auto Scaling

È possibile configurare le seguenti impostazioni di Application Auto Scaling in modalità Express:

  • autoScalingTargetValue: 60 - Percentuale di utilizzo della CPU prevista per il ridimensionamento

  • autoScalingMetric: «CPUUtilization» - Metrica utilizzata per le decisioni di ridimensionamento automatico

  • desideratoMinTaskCount: 1 - Numero minimo di attività da mantenere

  • desideratoMaxTaskCount: 20 - Numero massimo di attività a cui scalare (può essere aumentato o diminuito)

Le seguenti impostazioni possono essere configurate direttamente in Application Auto Scaling:

  • PolicyType: "TargetTrackingScaling" - Utilizza la politica di ridimensionamento del tracciamento degli obiettivi

  • disableScaleIn: false - Consente il ridimensionamento quando la domanda diminuisce

Impostazione predefinita dell'obiettivo di ridimensionamento dell'applicazione

Gli obiettivi di Application Auto Scaling definiscono i limiti di risorse e capacità scalabili per le operazioni di scalabilità automatica. Quanto segue può essere modificato in modalità Express:

  • MaxCapacity: Servizio Express Mode → MaxTasks - Numero massimo di attività a cui il servizio verrà ampliato (impostazione predefinita CreateLoadBalancedService o fornita dal cliente)

  • MinCapacity: Servizio Express Mode → MinTasks - Attività minime a cui il servizio verrà ridimensionato (impostazione predefinita CreateLoadBalancedService o fornita dal cliente)

  • ScalableDimension: ecs:service: DesiredCount - La proprietà da scalare

  • Tag: Derivato dai tag passati CreateLoadBalancedService - Tag di risorsa per questa risorsa

Le seguenti impostazioni predefinite possono essere modificate nel target scalabile Application Auto Scaling:

  • DynamicScalingInSuspended: false: indica se il ridimensionamento è sospeso

  • DynamicScalingOutSuspended: false - Indica se lo scaling out è sospeso

  • ScheduledScalingSuspended: false - Indica se il ridimensionamento pianificato è sospeso

Valori predefiniti dei criteri di ridimensionamento delle applicazioni

Le politiche di scalabilità implementano algoritmi di tracciamento degli obiettivi che monitorano l'utilizzo della CPU e regolano il numero di attività per mantenere prestazioni ottimali. È possibile modificare quanto segue dalla modalità Express:

  • TargetValue: 60% - Il valore target per la politica di tracciamento (servizio Express Mode → scaling-target-value)

  • PredefinedMetricType: ECSServiceAverageCPUUtilization - Il tipo di nome della metrica da tracciare (servizio Express Mode → scaling-metric)

    La modalità Express fornisce metriche di scalabilità per l'utilizzo medio della CPU, l'utilizzo medio della memoria e il numero di richieste per destinazione. Il numero di richieste per target proviene da Application Load Balancer e può essere impostato fino a 65536 richieste per target al secondo, ovvero il servizio Amazon ECS nel gruppo target Application Load Balancer.

Le seguenti impostazioni predefinite sono impostate da Express Mode ma possono essere modificate nella policy Application Auto Scaling:

  • PolicyName: < ServiceName ><» TargetMetric «> - Nome di questa politica di scalabilità (derivato dal nome del servizio ECS e dalla metrica di destinazione)

  • PolicyType: TargetTrackingScaling - Il tipo di ridimensionamento da eseguire (impostazione predefinita)

  • ScalableDimension: «ecs:service:DesiredCount" - La proprietà da scalare (impostazione predefinita)

  • DisableScaleIn: false - Indica se il ridimensionamento è disabilitato

Impostazioni predefinite di Application Load Balancer

È possibile configurare le seguenti impostazioni predefinite di Application Load Balancer in modalità Express:

  • schema: dipende dalle sottoreti: crea un sistema di Internet-facing bilanciamento del carico con indirizzi IP pubblici quando vengono fornite sottoreti pubbliche. Crea un sistema di bilanciamento del carico interno con indirizzi IP privati quando vengono fornite sottoreti private.

  • tipo di indirizzo IP: dipende dalle sottoreti: crea un Application Load Balancer solo IPv4 quando gli indirizzi sono IPv4. Quando sono presenti sottoreti, verrà creato un Application Load Balancer dual-stack. IPv6-enabled Nota che se disponi di IPv6-enabled sottoreti, il primo servizio Express Mode in un VPC definisce il load balancer interno o connesso a Internet per quel VPC. Per questo motivo, consigliamo di creare prima le IPv6-only sottoreti o in un nuovo VPC.

Le seguenti impostazioni predefinite sono impostate in modalità Express ed è possibile configurarle in Application Load Balancer:

  • modalità di desincronizzazione: disattivata: la mitigazione della desincronizzazione HTTP è disabilitata

  • access-logs.enabled: false - La registrazione degli accessi è disabilitata

  • listener-configurations.protocol: https - Utilizza il protocollo HTTPS per comunicazioni sicure

  • listener-configurations.port: 443 - Ascolta sulla porta HTTPS standard

  • listener-configurations.rule-type: host-header - Indirizza il traffico in base alle regole di intestazione dell'host

Impostazioni predefinite del gruppo target

Puoi configurare le seguenti impostazioni predefinite del gruppo target di Amazon EC2 in modalità Express:

  • health-check-path: (impostazione predefinita «/») percorso di controllo dello stato del servizio Express Mode - percorso URL per le richieste di controllo dello stato

  • port: (default 80) - Porta su cui gli obiettivi ricevono il traffico

  • health-check-port: (impostazione predefinita 80) - Porta per le richieste di controllo dello stato

Le seguenti impostazioni predefinite sono impostate dalla modalità Express ed è possibile configurarle nei gruppi target di Amazon EC2:

  • protocollo: HTTP - Protocollo per indirizzare il traffico verso le destinazioni

  • versione del protocollo: HTTP1 - versione del protocollo HTTP per la comunicazione

  • vpc-id: l'impostazione predefinita è l'identificatore VPC - Virtual Private Cloud predefinito per il gruppo target, ma verrà derivato dalle sottoreti fornite

  • health-check-protocol: Uguale a Protocol - Protocollo per le richieste di controllo sanitario

  • health-check-enabled: Sempre abilitato - I controlli sanitari vengono abilitati automaticamente

  • heth-check-interval-seconds: 30 - Intervallo di tempo che intercorre tra i controlli sanitari dei singoli obiettivi

  • health-check-timeout-seconds: 5 - Durata del timeout per le risposte ai controlli sanitari

  • healthy-threshold count: 5 - Per verificare lo stato di salute sono necessari controlli sanitari consecutivi con esito positivo

  • unhealthy-threshold count: 2 - Controlli sanitari consecutivi non riusciti richiesti per lo stato di non salute

  • target-type: ip - Le destinazioni vengono registrate tramite indirizzo IP

  • ip-address-type: ipv4 - Utilizza gli indirizzi IPv4 per la registrazione del target

Condivisione delle risorse e ottimizzazione dei costi

I servizi Express Mode condividono automaticamente le risorse quando possibile per ottimizzare i costi:

  • Condivisione del carico: fino a 25 servizi Express Mode nello stesso VPC possono condividere un Application Load Balancer. La modalità Express fornirà gli Application Load Balancer aggiuntivi, se necessario, a seconda della quantità di servizi Express Mode forniti. Inoltre, riducendo la quantità di servizi Express Mode presenti nel VPC, Express Mode eliminerà anche le funzionalità di Application Load Balancers.This Sharing non utilizzate, riducendo il costo effettivo per applicazione man mano che si implementano più servizi Express Mode.

  • Condivisione dei cluster: i servizi Express Mode possono essere raggruppati in Amazon ECS Clusters. I servizi Express Mode possono anche condividere i cluster Amazon ECS con i servizi Amazon ECS non gestiti da Express Mode.