Conceitos básicos de contêineres do Windows usando o console clássico - Serviço Amazon Elastic Container

Conceitos básicos de contêineres do Windows usando o console clássico

Este tutorial orienta você na execução de contêineres do Windows no Amazon ECS com a AMI do Windows Server otimizada para Amazon ECS no AWS Management Console.

Você cria um cluster para as instâncias de contêiner do Windows, executa uma ou mais instâncias de contêiner no cluster, registra uma definição de tarefa que usa uma imagem de contêiner do Windows, cria um serviço que usa essa definição de tarefa e visualiza a página da web de exemplo na qual o contêiner é executado. Para mais informações, consulte Contêineres do Windows Amazon EC2.

Etapa 1: Criar um cluster do Windows

Você deve criar um novo cluster para os contêineres do Windows. As instâncias de contêiner do Amazon EC2 que usam AMIs do Linux otimizadas para Amazon ECS não podem executar contêineres do Windows e vice-versa. Portanto, a colocação apropriada de tarefas é mais bem conduzida com a execução de instâncias de contêiner do Windows e do Linux em clusters separados. Neste tutorial, você cria um cluster denominado windows e registra uma ou mais instâncias do Amazon EC2 no cluster para os contêineres do Windows.

Para criar um cluster com o AWS Management Console

  1. Abra o console do Amazon ECS em https://console.aws.amazon.com/ecs/.

  2. No painel de navegação, escolha Clusters.

  3. Na página Clusters, escolha Create Cluster (Criar cluster).

  4. Escolha EC2 Windows + Networking e, em seguida, Next step.

  5. Em Cluster name (Nome do cluster), insira um nome para o cluster (neste exemplo, windows é o nome do cluster). São permitidos até 255 letras (caixa alta e baixa), números, hífens e sublinhados.

  6. Na seção Configuração da instância conclua as etapas a seguir.

    1. Em Provisioning model (Modelo de provisionamento), faça uma das seleções a seguir:

      • Instância sob demanda: com as instâncias sob demanda, você paga pela capacidade computacional por hora, sem compromisso de longo prazo ou pagamentos adiantados.

      • Spot: as instâncias spot permitem que você faça ofertas para capacidade computacional adicional do Amazon EC2 com desconto de até 90% em relação ao preço sob demanda. Para obter mais informações, consulte Instâncias spot.

        nota

        As instâncias spot estão sujeitas a possíveis interrupções. É recomendável que você evite instâncias spot para aplicativos que não possam ser interrompidos. Para obter mais informações, consulte Interrupções de instâncias spot.

    2. Para instâncias spot, faça o seguinte; caso contrário, vá para a próxima etapa.

      1. Para Spot Instance allocation strategy, escolha a estratégia que atende às suas necessidades. Para obter mais informações, consulte Estratégia de alocação de frota spot.

      2. Em Maximum bid price (per instance/hour), especifique uma sugestão de preço. Se a sua sugestão de preço for inferior ao preço spot para os tipos de instâncias que você selecionou, suas instâncias spot não serão executadas.

    3. Na página Tipo de instância do EC2, escolha a configuração de hardware de sua instância. O tipo de instância que você selecionar determinará os recursos disponíveis para execução de suas tarefas.

    4. Em Number of instances (Número de instâncias), escolha o número de instâncias do Amazon EC2 a serem executadas no cluster.

    5. Em EC2 AMI Id (Id da AMI do EC2), escolha a AMI otimizada para Amazon ECS a ser usada para as instâncias de contêiner. As AMIs disponíveis serão determinadas pela região e pelo tipo de instância que você escolheu. Para mais informações, consulte AMIs otimizadas para Amazon ECS.

    6. Em EBS storage (GiB) (Armazenamento EBS (GiB)), escolha o tamanho do volume do Amazon EBS a ser usado para o armazenamento de dados nas instâncias de contêiner. Você pode aumentar o tamanho do volume de dados para permitir um maior armazenamento de contêiner e imagens.

    7. Em Key pair (Par de chaves), escolha um par de chaves do Amazon EC2 a ser usado com as instâncias de contêiner para acesso RDP. Se você não especificar um par de chaves, não conseguirá se conectar às suas instâncias de contêiner com RDP. Para obter mais informações, consulte Pares de chaves do Amazon EC2 no Guia do usuário do Amazon EC2 para instâncias do Linux.

  7. Na seção Networking (Redes), configure a VPC na qual executar suas instâncias de contêiner. Por padrão, o assistente de criação de cluster cria uma nova VPC com duas sub-redes em zonas de disponibilidade diferentes e um security group aberto à Internet na porta 80. Essa é uma configuração básica que funciona bem para um serviço HTTP. No entanto, você pode modificar essas configurações seguindo as subetapas abaixo.

    1. Em VPC, crie uma nova VPC ou selecione uma VPC existente.

    2. (Opcional) Se você escolher criar uma nova VPC, em CIDR Block (Bloco CIDR), selecione um bloco CIDR para sua VPC. Para obter mais informações, consulte Sua VPC e suas sub-redes em Guia do usuário da Amazon VPC.

    3. Em Subnets (Sub-redes), selecione as sub-redes a serem usadas para sua VPC. Se você optar por criar uma nova VPC, poderá manter as configurações padrão ou modificá-las para atender às suas necessidades. Se você optar por usar uma VPC existente, selecione uma ou mais sub-redes nessa VPC a serem usadas para o seu cluster.

    4. Em Security group (Grupo de segurança), selecione o grupo de segurança a ser anexado às instâncias de contêiner em seu cluster. Se você optar por criar um novo grupo de segurança, poderá especificar um bloco CIDR para permitir o tráfego de entrada. A porta padrão 0.0.0.0/0 está aberta para a Internet. Você também pode selecionar uma única porta ou um intervalo de portas contíguas a serem abertas na instância de contêiner. Para obter regras de grupo de segurança mais complicadas, você pode escolher um grupo de segurança existente já criado.

      nota

      Você também pode optar por criar um novo grupo de segurança e modificar as regras depois que o cluster for criado. Para obter mais informações, consulte Grupos de segurança do Amazon EC2 para instâncias do Windows no Guia do usuário do Amazon EC2 para instâncias do Windows.

    5. Na seção Função do IAM de instância de contêiner, selecione a função do IAM a ser usada com as instâncias de contêiner. Se a sua conta tiver a ecsInstanceRole criada para você no assistente de primeira execução do console, ela estará selecionada por padrão. Se você não tiver essa função na sua conta, poderá optar por criar a função ou escolher outra função do IAM para usar com as instâncias de contêiner.

      Importante

      A função do IAM usada deve ter a política gerenciada AmazonEC2ContainerServiceforEC2Role anexada a ela. Caso contrário, você receberá uma mensagem de erro durante a criação do cluster. Se você não iniciar a instância de contêiner com as permissões apropriadas do IAM, o agente do Amazon ECS não se conectará ao seu cluster. Para mais informações, consulte Função do IAM de instância de contêiner do Amazon ECS.

    6. Se você tiver escolhido anteriormente o tipo de instância spot, a seção Função do IAM de frota spot indicará que uma função ecsSpotFleetRole do IAM será criada.

  8. Na seção Etiquetas, especifique a chave e o valor de cada etiqueta para associar ao cluster. Para obter mais informações, consulte Marcação dos recursos do Amazon ECS.

  9. Na seção CloudWatch Container Insights, escolha se o Container Insights deve ser habilitado para o cluster. Para mais informações, consulte Amazon ECS CloudWatch Container Insights.

  10. Escolha Create (Criar OpsItem).

    nota

    Pode levar até 15 minutos para que as instâncias de contêiner do Windows seja registrada no cluster.

