

Aviso de fim do suporte: em 7 de outubro de 2026, AWS encerrará o suporte para AWS Proton. Depois de 7 de outubro de 2026, você não poderá mais acessar o AWS Proton console ou os AWS Proton recursos. Sua infraestrutura implantada permanecerá intacta. Para obter mais informações, consulte o Guia [AWS Proton de descontinuação e migração de serviços](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html).

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á.

# Criar um serviço
<a name="ag-create-svc"></a>

Para implantar um aplicativo com AWS Proton, como desenvolvedor, você cria um serviço e fornece as seguintes entradas.

1. O nome de um modelo de AWS Proton serviço publicado pela equipe da plataforma.

1. Um nome para o serviço.

1. O número de instâncias de serviço que você deseja implantar.

1. Uma seleção de ambientes que você deseja usar.

1. Uma conexão com seu repositório de código se você estiver usando um modelo de serviço que inclua um pipeline de serviço (opcional).

## O que há em um serviço?
<a name="ag-create-svc.info"></a>

Ao criar um AWS Proton serviço, você pode escolher entre dois tipos diferentes de modelos de serviço:
+ Um modelo de serviço que inclui um pipeline de serviço (padrão).
+ Um modelo de serviço que *não* inclui um pipeline de serviço.

É necessário criar pelo menos uma instância de serviço ao criar o serviço.

Uma instância de serviço e um pipeline opcional estão associados a um serviço. Você só pode criar ou excluir um pipeline dentro do contexto das ações de *criação* e *exclusão* do serviço. Para saber como adicionar e remover instâncias de um serviço, consulte [Editar um serviço](ag-svc-update.md).

**nota**  
Seu ambiente está configurado para provisionamento autogerenciado ou autogerenciado. AWS AWS Proton provisiona serviços em um ambiente usando o mesmo método de provisionamento usado pelo ambiente. O desenvolvedor que cria ou atualiza instâncias de serviço não vê a diferença e sua experiência é a mesma em ambos os casos.  
Para obter mais informações sobre métodos de provisionamento, consulte [Como AWS Proton provisiona a infraestrutura](ag-works-prov-methods.md).

## Modelos de serviço
<a name="ag-create-svc.templates"></a>

As versões principais e secundárias dos modelos de serviço estão disponíveis. Ao usar o console, você seleciona a versão principal do `Recommended` e secundária mais recente do modelo de serviço. Ao usar o AWS CLI e especificar somente a versão principal do modelo de serviço, você especifica implicitamente sua versão `Recommended` secundária mais recente.

A seguir, descrevemos a diferença entre as versões principais e secundárias do modelo e seu uso.
+ Novas versões de um modelo se tornam `Recommended` assim que são aprovadas por um membro da equipe da plataforma. Isso significa que novos serviços são criados usando essa versão e você é solicitado a atualizar os serviços existentes para a nova versão.
+ Por meio AWS Proton disso, a equipe da plataforma pode atualizar automaticamente as instâncias de serviço para uma nova versão secundária de um modelo de serviço. As versões secundárias devem ser compatíveis com versões anteriores. 
+ Como as versões principais exigem que você forneça novas entradas como parte do processo de atualização, você precisa atualizar seu serviço para uma versão principal do modelo de serviço. As versões principais *não são* compatíveis com versões anteriores.

## Criar um serviço
<a name="ag-create-svc.procedure"></a>

Os procedimentos a seguir mostram como usar o AWS Proton console ou AWS CLI criar um serviço com ou sem um pipeline de serviço.

------
#### [ Console de gerenciamento da AWS ]

**Crie um serviço conforme mostrado nas etapas do console a seguir.**

