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à.
Crea il tuo primo servizio Express Mode utilizzando il AWS CLI
Questo tutorial mostra come creare un'applicazione di servizio Express Mode utilizzando. AWS AWS CLI Implementerai una semplice applicazione web che dimostra le funzionalità principali del servizio Express Mode.
Prerequisiti
Prima di iniziare, assicurati di disporre dei seguenti elementi:
Un AWS account con le autorizzazioni appropriate
L' AWS AWS CLI installato e configurato
Un'immagine del contenitore archiviata in Amazon ECR o in un registro privato
Fase 1: creazione di ruoli IAM
Un servizio Express Mode richiede due ruoli IAM. Il Task Execution Role consente ad Amazon ECS di estrarre immagini di container e scrivere log per tuo conto. Crea un ruolo di esecuzione delle attività e un ruolo di infrastruttura con le seguenti politiche:
#Create the roles with ECS trust policies aws iam create-role --role-name ecsTaskExecutionRole \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ecs-tasks.amazonaws.com" }, "Action": "sts:AssumeRole", } ] }' aws iam create-role --role-name ecsInfrastructureRoleForExpressServices \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessInfrastructureForECSExpressServices", "Effect": "Allow", "Principal": { "Service": "ecs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
#Attach the AWS managed policies aws iam attach-role-policy --role-name ecsTaskExecutionRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy aws iam attach-role-policy --role-name ecsInfrastructureRoleForExpressServices \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRoleforExpressGatewayServices
Per ulteriori informazioni, consulta Ruolo IAM di esecuzione di attività Amazon ECS.
Fase 2: Creare la prima applicazione di servizio Express Mode
Creare un'applicazione di servizio Express Mode con i parametri minimi richiesti:
aws ecs create-express-gateway-service \ --image "public.ecr.aws/nginx/nginx:latest" \ --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole \ --infrastructure-role-arn arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices \ --monitor-resources
Questo comando crea un'applicazione di servizio Express Mode con:
Un nome di servizio univoco generato dal nome dell'immagine
1 vCPU e 2 GB di memoria
Porta 80 per il traffico HTTPS
Scalabilità automatica basata sull'utilizzo della CPU
Un Application Load Balancer connesso a Internet nel VPC predefinito e nelle sottoreti pubbliche
Un URL univoco per questo servizio nel formato
servicename.ecs.region.on.aws
Il comando monitora continuamente le risorse man mano che vengono fornite e ne restituisce lo stato. Una volta completata la distribuzione del servizio, l'URL dell'applicazione è pronto per ricevere traffico. Quando si interrompe il monitoraggio, vengono restituite le informazioni sul servizio creato, inclusi l'ARN e l'URL del servizio:
{ "service": { "cluster": "arn:aws:ecs:region:123456789012:cluster/default", "serviceName": "nginx-1234", "serviceArn": "arn:aws:ecs:region:123456789012:service/default/nginx-1234", "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices", "status": { "statusCode": "ACTIVE" }, "createdAt": "UNIXTIMESTAMP" } }
Fase 3: Creare un'applicazione di servizio Express Mode con impostazioni personalizzate
È possibile personalizzare l'applicazione di servizio Express Mode specificando parametri aggiuntivi:
aws ecs create-express-gateway-service \ --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole \ --infrastructure-role-arn arn:aws:iam::123456789012:role/ecsInfrastructureRoleForExpressServices \ --primary-container \ ‘{“image”=“123456789012.dkr.ecr.region.amazonaws.com/my-app:latest", \ “containerPort”=8080, \ “environment”=[{“name”=“ENV”,”value”=“production”},{“name”=“DEBUG”,”value”=“false”}]}’ \ --service-name "my-web-app" \ --cpu 2 \ --memory 4 \ --health-check-path "/health" \ --scaling-target ‘{“minTaskCount”=3,”maxTaskCount”=100}’ --monitor-resources
In questo modo viene creata un'applicazione con:
Un nome personalizzato "my-web-app»
2 vCPU e 4 GB di memoria
Porta 8080 per il traffico delle applicazioni
Endpoint personalizzato per il controllo dello stato
Variabili di ambiente
Minimo 3 attività, massimo 100 attività per la scalabilità automatica
Fase 4: Monitora la distribuzione
Il --monitor-resources flag funziona su qualsiasi chiamata di creazione, aggiornamento o eliminazione ai servizi in modalità Express. Inoltre, è possibile monitorare le risorse di un servizio in qualsiasi momento, indipendentemente da un'azione di mutazione. I tempi di implementazione possono variare a seconda delle risorse da fornire. Una volta modificato lo statoACTIVE, l'applicazione è pronta a ricevere traffico.
aws ecs monitor-express-gateway-service --service-arn arn:aws:ecs:region:123456789012:service/app-23d97h88
È inoltre possibile trovare la configurazione e lo stato correnti dell'applicazione di servizio Express Mode:
aws ecs describe-express-gateway-service --service-arn arn:aws:ecs:region:123456789012:service/app-23d97h88
Fase 5: Accedere all'applicazione
Accedi all'applicazione del servizio Express Mode utilizzando l'URL fornito quando diventa attiva. Il formato dell'URL è:
https://<service-name>.ecs.<region>.on.aws/
Esempio:
https://app-23d97h88.ecs.us-west-2.on.aws/
L'applicazione è ora in esecuzione con:
SSL/TLS Terminazione automatica
Bilanciamento del carico su più zone di disponibilità
Scalabilità automatica basata sull'utilizzo della CPU
CloudWatch registrazione e monitoraggio
5XX Rollback Alarms e Canary Deployments per aggiornamenti futuri