Saiba como configurar sistemas de arquivos do FSx para Windows File Server para o Amazon ECS
Saiba como iniciar uma instância do Windows otimizada para o Amazon ECS que hospeda um sistema de arquivos do FSx para Windows File Server e contêineres que podem acessar o sistema de arquivos. Para fazer isso, você primeiro criará um Microsoft Active Directory gerenciado pela AWS do AWS Directory Service. Em seguida, você cria um sistema de arquivos do FSx para Windows File Server e um cluster com uma instância do Amazon EC2 e uma definição de tarefa. Configure a definição de tarefa para os contêineres usarem o sistema de arquivos do FSx for Windows File Server. Finalmente, teste o sistema de arquivos.
Entre 20 e 45 minutos são necessários toda vez que você inicia ou exclui o Active Directory ou o sistema de arquivos do FSx for Windows File Server. Esteja preparado para reservar pelo menos 90 minutos para concluir o tutorial ou conclua o tutorial em algumas sessões.
Pré-requisitos para o tutorial
-
Um usuário administrativo. Consulte Configuração para usar o Amazon ECS.
-
(Opcional) Um par de chaves
PEM
para se conectar à instância do Windows do EC2 por acesso RDP. Para obter informações sobre como criar pares de chaves, consulte Pares de chaves do Amazon EC2 e instâncias do Amazon EC2 no Guia do usuário do Amazon EC2. -
Uma VPC com pelo menos uma sub-rede pública e uma privada e um grupo de segurança. É possível usar a VPC padrão. Você não precisa de um gateway ou dispositivo NAT. O AWS Directory Service não oferece suporte à conversão de endereços de rede (NAT) com o Active Directory. Para que isso funcione, o Active Directory, o sistema de arquivos do FSx for Windows File Server, o cluster do ECS e a instância do EC2 devem estar localizados na VPC. Para obter mais informações sobre VPCs e Active Directories, consulte Criar uma VPC e Pré-requisitos para criar um Microsoft AD gerenciado pela AWS.
-
As permissões do IAM ecsInstanceRole e ecsTaskExecutionRole estão associadas à sua conta. Esses perfis vinculados ao serviço permitem que os serviços façam chamadas de API e acessem contêineres, segredos, diretórios e servidores de arquivos em seu nome.
Etapa 1: criar funções de acesso do IAM
Crie um cluster com o AWS Management Console
-
Consulte Função do IAM de instância de contêiner do Amazon ECS para verificar se você tem uma ecsInstanceRole e ver como será possível criar uma, caso não tenha.
-
Recomendamos que as políticas de função sejam personalizadas para permissões mínimas em um ambiente de produção real. Com a finalidade de trabalhar neste tutorial, verifique se a política gerenciada pela AWS a seguir está anexada a ecsInstanceRole. Anexe a política, caso ela ainda não esteja anexada.
-
AmazonEC2ContainerServiceforEC2Role
-
AmazonSSMManagedInstanceCore
-
AmazonSSMDirectoryServiceAccess
Para anexar políticas gerenciadas pela AWS
-
Abra o console do IAM
. -
No painel de navegação, selecione Perfis.
-
Escolha um perfil gerenciado da AWS.
-
Escolha Permissões, Anexar políticas.
-
Para restringir as políticas disponíveis a serem anexadas, use Filter.
-
Selecione a política apropriada e escolha Attach policy (Anexar política).
-
-
Consulte Função do IAM de execução de tarefas do Amazon ECS para verificar se você tem uma ecsTaskExecutionRole e ver como será possível criar uma, caso não tenha.
Recomendamos que as políticas de função sejam personalizadas para permissões mínimas em um ambiente de produção real. Com a finalidade de trabalhar neste tutorial, verifique se as políticas gerenciadas pela AWS a seguir estão anexadas a ecsTaskExecutionRole Anexe as políticas, caso elas ainda não estejam anexadas. Use o procedimento indicado na seção anterior para anexar as políticas gerenciadas pela AWS.
-
SecretsManagerReadWrite
-
AmazonFSxReadOnlyAccess
-
AmazonSSMReadOnlyAccess
-
AmazonECSTaskExecutionRolePolicy
-
Etapa 2: criar o Windows Active Directory (AD)
-
Siga as etapas descritas em Criar seu Microsoft AD gerenciado pela AWS no Guia de administração do AWS Directory Service. Use a VPC que você designou para este tutorial. Na etapa 3 de Criar seu Microsoft AD gerenciado pela AWS, salve o nome do usuário e a senha de administrador para uso em uma etapa posterior. Além disso, anote o nome de DNS totalmente qualificado para etapas futuras. É possível concluir a etapa a seguir enquanto o Active Directory está sendo criado.
-
Crie um segredo do AWS Secrets Manager a ser usado nas etapas a seguir. Para obter mais informações, consulte Conceitos básicos do Secrets Manager no Guia do usuário do AWS Secrets Manager.
-
Abra o console do Secrets Manager
. -
Clique em Store a new secret (Armazenar um novo segredo).
-
Selecione Other type of secrets (Outro tipo de segredos).
-
Em Secret key/value (Chave/valor secreto), na primeira linha, crie uma chave
username
com valoradmin
. Clique em + Add row (+ Adicionar linha). -
Na nova linha, crie uma chave
password
. Em valor, digite a senha inserida na Etapa 3 de Criar seu diretório do AD gerenciado pela AWS. -
Clique no botão Next (Avançar).
-
Forneça um nome e uma descrição do segredo. Clique em Next.
-
Clique em Next. Clique em Store (Armazenar).
-
Na lista da página Segredos, clique no segredo que você acabou de criar.
-
Salve o ARN do novo segredo para uso nas próximas etapas,
-
É possível ir para a próxima etapa enquanto seu Active Directory está sendo criado.
-
Etapa 3: verificar e atualizar o grupo de segurança
Nesta etapa, você verificará e atualizará as regras do grupo de segurança que você estiver usando. Para isso, você pode usar o grupo de segurança padrão que foi criado para a VPC.
Verifique e atualize o grupo de segurança.
Você precisa criar ou editar o grupo de segurança para enviar dados de e para as portas, que são descritas em Grupos de segurança da Amazon VPC no Guia do usuário do FSx for Windows File Server. É possível fazer isso criando a regra de entrada do grupo de segurança mostrada na primeira linha da tabela de regras de entrada a seguir. Essa regra permite tráfego de entrada de interfaces de rede (e das instâncias associadas) atribuídas ao grupo de segurança. Todos os recursos de nuvem criados estão dentro da mesma VPC e anexados ao mesmo grupo de segurança. Portanto, essa regra permite o tráfego entre o sistema de arquivos do FSx for Windows File Server, o Active Directory e a instância do ECS conforme necessário. As outras regras de entrada permitem que o tráfego atenda ao site e ao acesso RDP para conexão à instância do ECS.
A tabela a seguir mostra quais regras de entrada do grupo de segurança são necessárias para este tutorial.
Tipo | Protocolo | Intervalo de portas | Origem |
---|---|---|---|
Todo o tráfego |
Tudo |
Todos |
|
HTTPS |
TCP |
443 |
0.0.0.0/0 |
RDP |
TCP |
3389 |
endereço IP do seu laptop |
A tabela a seguir mostra quais regras de saída do grupo de segurança são necessárias para este tutorial.
Tipo | Protocolo | Intervalo de portas | Destino |
---|---|---|---|
Todo o tráfego |
Tudo |
Tudo |
0.0.0.0/0 |
-
Abra o Console do EC2
e selecione Security groups (Grupos de segurança) no menu à esquerda. -
Na lista de grupos de segurança exibida, marque a caixa de seleção à esquerda do grupo de segurança que você está usando para este tutorial.
Os detalhes do security group são exibidos.
-
Edite as regras de entrada e de saída selecionando as guias Inbound rules (Regras de entrada) ou Outbound rules (Regras de saída) e escolhendo os botões Edit inbound rules (Editar regras de entrada) ou Edit outbound rules (Editar regras de saída). Edite as regras para corresponder às regras exibidas nas tabelas anteriores. Depois de criar a instância do EC2 posteriormente neste tutorial, edite a origem RDP da regra de entrada com o endereço IP público da instância do EC2, conforme descrito em Conectar-se à sua instância do Windows usando RDP no Guia do usuário do Amazon EC2.
Etapa 4: criar um sistema de arquivos do FSx for Windows File Server
Depois que o grupo de segurança for verificado e atualizado e o Active Directory for criado e estiver no status ativo, crie o sistema de arquivos do FSx for Windows File Server na mesma VPC do Active Directory. Use as etapas a seguir para criar um sistema de arquivos do FSx for Windows File Server para as tarefas do Windows.
Crie seu primeiro sistema de arquivos.
-
Abra o console do Amazon FSx
. -
No painel, escolha Create file system (Criar sistema de arquivos) para iniciar o assistente de criação de sistemas de arquivos.
-
Na página Selecionar tipo de sistema de arquivos, escolha FSx for Windows File Server e, em seguida, selecione Next (Avançar). A página Criar sistema de arquivos é exibida.
-
Na seção Detalhes do sistema de arquivos, forneça um nome para o sistema de arquivos. Nomear seus sistemas de arquivos torna mais fácil encontrar e gerenciar seus sistemas. Podem ser usados até 256 caracteres Unicode. Os caracteres permitidos são letras, números, espaços e os caracteres especiais sinal de mais (+). sinal de menos (-), sinal de igual (=), ponto (.), sublinhado (_), dois-pontos (:) e barra (/).
-
Em Deployment type (Tipo de implantação), escolha Single-AZ para implantar um sistema de arquivos implantado em uma única zona de disponibilidade. Single-AZ 2 é a geração mais recente de sistemas de arquivos de zona de disponibilidade única. É compatível com armazenamento SSD e HDD.
-
Em Storage type (Tipo de armazenamento), escolha HDD.
-
Em Storage capacity (Capacidade de armazenamento), insira a capacidade mínima de armazenamento.
-
Mantenha a Capacidade de Throughput na configuração padrão.
-
Na seção Rede e segurança, escolha a mesma Amazon VPC que você escolheu para o diretório do AWS Directory Service.
-
Em VPC Security Groups (Grupos de segurança da VPC), escolha o grupo de segurança que você verificou na Etapa 3: verificar e atualizar o grupo de segurança.
-
Em Windows authentication (Autenticação do Windows), escolha AWS Managed Microsoft Active Directory (Microsoft Active Directory gerenciado pela ) e, depois, escolha o diretório do AWS Directory Service na lista.
-
Em Encryption (Criptografia), mantenha a configuração padrão da Encryption key (Chave de criptografia) como aws/fsx (default).
-
Mantenha as configurações padrão para Preferências de manutenção.
-
Clique no botão Next (Avançar).
-
Verifique a configuração do sistema de arquivos mostrada na página Criar sistema de arquivos. Para sua referência, anote quais configurações do sistema de arquivos você pode modificar após a criação do sistema de arquivos. Escolha Create file system (Criar sistema de arquivos).
-
Anote o ID do sistema de arquivos. Você precisará usá-lo em uma etapa posterior.
É possível seguir para as próximas etapas para criar um cluster e uma instância do EC2 enquanto o sistema de arquivos do FSX for Windows File Server está sendo criado.
Etapa 5: criar um cluster do Amazon ECS
Criar um cluster usando o console do Amazon ECS
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
Na barra de navegação, selecione a Região a ser usada.
-
No painel de navegação, escolha Clusters.
-
Na página Clusters, escolha Create Cluster (Criar cluster).
-
Em Configuração do cluster), para Nome do cluster, insira windows-fsx-cluster.
-
Expanda Infraestrutura, desmarque AWS Fargate (tecnologia sem servidor) e selecione Instâncias do Amazon EC2.
-
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 operacional/Arquitetura, escolha Windows Server 2019 Core.
-
Em Tipo de instância do EC2, escolha t2.medium ou t2.micro.
-
-
-
Escolha Criar.
Etapa 6: criar uma instância do Amazon ECS otimizada para o Amazon EC2
Crie uma instância de contêiner do Windows do Amazon ECS.
Para criar uma instância do Amazon ECS
-
Use o comando
aws ssm get-parameters
para recuperar o nome da AMI para a região que hospeda sua VPC. Para obter mais informações, consulte Recuperar os metadados da AMI otimizada para Amazon ECS. -
Use o console do Amazon EC2 para iniciar a instância.
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
Na barra de navegação, selecione a Região a ser usada.
-
No Painel do EC2, escolha Launch Instance (Iniciar instância).
-
Em Name (Nome), insira um nome exclusivo.
-
Em Imagens de aplicações e SO (Amazon Machine Image), no campo pesquisar, insira o nome da AMI que você recuperou.
-
Em Tipo de instância, escolha t2.medium ou t2.micro.
-
Em Key pair (login) (Par de chaves [login]), escolha um par de chaves. Se você não especificar um par de chaves, você
-
Em Configurações de rede, para VPC e sub-rede, escolha sua VPC e uma sub-rede pública.
-
Em Network settings (Configurações de rede), em Security group (Grupo de segurança), selecione um grupo de segurança existente ou crie outro. Certifique-se de que o grupo de segurança escolhido tenha as regras de entrada e saída definidas em Pré-requisitos para o tutorial
-
Em Network settings (Configurações de rede), em Auto-assign Public IPC (Atribuir IP público automaticamente), selecione Enable (Habilitar).
-
Expanda Detalhes avançados, e em Associar diretório a domínio, selecione o ID do Active Directory que você criou. Esse domínio se junta ao AD quando a instância do EC2 é iniciada.
-
Em Advanced details (Detalhes avançados), em IAM instance profile (Perfil de instância do IAM), escolha ecsInstanceRole.
-
Configure a instância de contêiner do Amazon ECS com os dados de usuário a seguir. Em Advanced Details (Detalhes avançados), cole o seguinte script no campo User data (Dados do usuário), substituindo
cluster_name
pelo nome do cluster.<powershell> Initialize-ECSAgent -Cluster
windows-fsx-cluster
-EnableTaskIAMRole </powershell> -
Quando estiver pronto, selecione o campo de confirmação e, então, escolha Launch Instances.
-
Uma página de confirmação informa que sua instância está sendo executada. Selecione Visualizar instâncias para fechar a página de confirmação e voltar ao console.
-
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Clusters e, em seguida, escolha windows-fsx-cluster.
-
Selecione a guia Infraestrutura e verifique se a sua instância foi registrada no cluster windows-fsx-cluster.
Etapa 7: registrar uma definição de tarefa do Windows
Para executar contêineres do Windows no cluster do Amazon ECS, você deve registrar uma definição de tarefa. O exemplo de definição de tarefa a seguir exibe uma página da Web simples. A tarefa inicia dois contêineres que têm acesso ao sistema de arquivos do FSx. O primeiro contêiner grava um arquivo HTML no sistema de arquivos. O segundo contêiner baixa o arquivo HTML do sistema de arquivos e serve a página da Web.
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Task definitions (Definições de tarefa).
-
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).
-
NA caixa do editor JSON, substitua os valores do seu perfil de execução da tarefa e os detalhes sobre o sistema de arquivos FSx e, em seguida, escolha Salvar.
{ "containerDefinitions": [ { "entryPoint": [ "powershell", "-Command" ], "portMappings": [], "command": ["New-Item -Path C:\\fsx-windows-dir\\index.html -ItemType file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>It Works!</h2> <p>You are using Amazon FSx for Windows File Server file system for persistent container storage.</p>' -Force"], "cpu": 512, "memory": 256, "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "essential": false, "name": "container1", "mountPoints": [ { "sourceVolume": "fsx-windows-dir", "containerPath": "C:\\fsx-windows-dir", "readOnly": false } ] }, { "entryPoint": [ "powershell", "-Command" ], "portMappings": [ { "hostPort": 443, "protocol": "tcp", "containerPort": 80 } ], "command": ["Remove-Item -Recurse C:\\inetpub\\wwwroot\\* -Force; Start-Sleep -Seconds 120; Move-Item -Path C:\\fsx-windows-dir\\index.html -Destination C:\\inetpub\\wwwroot\\index.html -Force; C:\\ServiceMonitor.exe w3svc"], "mountPoints": [ { "sourceVolume": "fsx-windows-dir", "containerPath": "C:\\fsx-windows-dir", "readOnly": false } ], "cpu": 512, "memory": 256, "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "essential": true, "name": "container2" } ], "family": "fsx-windows", "executionRoleArn": "arn:aws:iam::111122223333:role/ecsTaskExecutionRole", "volumes": [ { "name": "fsx-windows-dir", "fsxWindowsFileServerVolumeConfiguration": { "fileSystemId": "fs-0eeb5730b2EXAMPLE", "authorizationConfig": { "domain": "example.com", "credentialsParameter": "arn:arn-1234" }, "rootDirectory": "share" } } ] }
Etapa 8: executar uma tarefa e visualizar os resultados
Antes de executar a tarefa, verifique se o status do sistema de arquivos do FSx for Windows File Server está Available (Disponível). Depois que ele estiver disponível, será possível executar uma tarefa usando a definição de tarefa criada. A tarefa começa ao criar contêineres que embaralham um arquivo HTML entre eles usando o sistema de arquivos. Após o embaralhamento, um servidor Web atende à página HTML simples.
nota
Talvez você não seja capaz de se conectar ao site a partir de uma VPN.
Execute uma tarefa e veja os resultados no console do Amazon ECS.
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Clusters e, em seguida, escolha windows-fsx-cluster.
-
Escolha a guia Tarefas e, em seguida, escolha Executar nova tarefa.
-
Em Launch Type, selecione EC2.
-
Em Configuração de implantação, para Definição de tarefa, escolha fsx-windows e, em seguida, escolha Criar.
-
Quando o status da tarefa for EM EXECUÇÃO, escolha o ID da tarefa.
-
Em Contêineres, quando o status do contêiner1 for INTERROMPIDO, selecione contêiner2 para ver os detalhes do contêiner.
-
Em Detalhes de contêiner para o contêiner2, selecione Ligações de rede e clique no endereço IP externo associado ao contêiner. O navegador abrirá e exibirá a mensagem a seguir.
Amazon ECS Sample App It Works! You are using Amazon FSx for Windows File Server file system for persistent container storage.
nota
Pode demorar alguns minutos para que a mensagem seja exibida. Se você não vir a mensagem após alguns minutos, certifique-se de que as execuções não estejam ocorrendo em uma VPN e de que o grupo de segurança das instâncias de contêiner permita o tráfego HTTP da rede de entrada na porta 443.
Etapa 9: limpar
nota
Demora de 20 a 45 minutos para excluir o sistema de arquivos do FSx for Windows File Server ou o AD. Você deve aguardar até que as operações de exclusão do sistema de arquivos do FSx for Windows File Server sejam concluídas antes de iniciar as operações de exclusão do AD.
Exclua o sistema de arquivos do FSx for Windows File Server
-
Abra o console do Amazon FSx
. -
Escolha o botão de opção à esquerda do sistema de arquivos do FSx for Windows File Server que você acabou de criar.
-
Escolha Ações.
-
Selecione Delete file system (Excluir sistema de arquivos).
Excluir AD.
-
Abra o console de AWS Directory Service
. -
Escolha o botão de opção à esquerda do AD que você acabou de criar.
-
Escolha Ações.
-
Selecione Delete directory (Excluir diretório).
Excluir o cluster.
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Clusters e, em seguida, escolha fsx-windows-cluster.
-
Escolha Delete Cluster (Excluir cluster).
-
Insira a frase e, em seguida, escolha Excluir.
Encerra a instância do EC2.
-
Abra o console do Amazon EC2
. -
No menu à esquerda, selecione Instances (Instâncias).
-
Marque a caixa de seleção à esquerda da instância do EC2 que você criou.
-
Clique no Estado da instância, Encerrar instância.
Excluir segredo.
-
Abra o console do Secrets Manager
. -
Selecione o segredo que você criou para esta demonstração.
-
Clique em Actions (Ações)
-
Selecione Delete secret Excluir segredo).