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. Determinadas variáveis de ambiente inócuas, 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 Adicionar um objeto a um bucket no Guia 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