Ruolo IAM delle istanze di container Amazon ECS
Le istanze di container Amazon ECS, incluse le istanze Amazon EC2 e le istanze esterne, eseguono l'agente del container di Amazon ECS e richiedono un ruolo IAM che consenta al servizio di rilevare che l'agente appartiene a te. Prima di avviare le istanze di container e registrarle in un cluster, devi creare un ruolo IAM per le istanze da utilizzare. Il ruolo viene creato nell'account utilizzato per accedere alla console o eseguire i comandi AWS CLI.
Importante
Se registri le istanze esterne nel cluster, il ruolo IAM utilizzato richiede anche le autorizzazioni di Systems Manager. Per ulteriori informazioni, consulta Ruolo IAM di Amazon ECS Anywhere.
Amazon ECS fornisce la policy IAM gestita da AmazonEC2ContainerServiceforEC2Role che contiene le autorizzazioni necessarie per utilizzare il set completo di funzionalità di Amazon ECS. Questa policy gestita può essere associata a un ruolo IAM e alle istanze del container. In alternativa, è possibile utilizzare la policy gestita come guida durante la creazione di una policy personalizzata da utilizzare. Il ruolo dell'istanza di container fornisce le autorizzazioni necessarie per l'agente del container di Amazon ECS e il daemon Docker per chiamare le API AWS per tuo conto. Per ulteriori informazioni sulla policy gestita, consulta AmazonEC2ContainerServiceforEC2Role.
Crea il ruolo dell'istanza di container
Importante
Se registri istanze esterne nel cluster, consulta Ruolo IAM di Amazon ECS Anywhere.
Puoi creare manualmente il ruolo e collegare la policy IAM gestita per le istanze di container in modo da consentire ad Amazon ECS di aggiungere le autorizzazioni per funzionalità e miglioramenti futuri man mano che vengono introdotti. Usa la seguente procedura per collegare la policy IAM gestita, se necessario.
Dopo aver creato il ruolo, aggiungi ad esso ulteriori autorizzazioni per le seguenti funzionalità.
| Funzionalità | Autorizzazioni aggiuntive |
|---|---|
|
Amazon ECR ha l'immagine del container |
|
| Consenti a CloudWatch Logs di monitorare le istanze di container | Monitoraggio delle autorizzazioni delle istanze di container |
| File di configurazione di host in un bucket Amazon S3 |
Autorizzazioni Amazon ECR
Il ruolo dell'istanza di container di Amazon ECS utilizzato con le istanze di container deve possedere le seguenti autorizzazioni di policy IAM per Amazon ECR.
Se utilizzi la policy gestita AmazonEC2ContainerServiceforEC2Role per le tue istanze di container, il tuo ruolo dispone già delle opportune autorizzazioni. Per verificare se il tuo ruolo supporta Amazon ECR, consulta Ruolo IAM per le istanze di container di Amazon ECS nella Guida per lo sviluppatore di Amazon Elastic Container.
Autorizzazioni necessarie per configurare l'impostazione dell'account awsvpcTrunking
Amazon ECS supporta l'avvio di istanze di container con densità ENI aumentata mediante i tipi di istanze Amazon EC2 supportati. Se usi questa funzionalità, consigliamo di creare 2 ruoli dell'istanza di container. Abilita l'impostazione dell'account awsvpcTrunking per un ruolo e usare quel ruolo per attività che richiedono il trunking ENI. Per informazioni sulle impostazioni dell'account awsvpcTrunking, consulta Accedi alle funzionalità di Amazon ECS con le impostazioni dell'account.
Il ruolo dell'istanza di container utilizzato con le istanze di container deve possedere le seguenti autorizzazioni di policy IAM per configurare le impostazioni dell'account
Per usare il ruolo dell'istanza di container, aggiungi quanto segue ai dati utente dell'istanza:
#!/bin/bash aws ecs put-account-setting --name awsvpcTrunking --value enabled --regionregionECS_CLUSTER=MyCluster>> /etc/ecs/ecs.config EOF
Per maggiori informazioni sull'aggiunta di dati utente alle istanze EC2, consulta Run commands on your Linux instance at launch nella Guida dell'utente di Amazon EC2.
Accesso in sola lettura ad Amazon S3
Archiviare le informazioni di configurazione in un bucket privato in Amazon S3 e concedere l'accesso in sola lettura al ruolo IAM dell'istanza di container è un modo sicuro e conveniente per permettere la configurazione delle istanze di container all'ora di avvio. Puoi archiviare una copia del file ecs.config in un bucket privato, utilizzare i dati utente di Amazon EC2 per installare la AWS CLI e copiare le informazioni di configurazione su /etc/ecs/ecs.config all'avvio dell'istanza.
Per ulteriori informazioni sulla creazione di un file ecs.config, sull'archiviazione di tale file in Amazon S3 e sull'avvio di istanze con questa configurazione, consulta Archiviazione della configurazione di un'istanza di container Amazon ECS in Amazon S3.
È possibile utilizzare il seguente comando AWS CLI per consentire l'accesso in sola lettura ad Amazon S3 per il ruolo dell'istanza di container. Sostituisci ecsInstanceRole con il nome del ruolo che hai creato.
aws iam attach-role-policy \ --role-nameecsInstanceRole\ --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
Puoi usare la console IAM per aggiungere l'accesso in sola lettura ad Amazon S3 (AmazonS3ReadOnlyAccess) al tuo ruolo. Per ulteriori informazioni, consulta Aggiornamento delle autorizzazioni per un ruolo nella Guida per l'utente di AWS Identity and Access Management.
Monitoraggio delle autorizzazioni delle istanze di container
Prima che le tue istanze di container possano inviare i dati di log a CloudWatch Logs, devi creare una policy IAM per consentire all'agente Amazon ECS di scrivere i log dell'applicazione del cliente su CloudWatch (normalmente gestiti tramite il awslogs). Dopo aver creato la policy, collegala a ecsInstanceRole.