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
Para implantar um aplicativo com o AWS Proton, como desenvolvedor, você cria um serviço e fornece as seguintes entradas.
-
O nome de um modelo de serviço do AWS Proton publicado pela equipe da plataforma.
-
Um nome para o serviço.
-
O número de instâncias de serviço que você deseja implantar.
-
Uma seleção de ambientes que você deseja usar.
-
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?
Ao criar um serviço do AWS Proton, você pode escolher entre dois tipos diferentes de modelos 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.
Seu ambiente está configurado para provisionamento gerenciado pelo AWS ou autogerenciado. O 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 o AWS Proton provisiona a infraestrutura.
Modelos de serviço
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 do AWS Proton, 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
Os procedimentos a seguir mostram como usar o console do AWS Proton ou o AWS CLI para criar um serviço com ou sem um pipeline de serviço.
- AWS Management Console
-
Crie um serviço conforme mostrado nas etapas do console a seguir.
-
No console do AWS Proton, selecione Serviços.
-
Escolha Create service.
-
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.
-
Na página Configurar serviço, na seção Configurações do serviço, insira o Nome do serviço.
-
(Opcional) Insira uma descrição para o serviço.
-
Na seção Configurações do repositório de serviços:
-
Para Conexão do CodeStar, escolha sua conexão da lista.
-
Para ID do Repositório, escolha o nome do seu repositório de códigos-fonte da lista.
-
Em Nome da ramificação, escolha o nome da ramificação do repositório de código-fonte na lista.
-
(Opcional) Na seção Tags, escolha Adicionar nova tag e insira uma chave e um valor para criar uma tag gerenciada pelo cliente.
-
Escolha Next (Próximo).
-
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.
-
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.
-
Escolha Avançar e revise suas entradas.
-
Escolha Create (Criar).
Visualize os detalhes e o status do serviço, bem como as tags gerenciadas pelo AWS e as tags gerenciadas pelo cliente para seu serviço.
-
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 arquivo de spec
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.
-
Configure o perfil de serviço 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/AWSProtonServiceRole
"
-
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"
}
}