Volumes do Amazon EFS - Serviço Amazon Elastic Container

Volumes do Amazon EFS

O Amazon Elastic File System (Amazon EFS) oferece armazenamento simples e escalável de arquivos para uso com tarefas do Amazon ECS. Com o Amazon EFS, a capacidade de armazenamento é elástica. Ela aumenta e diminui automaticamente à medida que arquivos são adicionados e removidos. Suas aplicações poderão ter o armazenamento que precisarem e quando precisarem.

Use os sistemas de arquivos do Amazon EFS com o Amazon ECS para exportar dados do sistema de arquivos em sua frota de instâncias de contêiner. Desse modo, suas tarefas terão acesso ao mesmo armazenamento persistente, não importa a instância em que estejam. Suas definições de tarefa devem fazer referências a montagens de volume na instância de contêiner para usar o sistema de arquivos. As seções a seguir descrevem como começar a usar o Amazon EFS com o Amazon ECS.

Para ver um tutorial, consulte Tutorial: usar sistemas de arquivos do Amazon EFS com o Amazon ECS usando o console clássico.

Considerações de volume do Amazon EFS

Considere o seguinte ao usar volumes do Amazon EFS:

  • Para tarefas que usam o tipo de inicialização do EC2, o suporte ao sistema de arquivos do Amazon EFS foi adicionado como uma visualização prévia pública com a versão 20191212 da AMI otimizada para Amazon ECS com a versão 1.35.0 do agente de contêiner. No entanto, o suporte ao sistema de arquivos do Amazon EFS se tornou disponível para o público com a versão 20200319 da AMI otimizada para Amazon ECS com a versão 1.38.0 do agente de contêiner, que continha os recursos de ponto de acesso do Amazon EFS e de autorização do IAM. Recomendamos o uso da versão 20200319 ou posterior da AMI otimizada para Amazon ECS ou posterior para usar esses recursos. Para mais informações, consulte Versões da AMI otimizada para Amazon ECS.

    nota

    Se você criar sua própria AMI, deverá usar o agente de contêiner 1.38.0 ou posterior, ecs-init versão 1.38.0-1 ou posterior e executar os comandos a seguir na instância do Amazon EC2 para habilitar o plug-in de volume do Amazon ECS. Os comandos dependem de você estar usando o Amazon Linux 2 ou o Amazon Linux como imagem base.

    Amazon Linux 2

    yum install amazon-efs-utils systemctl enable --now amazon-ecs-volume-plugin

    Amazon Linux

    yum install amazon-efs-utils sudo shutdown -r now
  • Para tarefas hospedadas no Fargate, os sistemas de arquivos do Amazon EFS são compatíveis com a versão 1.4.0 ou posterior (Linux) da plataforma. Para mais informações, consulte Versões da plataforma AWS Fargate.

  • Ao usar volumes do Amazon EFS para tarefas hospedadas no Fargate, o Fargate cria um contêiner do supervisor responsável pelo gerenciamento do volume do Amazon EFS. O contêiner do supervisor usa uma pequena quantidade de memória da tarefa. O contêiner do supervisor fica visível ao consultar o endpoint de metadados de tarefas versão 4. No entanto, isso não está visível no CloudWatch Container Insights. Para obter mais informações, consulte Endpoint de metadados de tarefas versão 4.

  • Não há suporte para o uso de volumes do Amazon EFS ou a especificação de um EFSVolumeConfiguration em instâncias externas.

Usar pontos de acesso do Amazon EFS

Os pontos de acesso do Amazon EFS são pontos de entrada específicos da aplicação para um sistema de arquivos do EFS para gerenciar o acesso de aplicações a conjuntos de dados compartilhados. Para obter mais informações sobre pontos de acesso do Amazon EFS e como controlar o acesso a eles, consulte Trabalhar com pontos de acesso do Amazon EFS no Guia do usuário do Amazon Elastic File System.

Os pontos de acesso podem impor uma identidade de usuário, incluindo os grupos POSIX do usuário, para todas as solicitações do sistema de arquivos feitas por meio do ponto de acesso. Pontos de acesso também podem impor um diretório raiz distinto para o sistema de arquivos. Isso é feito para que os clientes apenas possam acessar dados no diretório definido ou em seus subdiretórios.

nota

Ao criar um ponto de acesso do EFS, você especifica um caminho no sistema de arquivos para servir como o diretório raiz. Ao fazer referência ao sistema de arquivos do EFS com um ID de ponto de acesso em sua definição de tarefa do Amazon ECS, o diretório raiz deve ser omitido ou definido como /, o que impõe o caminho definido no ponto de acesso do EFS.

