Crie uma definição de ECS tarefa da Amazon e monte um sistema de arquivos em EC2 instâncias usando a Amazon EFS - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie uma definição de ECS tarefa da Amazon e monte um sistema de arquivos em EC2 instâncias usando a Amazon EFS

Criado por Durga Prasad Cheepuri () AWS

Ambiente: PoC ou piloto

Tecnologias: contêineres e microsserviços CloudNative; gerenciamento e governança; armazenamento e backup; aplicativos móveis e da Web

AWSserviços: AmazonECS; Amazon EFS

Resumo

Esse padrão fornece exemplos de código e etapas para criar uma definição de tarefa do Amazon Elastic Container Service (AmazonECS) que é executada em instâncias do Amazon Elastic Compute Cloud (AmazonEC2) na Amazon Web Services (AWS) Cloud, enquanto usa o Amazon Elastic File System (AmazonEFS) para montar um sistema de arquivos nessas EC2 instâncias. ECSAs tarefas da Amazon que usam a Amazon montam EFS automaticamente os sistemas de arquivos que você especifica na definição da tarefa e disponibilizam esses sistemas de arquivos para os contêineres da tarefa em todas as zonas de disponibilidade em uma AWS região.

Para atender aos seus requisitos de armazenamento persistente e armazenamento compartilhado, você pode usar a Amazon ECS e EFS a Amazon juntas. Por exemplo, você pode usar EFS a Amazon para armazenar dados persistentes de usuários e dados de aplicativos para seus aplicativos com pares de ECS contêineres ativos e em espera em execução em diferentes zonas de disponibilidade para alta disponibilidade. Você também pode usar EFS a Amazon para armazenar dados compartilhados que podem ser acessados paralelamente por ECS contêineres e cargas de trabalho distribuídas.

Para usar a Amazon EFS com a AmazonECS, você pode adicionar uma ou mais definições de volume a uma definição de tarefa. Uma definição de volume inclui um ID do sistema de EFS arquivos da Amazon, ID do ponto de acesso e uma configuração para autorização do AWS Identity and Access Management (IAM) ou criptografia do Transport Layer Security (TLS) em trânsito. Você pode usar as definições de contêiner nas definições de tarefas para especificar os volumes de definição de tarefas que são montados quando o contêiner é executado. Quando uma tarefa que usa um sistema de EFS arquivos da Amazon é executada, a Amazon ECS garante que o sistema de arquivos esteja montado e disponível para os contêineres que precisam acessá-lo.

Pré-requisitos e limitações

Pré-requisitos

Limitações

  • As versões do agente de ECS contêiner da Amazon anteriores à 1.35.0 não oferecem suporte aos sistemas de EFS arquivos da Amazon para tarefas que usam o tipo de EC2 lançamento.

Arquitetura

O diagrama a seguir mostra um exemplo de um aplicativo que usa ECS a Amazon para criar uma definição de tarefa e montar um sistema de EFS arquivos da Amazon em EC2 instâncias em ECS contêineres.

Nuvem AWS architecture showing ECS task definition, ECS service, and EFS file system interaction.

O diagrama mostra o seguinte fluxo de trabalho:

  1. Crie um sistema de EFS arquivos da Amazon.

  2. Crie uma definição de tarefa com um contêiner.

  3. Configure as instâncias do contêiner para montar o sistema de EFS arquivos da Amazon. A definição da tarefa faz referência às montagens de volume, para que a instância do contêiner possa usar o sistema de EFS arquivos da Amazon. ECSas tarefas têm acesso ao mesmo sistema de EFS arquivos da Amazon, independentemente da instância de contêiner em que essas tarefas são criadas.

  4. Crie um ECS serviço da Amazon com três instâncias da definição da tarefa.

Pilha de tecnologia

  • Amazon EC2

  • Amazon ECS

  • Amazon EFS

Ferramentas

  • Amazon EC2 — O Amazon Elastic Compute Cloud (AmazonEC2) fornece capacidade de computação escalável na AWS nuvem. Você pode usar EC2 a Amazon para lançar quantos servidores virtuais precisar e pode expandir ou aumentar a escala.

  • Amazon ECS — O Amazon Elastic Container Service (AmazonECS) é um serviço de gerenciamento de contêineres rápido e altamente escalável para executar, parar e gerenciar contêineres em um cluster. Você pode executar suas tarefas e serviços em uma infraestrutura sem servidor gerenciada pelo AWS Fargate. Como alternativa, para ter mais controle sobre sua infraestrutura, você pode executar suas tarefas e serviços em um cluster de EC2 instâncias que você gerencia.

  • Amazon EFS — O Amazon Elastic File System (AmazonEFS) fornece um sistema de NFS arquivos elástico simples, escalável e totalmente gerenciado para uso com serviços AWS em nuvem e recursos locais.

  • AWSCLI— A interface de linha de AWS comando (AWSCLI) é uma ferramenta de código aberto para interagir com AWS serviços por meio de comandos em seu shell de linha de comando. Com uma configuração mínima, você pode executar AWS CLI comandos que implementam funcionalidades equivalentes às fornecidas pelo console de AWS gerenciamento baseado em navegador a partir de um prompt de comando.

Épicos

TarefaDescriçãoHabilidades necessárias
Crie um sistema de EFS arquivos da Amazon usando o AWS Management Console.
  1. Crie um sistema de EFS arquivos da Amazon e escolha VPC aquele que inclui seus contêineres. Observação: se você usar uma diferenteVPC, configure uma conexão de VPC peering.

  2. Anote o ID do sistema de arquivos.

AWS DevOps
TarefaDescriçãoHabilidades necessárias
Crie uma definição de tarefa usando um sistema de EFS arquivos da Amazon.

Crie uma definição de tarefa usando o novo ECS console da Amazon ou o ECSconsole clássico da Amazon com as seguintes configurações:

  • Se você usa o novo console, escolha EC2instâncias da Amazon para o ambiente de aplicativos. Se você usa o console clássico, escolha EC2como o tipo de lançamento.

  • Adicione um volume. Insira um nome para o volume, escolha EFSo tipo de volume e, em seguida, escolha a ID do sistema de arquivos que você anotou anteriormente. Para o diretório raiz, escolha o caminho do sistema de EFS arquivos da Amazon que você deseja hospedar no host de ECS contêineres da Amazon.

AWS DevOps
Crie uma definição de tarefa usando AWS CLI o.
  1. Para criar um JSON modelo com espaços reservados para parâmetros de entrada para sua definição de tarefa, execute o seguinte comando:

    aws ecs register-task-definition --generate-cli-skeleton
  2. Para criar a definição da tarefa com o JSON modelo, execute o seguinte comando:

    aws ecs register-task-definition --cli-input-json file://<path_to_your_json_file>
  3. Insira os parâmetros de entrada em seu JSON modelo com base no task_definition_parameters.json arquivo (anexado). Observação: para obter mais informações sobre parâmetros de entrada, consulte Parâmetros de definição de tarefas (ECSdocumentação da Amazon) e register-task-definition(Referência de AWS CLI comando).

AWS DevOps

Recursos relacionados

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip