Montagem usando o Amazon Elastic Container Service - FSx para Lustre

Montagem usando o Amazon Elastic Container Service

Você pode acessar o sistema de arquivos do FSx para Lustre usando um contêiner do Docker do Amazon Elastic Container Service (Amazon ECS) em uma instância do Amazon EC2. É possível fazer isso ao usar uma das seguintes opções:

  1. Ao montar o sistema de arquivos do FSx para Lustre usando a instância do Amazon EC2 que hospeda as tarefas do Amazon ECS e exportar esse ponto de montagem para os contêineres.

  2. Ao montar o sistema de arquivos diretamente dentro do contêiner de tarefas.

Para obter mais informações sobre o Amazon ECS, consulte O que é o Amazon Elastic Container Service? no Guia do desenvolvedor do Amazon Elastic Container Service.

Recomendamos usar a opção 1 (Montagem usando uma instância do Amazon EC2 que hospeda tarefas do Amazon ECS) porque ela proporciona melhor aproveitamento de recursos, principalmente se você iniciar diversos contêineres (mais de cinco) na mesma instância do EC2 ou se suas tarefas durarem pouco (menos de cinco minutos).

Use a opção 2 (Montagem usando um contêiner do Docker), se não for possível configurar a instância do EC2 ou se a aplicação requerer a flexibilidade do contêiner.

nota

Não há suporte para a montagem do FSx para Lustre em um tipo de inicialização do AWS.

As seções a seguir descrevem os procedimentos para cada uma das opções de montagem do sistema de arquivos do FSx para Lustre usando um contêiner do Amazon ECS.

Montagem usando uma instância do Amazon EC2 que hospeda tarefas do Amazon ECS

Este procedimento mostra como você pode configurar uma instância do Amazon ECS no EC2 para montar localmente o sistema de arquivos do FSx para Lustre. O procedimento usa as propriedades de contêiner volumes e mountPoints para compartilhar o recurso e tornar esse sistema de arquivos acessível para tarefas em execução localmente. Para obter mais informações, consulte Iniciar uma instância de contêiner do Amazon ECS no Guia do desenvolvedor do Amazon Elastic Container Service.

Este procedimento é para uma AMI do Amazon Linux 2 otimizada para o Amazon ECS. Se você estiver usando outra distribuição do Linux, consulte Instalar o cliente do Lustre.

Como montar o sistema de arquivos do Amazon ECS em uma instância do EC2
  1. Ao iniciar instâncias do Amazon ECS, de forma manual ou ao usar um grupo do Auto Scaling, adicione as linhas do exemplo de código apresentado a seguir ao final do campo Dados do usuário. Substitua os seguintes itens no exemplo:

    • Substitua file_system_dns_name pelo nome DNS real do sistema de arquivos.

    • Substitua mountname pelo nome da montagem do sistema de arquivos.

    • Substitua mountpoint pelo ponto de montagem do sistema de arquivos que você precisa criar.

    #!/bin/bash ...<existing user data>... fsx_dnsname=file_system_dns_name fsx_mountname=mountname fsx_mountpoint=mountpoint amazon-linux-extras install -y lustre mkdir -p "$fsx_mountpoint" mount -t lustre ${fsx_dnsname}@tcp:/${fsx_mountname} ${fsx_mountpoint} -o relatime,flock
  2. Ao criar as tarefas do Amazon ECS, adicione as propriedades de contêiner volumes e mountPoints apresentadas a seguir na definição JSON. Substitua mountpoint pelo ponto de montagem do sistema de arquivos (como /mnt/fsx).

    { "volumes": [ { "host": { "sourcePath": "mountpoint" }, "name": "Lustre" } ], "mountPoints": [ { "containerPath": "mountpoint", "sourceVolume": "Lustre" } ], }

Montagem usando um contêiner do Docker

O procedimento a seguir mostra como é possível configurar um contêiner de tarefas do Amazon ECS para instalar o pacote lustre-client e montar o sistema de arquivos do FSx para Lustre nele. O procedimento usa uma imagem do Docker para o Amazon Linux (amazonlinux), mas uma abordagem semelhante pode funcionar para outras distribuições.

Como montar o sistema de arquivos usando um contêiner do Docker
  1. Em seu contêiner do Docker, instale o pacote lustre-client e monte o sistema de arquivos do FSx para Lustre com a propriedade command. Substitua os seguintes itens no exemplo:

    • Substitua file_system_dns_name pelo nome DNS real do sistema de arquivos.

    • Substitua mountname pelo nome da montagem do sistema de arquivos.

    • Substitua mountpoint pelo ponto de montagem do sistema de arquivos.

    "command": [ "/bin/sh -c \"amazon-linux-extras install -y lustre; mount -t lustre file_system_dns_name@tcp:/mountname mountpoint -o relatime,flock;\"" ],
  2. Adicione a funcionalidade SYS_ADMIN ao contêiner para autorizá-lo a montar o sistema de arquivos do FSx para Lustre, usando a propriedade linuxParameters.

    "linuxParameters": { "capabilities": { "add": [ "SYS_ADMIN" ] } }