Etapa 2: 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 na porta 8080 de uma instância de contêiner com a imagem de contêiner do microsoft/iis.

Para registrar o exemplo de definição de tarefa no AWS Management Console

  1. Abra o console do Amazon ECS em https://console.aws.amazon.com/ecs/.

  2. No painel de navegação, selecione Task Definitions (Definições de tarefas).

  3. Na página Task Definitions (Definições de tarefas), escolha Create new Task Definition (Criar nova definição de tarefa).

  4. Na página Select launch type compatibilities (Selecionar compatibilidades do tipo de inicialização), escolha EC2, Next step (Próxima etapa).

  5. Role para o final da página e escolha Configure via JSON (Configurar via JSON).

  6. Cole o JSON de definição de tarefa de exemplo abaixo na área de texto (substituindo o JSON preenchido) e escolha Save.

    { "family": "windows-simple-iis", "containerDefinitions": [ { "name": "windows_sample_app", "image": "mcr.microsoft.com/windows/servercore/iis", "cpu": 512, "entryPoint":["powershell", "-Command"], "command":["New-Item -Path C:\\inetpub\\wwwroot\\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>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>' -Force ; C:\\ServiceMonitor.exe w3svc"], "portMappings": [ { "protocol": "tcp", "containerPort": 80, "hostPort": 8080 } ], "memory": 768, "essential": true } ] }
  7. Verifique suas informações e escolha Create (Criar).

