Como faço para montar um sistema de arquivos do EFS em um contêiner ou tarefa do ECS executado no Amazon EC2?

3 minuto de leitura
0

Quero montar um Amazon Elastic File System (Amazon EFS) em um contêiner ou tarefa do Amazon Elastic Container Service (Amazon ECS). O contêiner ou tarefa usa um tipo de inicialização do Amazon Elastic Compute Cloud (Amazon EC2).

Resolução

Crie uma definição de tarefa que forneça a ID do sistema de arquivos nos parâmetros de definição da tarefa de volume. Isso permite que o sistema de arquivos do EFS seja montado automaticamente nas tarefas que você especificar em sua definição de tarefa.

Requisitos de rede

Confirme se você tem as seguintes configurações:

  • O sistema de arquivos do EFS e o cluster do ECS para o tipo de inicialização do Amazon EC2 devem estar na mesma nuvem privada virtual (VPC).
  • Os grupos de segurança do sistema de arquivos do EFS devem permitir conexões de entrada na porta 2049 a partir da instância de contêiner do ECS e da tarefa do ECS.
  • Os grupos de segurança da instância ou das tarefas do ECS devem permitir conexões de saída na porta 2049 com o grupo de segurança do sistema de arquivos do EFS.

Crie uma definição de tarefa

Conclua as seguintes etapas:

  1. Abra o console do Amazon ECS e escolha Definições de tarefas, Criar nova definição de tarefa.
  2. Para o tipo de inicialização, escolha EC2 e, em seguida, escolha Próxima etapa.
  3. Em Configurar definições de tarefa e contêiner, insira um nome para sua definição de tarefa.
  4. Na seção Volume, escolha Adicionar volume.
  5. Insira um nome para o volume e escolha EFS na lista suspensa Tipos de volume.
  6. Para a ID do sistema de arquivos, selecione a ID do sistema de arquivos a ser usada com as tarefas do ECS.
  7. (Opcional) Especifique o Diretório raiz, a Criptografia em trânsito e a Autorização do IAM do EFS. Se você não especificar nada, o diretório raiz padrão "/" será usado.
  8. Escolha Adicionar.
  9. Ao criar o contêiner, em Definições de contêiner, escolha Adicionar contêiner para usar o novo volume. Em seguida, na subseção Pontos de montagem, em Armazenamento e registro, selecione o volume.
  10. Em Caminho do contêiner, escolha o caminho do diretório que está no contêiner da sua aplicação e escolha Adicionar.
  11. Preencha os campos obrigatórios no assistente de definição de tarefa e escolha Criar.
    No exemplo a seguir, a definição de tarefa cria um volume de dados chamado efs-ec2-test. O contêiner nginx monta o volume de dados do host no caminho /usr/share/nginx/html:
{  "containerDefinitions": [
    {
      "memory": 128,
      "portMappings": [
        {
          "hostPort": 80,
          "containerPort": 80,
          "protocol": "tcp"
        }
      ],
      "essential": true,
      "mountPoints": [
        {
          "containerPath": "/usr/share/nginx/html",
          "sourceVolume": "efs-ec2-test"
        }
      ],
      "name": "nginx",
      "image": "nginx"
    }
  ],
  "volumes": [
    {
      "name": "efs-ec2-test",
      "efsVolumeConfiguration": {
        "fileSystemId": "fs-1324abcd",
        "transitEncryption": "ENABLED"
      }
    }
  ],
  "family": "efs-test"
}

Observação: Substitua os parâmetros fileSystemid, containerPath e outros parâmetros de definição de tarefa por seus valores.
No exemplo anterior, você pode criar um arquivo index.html de amostra no diretório raiz do sistema de arquivos que se pareça com o seguinte:

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

Execute uma tarefa do Amazon ECS

Conclua as seguintes etapas:

  1. Para executar sua tarefa do ECS, use a definição da tarefa.
  2. Para verificar se o sistema de arquivos do EFS está montado no contêiner do ECS, use o endereço IP da instância para acessar o site.
AWS OFICIAL
AWS OFICIALAtualizada há 3 meses