É possível usar uma função do IAM da tarefa do Amazon ECS para obrigar que aplicações específicas usem um ponto de acesso específico. Ao combinar políticas do IAM com pontos de acesso, você pode fornecer facilmente acesso seguro a conjuntos de dados específicos para os seus aplicativos. Para obter mais informações sobre como usar perfis do IAM de tarefa, consulte Funções do IAM para tarefas.

Especificar um sistema de arquivos do Amazon EFS na definição de tarefa

Para usar volumes do sistema de arquivos do Amazon EFS para seus contêineres, você deve especificar as configurações de volume e ponto de montagem na definição de tarefa. O trecho JSON de definição de tarefa a seguir mostra a sintaxe para os objetos volumes e mountPoints de um contêiner.

{ "containerDefinitions": [ { "name": "container-using-efs", "image": "amazonlinux:2", "entryPoint": [ "sh", "-c" ], "command": [ "ls -la /mount/efs" ], "mountPoints": [ { "sourceVolume": "myEfsVolume", "containerPath": "/mount/efs", "readOnly": true } ] } ], "volumes": [ { "name": "myEfsVolume", "efsVolumeConfiguration": { "fileSystemId": "fs-1234", "rootDirectory": "/path/to/my/data", "transitEncryption": "ENABLED", "transitEncryptionPort": integer, "authorizationConfig": { "accessPointId": "fsap-1234", "iam": "ENABLED" } } } ] }
efsVolumeConfiguration

Tipo: objeto

Obrigatório: não

Esse parâmetro é especificado quando são usados volumes do Amazon EFS.

fileSystemId

Tipo: string

Obrigatório: sim

O ID do sistema de arquivos do Amazon EFS a ser usado.

rootDirectory

Tipo: string

Obrigatório: não

O diretório dentro do sistema de arquivos do Amazon EFS que deve ser montado como o diretório raiz dentro do host. Se esse parâmetro for omitido, a raiz do volume do Amazon EFS será usada. Especificar / tem o mesmo efeito que omitir esse parâmetro.

Importante

Se um ponto de acesso do EFS for especificado no authorizationConfig, o parâmetro do diretório raiz deverá ser omitido ou definido como /, o que imporá o caminho definido no ponto de acesso do EFS.

transitEncryption

Tipo: string

Valores válidos: ENABLED | DISABLED

Obrigatório: não

Especifica se a criptografia deve ou não ser habilitada para dados do Amazon EFS em trânsito entre o host do Amazon ECS e o servidor do Amazon EFS. A criptografia de trânsito deverá ser habilitada se a autorização do IAM do Amazon EFS for usada. Se esse parâmetro for omitido, o valor padrão de DISABLED será usado. Para obter mais informações, consulte Criptografar dados em trânsito no Guia do usuário do Amazon Elastic File System.

transitEncryptionPort

Type: inteiro

Obrigatório: não

A porta a ser usada ao enviar dados criptografados entre o host do Amazon ECS e o servidor do Amazon EFS. Se você não especificar uma porta de criptografia em trânsito, será usada a estratégia de seleção de porta usada pelo assistente de montagem do Amazon EFS. Para obter mais informações, consulte Auxiliar de montagem do EFS no Guia do usuário do Amazon Elastic File System.

authorizationConfig

Tipo: objeto

Obrigatório: não

Os detalhes da configuração de autorização do sistema de arquivos do Amazon EFS.

accessPointId

Tipo: string

Obrigatório: não

O ID do ponto de acesso a ser usado. Se um ponto de acesso for especificado, o valor do diretório raiz no efsVolumeConfiguration deve ser omitido ou definido como /, que impõe o caminho definido no ponto de acesso do EFS. Se um ponto de acesso for usado, a criptografia em trânsito deverá ser habilitada no EFSVolumeConfiguration. Para obter mais informações, consulte Trabalhar com pontos de acesso do Amazon EFS no Guia do usuário do Amazon Elastic File System.

iam

Tipo: string

Valores válidos: ENABLED | DISABLED

Obrigatório: não

Especifica se é necessário ou não usar o perfil do IAM para a tarefa do Amazon ECS estabelecida em uma definição de tarefa ao montar o sistema de arquivos do Amazon EFS. Se habilitado, a criptografia de trânsito deve estar habilitada no EFSVolumeConfiguration. Se esse parâmetro for omitido, o valor padrão de DISABLED será usado. Para obter mais informações, consulte Funções do IAM para tarefas.