Para registrar o exemplo de definição de tarefa no AWS CLI

  1. Crie um arquivo chamado windows-simple-iis.json.

  2. Abra o arquivo com o editor de texto da sua preferência e adicione o exemplo de JSON acima ao arquivo e salve-o.

  3. Usando a AWS CLI, execute o seguinte comando para registrar a definição de tarefa no Amazon ECS.

    nota

    Certifique-se de que sua AWS CLI esteja configurada para usar a mesma região na qual existe seu cluster do Windows ou adicione a opção --region your_cluster_region ao comando.

    aws ecs register-task-definition --cli-input-json file://windows-simple-iis.json

Etapa 3: Criar um serviço com sua definição de tarefa

Depois que tiver registrado a definição de tarefa, você poderá colocar tarefas no cluster com ela. O procedimento a seguir cria um serviço com a definição de tarefa e coloca uma tarefa no cluster.

Para criar um serviço a partir de sua definição de tarefa com o console

  1. Na página de confirmação de registro Task Definition: windows-simple-iis, escolha Actions, Create Service.

  2. Na página Create Service, insira as informações a seguir e escolha Create service.

    • Launch type (Tipo de inicialização): EC2

    • Cluster: janelas

    • Service name: windows-simple-iis

    • Service type (Tipo de serviço): REPLICA

    • Número de tarefas: 1

    • Deployment type (Tipo de implantação): atualização contínua

Para criar um serviço de sua definição de tarefa com a AWS CLI

  • Usando a AWS CLI, execute o seguinte comando para criar seu serviço.

    aws ecs create-service --cluster windows --task-definition windows-simple-iis --desired-count 1 --service-name windows-simple-iis

Etapa 4: Visualizar o serviço

Depois que o serviço tiver ativado uma tarefa no cluster, você poderá visualizar o serviço e abrir a página de teste do IIS em um navegador para verificar se o contêiner está em execução.

nota

Pode demorar até 15 minutos para a instância de contêiner baixar e extrair as camadas base de contêiner do Windows.

Para visualizar o serviço

  1. Abra o console do Amazon ECS em https://console.aws.amazon.com/ecs/.

  2. Na página Clusters, escolha o cluster windows.

  3. Na guia Services, escolha o serviço windows-simple-iis.

  4. Na página Service: windows-simple-iis, escolha o ID da tarefa em seu serviço.

  5. Na página Task, expanda o contêiner iis para visualizar suas informações.

  6. Nas Network bindings do contêiner, você deve ver um endereço IP External Link e um link de combinação de portas. Escolha esse link para abrir a página de teste do IIS no seu navegador.

    
                        Página de teste do Windows simple IIS