Armazenamento da configuração da instância de contêiner do Amazon ECS no Amazon S3
A configuração do agente de contêiner do Amazon ECS é controlada com a variável de ambiente. As variantes do Linux da AMI otimizada para Amazon ECS procuram essas variáveis em /etc/ecs/ecs.config
quando o agente de contêiner é iniciado e configuram o agente adequadamente. Variáveis de ambiente não sensíveis, como ECS_CLUSTER
, podem ser transmitidas para a instância de contêiner na inicialização com os dados de usuário do Amazon EC2 e gravadas nesse arquivo sem consequências. Contudo, outras informações confidenciais, como suas credenciais da AWS ou a variável ECS_ENGINE_AUTH_DATA
, nunca devem ser passadas para uma instância em dados de usuário ou ser gravadas em /etc/ecs/ecs.config
de forma a permitir que sejam exibidas em um arquivo .bash_history
.
Armazenar informações de configuração em um bucket privado no Amazon S3 e conceder acesso somente leitura à função do IAM de instância de contêiner é uma maneira segura e prática de permitir a configuração da instância de contêiner na inicialização. É possível armazenar uma cópia do seu arquivo ecs.config
em um bucket privado. É possível usar os dados do usuário do Amazon EC2 para instalar a AWS CLI e copiar as informações de configuração em /etc/ecs/ecs.config
quando a instância for iniciada.
Para armazenar um arquivo ecs.config
no Amazon S3
Você deve conceder permissões para ter acesso somente leitura ao Amazon S3 ao perfil de instância de contêiner (ecsInstanceRole). É possível fazer isso ao atribuir AmazonS3ReadOnlyAccess ao perfil
ecsInstanceRole
. Para obter informações sobre como anexar uma política a um perfil, consulte Atualizar permissões para um perfil no Guia do usuário do AWS Identity and Access Management.-
Crie um arquivo
ecs.config
com variáveis de configuração válidas do agente Amazon ECS usando o formato a seguir. Este exemplo configura a autenticação de registro privado. Para ter mais informações, consulte Uso de imagens de contêiner que não são da AWS no Amazon ECS.ECS_ENGINE_AUTH_TYPE=dockercfg ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"
zq212MzEXAMPLE7o6T25Dk0i
","email":"email@example.com
"}}nota
Para obter uma lista completa das variáveis de configuração do agente do Amazon ECS disponíveis, consulte Agente de contêiner do Amazon ECS
no GitHub. -
Para armazenar o arquivo de configuração, crie um bucket privado no Amazon S3. Para obter mais informações, consulte Criar um bucket no Guia do usuário do Amazon Simple Storage Service.
-
Faça upload do arquivo
ecs.config
no bucket do S3. Para obter mais informações, consulte Fazer upload de objetos no Guia do usuário do Amazon Simple Storage Service.
Para carregar um arquivo ecs.config
do Amazon S3 na inicialização
-
Execute os procedimentos anteriores nesta seção para permitir acesso somente leitura do Amazon S3 às suas instâncias de contêiner e armazene um arquivo
ecs.config
em um bucket do S3 privado. -
Inicie novas instâncias de contêiner e use o script de exemplo apresentado a seguir nos dados do usuário do EC2. O script instala a AWS CLI e copia o arquivo de configuração para
/etc/ecs/ecs.config
. Para ter mais informações, consulte Iniciar uma instância de contêiner do Linux do Amazon ECS.#!/bin/bash yum install -y aws-cli aws s3 cp s3://
your_bucket_name
/ecs.config /etc/ecs/ecs.config