Configurar os sistemas de arquivos do Amazon EFS para o Amazon ECS usando o console - Amazon Elastic Container Service

Configurar os sistemas de arquivos do Amazon EFS para o Amazon ECS usando o console

Saiba como usar os sistemas de arquivos do Amazon Elastic File System (Amazon EFS) com o Amazon ECS.

Etapa 1: criar um cluster do Amazon ECS

Use as etapas a seguir para criar um cluster do Amazon ECS.

Para criar um novo cluster (console do Amazon ECS)

Antes de começar, atribua a permissão apropriada do IAM. Para ter mais informações, consulte Exemplos de clusters do Amazon ECS.

  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. Na barra de navegação, selecione a Região a ser usada.

  3. No painel de navegação, escolha Clusters.

  4. Na página Clusters, escolha Create Cluster (Criar cluster).

  5. Em Configuração do cluster, em Nome do cluster, insira EFS-tutorial para o nome do cluster.

  6. (Opcional) Para alterar a VPC e as sub-redes onde suas tarefas e serviços são iniciados, em Networking (Redes), execute qualquer uma das operações a seguir:

    • Para remover uma sub-rede, em Subnets (Sub-redes), escolha X para cada sub-rede que você deseja remover.

    • Para mudar para uma VPC diferente da VPC default (padrão), em VPC, escolha uma VPC existente e, depois, Subnets (Sub-redes), e selecione cada sub-rede.

  7. Para adicionar instâncias do Amazon EC2 ao seu cluster, expanda Infraestrutura e selecione Instâncias do Amazon EC2. Em seguida, configure o grupo do Auto Scaling que atua como o provedor de capacidade:

    1. Para criar um grupo do Auto Scaling, a partir de Auto Scaling group (ASG) (Grupo do Auto Scaling (ASG)), selecione Create new group (Criar novo grupo) e, em seguida, forneça os seguintes detalhes sobre o grupo:

      • Em Sistema/arquitetura operacional, escolha Amazon Linux 2.

      • Em EC2 instance type (Tipo de instância do EC2), escolha t2.micro.

        Em SSH key pair (Par de chaves de SSH), escolha o par que prova sua identidade quando você se conecta à instância.

      • Em Capacidade, insira 1.

  8. Escolha Criar.

Etapa 2: criar um grupo de segurança para instâncias do Amazon EC2 e o sistema de arquivos Amazon EFS

Nesta etapa, você criará um grupo de segurança para suas instâncias do Amazon EC2 que permite tráfego de rede de entrada na porta 80 e seu sistema de arquivos Amazon EFS que permite o acesso de entrada das suas instâncias de contêiner.

Crie um grupo de segurança para suas instâncias do Amazon EC2 com as opções a seguir:

  • Nome do grupo de segurança: um nome exclusivo para seu grupo de segurança.

  • VP: a VPC identificada anteriormente para o cluster.

  • Regra de entrada

    • Tipo: HTTP

    • Origem: 0.0.0.0/0.

Crie um grupo de segurança seu sistema de arquivos Amazon EFS com as opções a seguir:

  • Nome do grupo de segurança: um nome exclusivo para seu grupo de segurança. Por exemplo, EFS-access-for-sg-dc025fa2.

  • VP: a VPC identificada anteriormente para o cluster.

  • Regra de entrada

    • Tipo: NFS

    • Origem: Personalizada com o ID do grupo de segurança que você criou para suas instâncias.

Para obter informações sobre como criar um grupo de segurança, consulte Criar um grupo de segurança no Manual do usuário do Amazon EC2.

Etapa 3: criar um sistema de arquivos do Amazon EFS

Nesta etapa, você cria um sistema de arquivos do Amazon EFS.

