

# Criar um serviço que usa o VPC Lattice
<a name="ecs-vpc-lattice-create-service"></a>

É possível usar o Console de gerenciamento da AWS ou o AWS CLI para criar um serviço com o VPC Lattice.

## Pré-requisitos
<a name="create-ecs-vpc-lattice-prereqs"></a>

Antes de começar este tutorial, certifique-se de que os seguintes pré-requisitos foram atendidos:
+ A versão mais recente da AWS CLI está instalada e configurada. Para obter mais informações, consulte [Instalar a AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html).
**nota**  
É possível usar endpoints de serviço de pilha dupla para interagir com o Amazon ECS via AWS CLI, SDKs e API do Amazon ECS sobre IPv4 e IPv6. Para obter mais informações, consulte [Usar endpoints de pilha dupla do Amazon ECS](dual-stack-endpoint.md).
+ As etapas descritas em [Configuração para usar o Amazon ECS](get-set-up-for-amazon-ecs.md) estão concluídas.
+ O usuário do IAM tem as permissões necessárias especificadas no exemplo de política do IAM de [AmazonECS\_FullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonECS_FullAccess).

## Criar um serviço que usa o VPC Lattice com o Console de gerenciamento da AWS
<a name="ecs-lattice-create-console"></a>

Siga estas etapas para criar um serviço com o VPC Lattice usando o Console de gerenciamento da AWS.

1. Abra o console em [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Na página de navegação, escolha **Clusters**.

1. Na página **Clusters**, selecione o cluster no qual o serviço será criado.

1. Na guia **Services** (Serviços), escolha **Create** (Criar).

   Se você nunca criou um serviço antes, siga as etapas encontradas em [Criar um serviço do Amazon ECS usando o console](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service-console-v2.html) e continue com estas etapas ao chegar à seção VPC Lattice.

1. Selecione o botão para **Ativar o VPC Lattice**.

1. Para usar um perfil existente, em **Perfil da infraestrutura do ECS para Amazon ECS**, escolha um que você já criou para usar ao criar o grupo de destino da VPC Lattice. Para criar um novo perfil, selecione **Criar perfil da infraestrutura do ECS**.

1. Escolha a **VPC**.

   A **VPC** depende do modo de rede que você selecionou ao registrar sua definição de tarefa. Se você usar o modo `host` ou `network` com o EC2, escolha sua VPC. 

   Para o modo `awsvpc`, a VPC será selecionada automaticamente com base na VPC que você escolheu em **Rede** e não poderá ser alterada.

1. Em **Grupos de destino**, escolha um ou mais grupos de destino. Escolha pelo menos um grupo de destino e, no máximo, cinco. Escolha **Adicionar grupo de destino** para adicionar mais grupos de destino. Escolha o **Nome da porta**, o **Protocolo** e a **Porta** para cada grupo de destino escolhido. Para excluir um grupo de destino, escolha **Remover**.
**nota**  
Se desejar adicionar grupos de destino existentes, será necessário usar a AWS CLI. Para obter instruções sobre como adicionar grupos de destino usando o AWS CLI, consulte [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html) na *Referência do AWS Command Line Interface*.
Embora um serviço do VPC Lattice possa ter vários grupos de destino, cada grupo de destino só pode ser adicionado a um serviço.
Para criar um serviço em uma configuração somente IPv6, escolha grupos de destino com um tipo de endereço IP `IPv6`.

1. Nesse ponto, navegue até o console do VPC Lattice para continuar a configuração. É aqui que você inclui seus novos grupos de destino na ação padrão do receptor ou nas regras de um serviço do VPC Lattice existente. 

   Para obter mais informações, consulte [Regras de receptor para o serviço do VPC Lattice](https://docs.aws.amazon.com/vpc-lattice/latest/ug/listener-rules.html).

**Importante**  
É necessário permitir o prefixo `vpc-lattice` da regra de entrada em seu grupo de segurança. Caso contrário, as tarefas e verificações de integridade poderão falhar. 

## Criar um serviço que usa o VPC Lattice com a AWS CLI
<a name="ecs-lattice-create-cli"></a>

Use a AWS CLI para criar um serviço com o VPC Lattice. Substitua cada {{espaço reservado para entrada do usuário}} por suas próprias informações.

1. Crie um arquivo de configuração de grupo de destino. O exemplo a seguir é denominado `tg-config.json`

   ```
   {
       "ipAddressType": "IPV4",
       "port": 443,
       "protocol": "HTTPS",
       "protocolVersion": "HTTP1",
       "vpcIdentifier": "{{vpc-f1663d9868EXAMPLE}}"
   }
   ```

1. Use o comando a seguir para criar um grupo de destino do VPC Lattice.

   ```
   aws vpc-lattice create-target-group \
       --name my-lattice-target-group-ip \
       --type IP \
       --config file://{{tg-config.json}}
   ```
**nota**  
Para criar um serviço em uma configuração somente IPv6, crie grupos de destino com um tipo de endereço IP `IPv6`. Para obter mais informações, consulte [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-target-group.html) na *Referência de comandos da AWS CLI*.

   Resultado do exemplo:

   ```
   {
       "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE",
       "config": {
           "healthCheck": {
               "enabled": true,
               "healthCheckIntervalSeconds": 30,
               "healthCheckTimeoutSeconds": 5,
               "healthyThresholdCount": 5,
               "matcher": {
                   "httpCode": "200"
               },
               "path": "/",
               "protocol": "HTTPS",
               "protocolVersion": "HTTP1",
               "unhealthyThresholdCount": 2
           },
           "ipAddressType": "IPV4",
           "port": 443,
           "protocol": "HTTPS",
           "protocolVersion": "HTTP1",
           "vpcIdentifier": "vpc-f1663d9868EXAMPLE"
       },
       "id": "tg-0eaa4b9ab4EXAMPLE",
       "name": "my-lattice-target-group-ip",
       "status": "CREATE_IN_PROGRESS",
       "type": "IP"
   }
   ```

1. O arquivo JSON a seguir, chamado {{ecs-service-vpc-lattice.json}}, é um exemplo usado para anexar um serviço do Amazon ECS a um grupo de destino do VPC Lattice. O valor `portName` no exemplo a seguir é o mesmo que você definiu no campo `name` da propriedades `portMappings` da definição da sua tarefa.

   ```
   {
       "serviceName": "{{ecs-service-vpc-lattice}}",
       "taskDefinition": "{{ecs-task-def}}",
           "vpcLatticeConfigurations": [
           {
               "targetGroupArn": "arn:aws:vpc-lattice:{{us-west-2:123456789012}}:targetgroup/{{tg-0eaa4b9ab4EXAMPLE}}",
               "portName": "{{testvpclattice}}",
               "roleArn": "arn:aws:iam::{{123456789012}}:role/ecsInfrastructureRoleVpcLattice"
           }
       ],
       "desiredCount": {{5}},
       "role": "{{ecsServiceRole}}"
   }
   ```

   Use o comando a seguir para criar um serviço do Amazon ECS e associá-lo ao destino do VPC Lattice, utilizando o exemplo em JSON apresentado anteriormente.

   ```
   aws ecs create-service \
       --cluster {{clusterName}} \
       --serviceName {{ecs-service-vpc-lattice}} \
       --cli-input-json file://{{ecs-service-vpc-lattice.json}}
   ```