1. No [console do AWS Proton](https://console.aws.amazon.com//proton/), selecione Serviços.

1. Escolha **Create service**.

1. Na página **Escolher um modelo de serviço**, selecione um modelo e escolha **Configurar**.

   Quando você *não* quiser usar um pipeline habilitado, escolha um modelo marcado com *Exclui pipeline* para seu serviço.

1. Na página **Configurar serviço**, na seção **Configurações do serviço**, insira o **Nome do serviço**.

1. (Opcional) Insira uma descrição para o serviço.

1. 

**Na seção **Configurações do repositório de serviços**:**

   1. Em **CodeStar Conexão**, escolha sua conexão na lista.

   1. Para **ID do Repositório**, escolha o nome do seu repositório de códigos-fonte da lista.

   1. Em **Nome da ramificação**, escolha o nome da ramificação do repositório de código-fonte na lista.

1. (Opcional) Na seção **Tags**, escolha **Adicionar nova tag** e insira uma chave e um valor para criar uma tag gerenciada pelo cliente.

1. Escolha **Próximo**.

1. Na página **Definir configurações personalizadas**, na seção **Instâncias de serviço**, escolha a seção **Nova instância**. Você deve inserir valores para os parâmetros do `required`. Você pode inserir valores para os parâmetros `optional` ou usar os padrões quando fornecidos.

1. Na seção **Entradas do pipeline**, você deve inserir valores para os parâmetros do `required`. Você pode inserir valores para os parâmetros `optional` ou usar os padrões quando fornecidos.

1. Escolha **Avançar** e revise suas entradas.

1. Escolha **Criar**.

   Visualize os detalhes e o status do serviço, bem como as tags AWS gerenciadas e as tags gerenciadas pelo cliente do seu serviço.

1. No painel de navegação, escolha **Serviços**.

   Uma nova página exibe uma lista de seus serviços junto com o status e outros detalhes do serviço.

------
#### [ AWS CLI ]

Ao usar o AWS CLI, você especifica as entradas de serviço em um `spec` arquivo formatado em YAML,`.aws-proton/service.yaml`, localizado no diretório do código-fonte.

Você pode usar o comando CLI `get-service-template-minor-version` para visualizar os parâmetros obrigatórios e opcionais do esquema para os quais você fornece valores em seu arquivo de especificação.

Se você quiser usar um modelo de serviço que tenha `pipelineProvisioning: "CUSTOMER_MANAGED"`, *não* inclua a seção `pipeline:` em sua especificação e *não* incluaos parâmetros `-repository-connection-arn`, `-repository-id` e `-branch-name` em seu comando `create-service`.

**Crie um serviço com um pipeline de serviço, conforme mostrado nas etapas da CLI a seguir.**

1. **Configure o [perfil de serviço](security_iam_service-role-policy-examples.md#codepipeline-proton-svc-role) para o pipeline conforme mostrado no comando de exemplo da CLI a seguir.**

   Comando:

   ```
   $ aws proton update-account-settings \
           --pipeline-service-role-arn "arn:aws:iam::123456789012:role/AWS ProtonServiceRole"
   ```

1. A lista a seguir mostra um exemplo de especificação, com base no esquema do modelo de serviço, que inclui o pipeline de serviço e as entradas da instância.

   Especificação:

   ```
   proton: ServiceSpec
   
   pipeline:
     my_sample_pipeline_required_input: "hello"
     my_sample_pipeline_optional_input: "bye"
   
   instances:
     - name: "acme-network-dev"
       environment: "ENV_NAME"
       spec:
         my_sample_service_instance_required_input: "hi"
         my_sample_service_instance_optional_input: "ho"
   ```

   **Crie um serviço com um pipeline, conforme mostrado no exemplo de comando e resposta da CLI a seguir.**

   Comando:

   ```
   $ aws proton create-service \
           --name "MySimpleService" \
           --branch-name "mainline" \
           --template-major-version "1" \
           --template-name "fargate-service" \
           --repository-connection-arn "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" \
           --repository-id "myorg/myapp" \
           --spec "file://spec.yaml"
   ```

   Resposta:

   ```
   {
       "service": {
           "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
           "createdAt": "2020-11-18T19:50:27.460000+00:00",
           "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00",
           "name": "MySimpleService",
           "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
           "repositoryId": "myorg/myapp",
           "status": "CREATE_IN_PROGRESS",
           "templateName": "fargate-service"
       }
   }
   ```

**Crie um serviço sem um pipeline de serviço, conforme mostrado no exemplo de comando e resposta da CLI a seguir.**

Veja a seguir um exemplo de especificação que *não* inclui entradas do pipeline de serviço.

Especificação:

```
proton: ServiceSpec

instances:
  - name: "acme-network-dev"
    environment: "ENV_NAME"
    spec:
      my_sample_service_instance_required_input: "hi"
      my_sample_service_instance_optional_input: "ho"
```

**Para criar um serviço *sem* um pipeline de serviço provisionado, você fornece o caminho para um `spec.yaml` e *não* inclui os parâmetros do repositório, conforme mostrado no exemplo de comando e resposta da CLI a seguir.**

Comando:

```
$ aws proton create-service \
        --name "MySimpleServiceNoPipeline" \
        --template-major-version "1" \
        --template-name "fargate-service" \
        --spec "file://spec-no-pipeline.yaml"
```

Resposta:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleServiceNoPipeline",
        "createdAt": "2020-11-18T19:50:27.460000+00:00",
        "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00",
        "name": "MySimpleServiceNoPipeline",
        "status": "CREATE_IN_PROGRESS",
        "templateName": "fargate-service-no-pipeline"
    }
}
```

------