Para criar um sistema de arquivos do Amazon EFS para tarefas do Amazon ECS.
  1. Abra o console do Amazon Elastic File System em https://console.aws.amazon.com/efs/.

  2. Escolha Create file system (Criar sistema de arquivos).

  3. Insira um nome para seu sistema de arquivos e escolha a VPC na qual suas instâncias de contêiner estão hospedadas. Por padrão, cada sub-rede na VPC especificada recebe um destino de montagem que usa o grupo de segurança padrão para essa VPC. Em seguida, escolha Personalizar.

    nota

    Este tutorial pressupõe que o sistema de arquivos do Amazon EFS, o cluster do Amazon ECS, as instâncias de contêiner e as tarefas estejam na mesma VPC. Para obter mais informações sobre a montagem de um sistema de arquivos em uma VPC diferente, consulte Walkthrough: Mount a file system from a different VPC no Guia do usuário do Amazon EFS.

  4. Na página Configurações do sistema de arquivos, defina as configurações opcionais e, em Configurações de performance, escolha o modo de throughput Intermitente para seu sistema de arquivos. Depois de definir as configurações, selecione Avançar.

    1. (Opcional) Adicione tags ao sistema de arquivos. Por exemplo, você pode especificar um nome exclusivo para o sistema de arquivos inserindo esse nome na coluna Value (Valor) ao lado da chave Name (Nome).

    2. (Opcional) Habilite o gerenciamento do ciclo de vida para economizar dinheiro em armazenamento acessado com pouca frequência. Para obter mais informações, consulte Gerenciamento de ciclo de vida do EFS no Guia do usuário do Amazon Elastic File System.

    3. (Opcional) Habilitar criptografia. Marque a caixa de seleção para habilitar a criptografia do sistema de arquivos do Amazon EFS em repouso.

  5. Na página Acesso à rede, em Montar destinos, substitua a configuração do grupo de segurança existente para cada zona de disponibilidade pelo grupo de segurança que você criou para o sistema de arquivos Etapa 2: criar um grupo de segurança para instâncias do Amazon EC2 e o sistema de arquivos Amazon EFS e escolha Avançar.

  6. Não é preciso configurar a Política do sistema de arquivos para este tutorial, de modo que é possível pular a seção escolhendo Avançar.

  7. Revise as opções do sistema de arquivos e escolha Criar para concluir o processo.

  8. Na tela Sistemas de arquivo, registre o ID do sistema de arquivos. Na próxima etapa, você fará referência a esse valor na definição de tarefa do Amazon ECS.

Etapa 4: adicionar conteúdo ao sistema de arquivos do Amazon EFS

Nesta etapa, você monta o sistema de arquivos do Amazon EFS em uma instância do Amazon EC2 e adiciona conteúdo a ela. Esta etapa é para fins de teste neste tutorial, a fim de ilustrar a natureza persistente dos dados. Ao usar esse recurso, você normalmente teria sua aplicação ou outro método de gravação de dados no seu sistema de arquivos do Amazon EFS.

Para criar uma instância do Amazon EC2 e montar o sistema de arquivos do Amazon EFS
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Escolha Executar instância.

  3. Em Imagens de aplicações e sistemas operacionais (imagem de máquina da Amazon), selecione a AMI do Amazon Linux 2 (HVM).

  4. Em Tipo de instância, mantenha o tipo de instância padrão, t2.micro.

  5. Em Par de chaves (login), selecione um par de chaves para acesso por SSH à instância.

  6. Em Configurações de rede, selecione a VPC especificada para o sistema de arquivos Amazon EFS e o cluster do Amazon ECS. Selecione uma sub-rede e o grupo de segurança da instância criado em Etapa 2: criar um grupo de segurança para instâncias do Amazon EC2 e o sistema de arquivos Amazon EFS. Configure o grupo de segurança da instância. Verifique se Atribuir automaticamente IP público está habilitado.

  7. Em Configurar armazenamento, escolha o botão Editar para sistemas de arquivos e, em seguida, escolha EFS. Selecione o sistema de arquivos que você criou em Etapa 3: criar um sistema de arquivos do Amazon EFS. Opcionalmente, é possível alterar o ponto de montagem ou deixar o valor padrão.

    Importante

    É necessário selecionar uma sub-rede antes de adicionar um sistema de arquivos à instância.

  8. Desmarque Criar e anexar grupos de segurança automaticamente. Deixe a outra caixa de seleção marcada. Selecione Add shared file system (Adicionar sistema de arquivos compartilhado).

  9. Em Advanced Details (Detalhes avançados), certifique-se de que o script de dados do usuário seja preenchido automaticamente com as etapas de montagem do sistema de arquivos do Amazon EFS.

  10. Em Resumo, verifique se o Número de instâncias é 1. Escolha Iniciar instância.

  11. Na página Iniciar uma instância escolha Visualizar todas instâncias para ver o status das suas instâncias. Inicialmente, o Estado da instância é PENDING. Depois que o estado mudar para RUNNING e a instância passar por todas as verificações de status, a instância estará pronta para uso.

Agora, você se conecta à instância do Amazon EC2 e adiciona conteúdo ao sistema de arquivos do Amazon EFS.

Para conectar-se à instância do Amazon EC2 e adicionar conteúdo ao sistema de arquivos do Amazon EFS
  1. SSH para a instância do Amazon EC2 que você criou. Para obter mais informações, consulte Conectar-se à sua instância do Linux no Manual do usuário do Amazon EC2.

  2. Na janela do terminal, execute o comando df -T para verificar se o sistema de arquivos Amazon EFS está montado. Na saída a seguir, destacamos a montagem do sistema de arquivos do Amazon EFS.

    $ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on devtmpfs devtmpfs 485468 0 485468 0% /dev tmpfs tmpfs 503480 0 503480 0% /dev/shm tmpfs tmpfs 503480 424 503056 1% /run tmpfs tmpfs 503480 0 503480 0% /sys/fs/cgroup /dev/xvda1 xfs 8376300 1310952 7065348 16% / 127.0.0.1:/ nfs4 9007199254739968 0 9007199254739968 0% /mnt/efs/fs1 tmpfs tmpfs 100700 0 100700 0% /run/user/1000
  3. Navegue até o diretório no qual o sistema de arquivos do Amazon EFS está montado. No exemplo acima, ele é /mnt/efs/fs1.

  4. Crie um arquivo chamado index.html com o seguinte conteúdo:

    <html> <body> <h1>It Works!</h1> <p>You are using an Amazon EFS file system for persistent container storage.</p> </body> </html>

Etapa 5: criar uma definição de tarefa

A definição de tarefa a seguir cria um volume de dados chamado efs-html. O contêiner nginx monta o volume de dados do host na raiz de NGINX, /usr/share/nginx/html.

Para criar uma nova definição de tarefa usando o console do Amazon ECS
  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. No painel de navegação, escolha Task definitions (Definições de tarefa).

  3. Escolha Create new task definition (Criar nova definição de tarefa), Create new task definition with JSON (Criar nova definição de tarefa com JSON).

  4. Na caixa do editor JSON, copie e cole o seguinte texto JSON, substituindo fileSystemId pelo ID do sistema de arquivos do Amazon EFS.

    { "containerDefinitions": [ { "memory": 128, "portMappings": [ { "hostPort": 80, "containerPort": 80, "protocol": "tcp" } ], "essential": true, "mountPoints": [ { "containerPath": "/usr/share/nginx/html", "sourceVolume": "efs-html" } ], "name": "nginx", "image": "nginx" } ], "volumes": [ { "name": "efs-html", "efsVolumeConfiguration": { "fileSystemId": "fs-1324abcd", "transitEncryption": "ENABLED" } } ], "family": "efs-tutorial", "executionRoleArn":"arn:aws::iam::111122223333:role/ecsTaskExecutionRole" }
    nota

    Você pode adicionar as permissões a seguir ao perfil do IAM de execução de tarefas do Amazon ECS para permitir que o agente do Amazon ECS localize e monte um sistema de arquivos do Amazon EFS em uma tarefa no startup.

    • elasticfilesystem:ClientMount

    • elasticfilesystem:ClientWrite

    • elasticfilesystem:DescribeMountTargets

    • elasticfilesystem:DescribeFileSystems

  5. Escolha Criar.

Etapa 6: executar uma tarefa e visualizar os resultados

Agora que o sistema de arquivos do Amazon EFS foi criado e há conteúdo da Web para o contêiner NGINX atender, você pode executar uma tarefa usando a definição de tarefa criada. Os servidores web do NGINX fornecem sua página HTML simples. Se você atualizar o conteúdo no sistema de arquivos do Amazon EFS, essas alterações serão propagadas para todos os contêineres que também tenham montado este sistema de arquivos.

A tarefa é executada na sub-rede que você definiu para o cluster.

Para executar uma tarefa e visualizar os resultados usando o console
  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. Na página Clusters, selecione o cluster que contém a tarefa autônoma.

    Determine o recurso no qual você inicia o serviço.

    Para iniciar um serviço em Etapas

    Clusters

    1. Na página Clusters, selecione o cluster no qual o serviço será criado.

    2. Na guia Tasks (Tarefas), escolha Run new task (Executar nova tarefa).

    Tipo de inicialização
    1. Na página Task (Tarefa), escolha a definição de tarefa.

    2. Se houver mais de uma revisão, selecione a revisão.

    3. Escolha Create (Criar), Run task (Executar tarefa).

  3. (Opcional) Escolha como a tarefa programada é distribuída em toda a infraestrutura do cluster. Expanda Compute configuration (Configuração de computação) e realize estas ações:

    Método de distribuição Etapas
    Tipo de inicialização
    1. Na seção Compute options (Opções de computação), selecione Launch type (Tipo de inicialização).

    2. Em Tipo de inicialização, selecione EC2.

  4. Em Application type (Tipo de aplicação), escolha Task (Tarefa).

  5. Em Definição de tarefa, escolha a definição de tarefa efs-tutorial que você criou anteriormente.

  6. Em Tarefas desejadas, insira 1.

  7. Escolha Criar.

  8. Na página Cluster, escolha Infraestrutura.

  9. Em Instâncias de contêiner, escolha a instância de contêiner com a qual deseja estabelecer conexão.

  10. Na página Instância de contêiner, Em Redes, registre o IP público para sua instância.

  11. Abra um navegador e insira o endereço IP público. Você deve ver a mensagem a seguir:

    It works! You are using an Amazon EFS file system for persistent container storage.
    nota

    Se você não vir a mensagem, verifique se o grupo de segurança para suas instâncias de contêiner permite o tráfego de rede de entrada na porta 80 e se o grupo de segurança do seu sistema de arquivos permite acesso de entrada a partir da instância de contêiner.