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á.
Atualize uma instância de serviço
Aprenda a atualizar uma instância de serviço do AWS Proton e cancelar a atualização.
Uma instância de serviço pertence a um serviço. Você só pode criar ou excluir uma instância dentro do contexto das ações de editar, criar e excluir do serviço. Para saber como adicionar e remover instâncias de um serviço, consulte Editar um serviço.
Há quatro modos para atualizar uma instância de serviço, conforme descrito na lista a seguir. Ao usar o AWS CLI, o campo deployment-type
define o modo. Ao usar o console, esses modos são mapeados para as ações Editar, Atualizar para a versão secundária mais recente e Atualizar para a versão principal mais recente, que aparecem em Ações na página de detalhes da instância de serviço.
-
NONE
Nesse modo, uma implantação não ocorre. Somente as ramificações de metadata solicitadas do são atualizadas.
-
CURRENT_VERSION
Nesse modo, a instância de serviço é implantada e atualizada com a nova especificação fornecida por você. Somente ramificações solicitadas do são atualizadas. Não inclua parâmetros de versão secundária ou principal ao usar este deployment-type
.
-
MINOR_VERSION
Nesse modo, a instância de serviço é implantada e atualizada com a versão secundária publicada e recomendada (mais recente) da versão principal atual em uso por padrão. Você também pode especificar uma versão secundária diferente da versão principal atual em uso.
-
MAJOR_VERSION
Nesse modo, a instância de serviço é implantada e atualizada com a versão principal e secundária publicada e recomendada (mais recente) do modelo atual por padrão. Você também pode especificar uma versão principal diferente que seja superior à versão principal em uso e uma versão secundária (opcional).
Você pode tentar cancelar a implantação de uma atualização de instância de serviço se o deploymentStatus
estiver IN_PROGRESS
. O AWS Proton tenta cancelar a implantação. O cancelamento bem-sucedido não é garantido.
Quando você cancela uma implantação de atualização, o AWS Proton tenta cancelar a implantação conforme listado nas etapas a seguir.
-
Define o estado de implantação como CANCELLING
.
-
Interrompe a implantação em andamento e exclui todos os novos recursos que foram criados pela implantação quando IN_PROGRESS
.
-
Define o estado de implantação como CANCELLED
.
-
Reverte o estado do recurso para o que era antes do início da implantação.
Para obter mais informações sobre o cancelamento da implantação de uma instância de serviço, consulte CancelServiceInstanceDeployment na Referência da API do AWS Proton.
Use o console ou o AWS CLI para fazer atualizações ou cancelar implantações de atualizações.
- AWS Management Console
-
Atualize uma instância de serviço usando o console seguindo estas etapas.
-
No console do AWS Proton, escolha Instâncias de serviço no painel de navegação.
-
Na lista de instâncias de serviço, escolha o nome da instância de serviço que você deseja atualizar.
-
Escolha Ações e, em seguida, escolha uma das opções de atualização, Editar para atualizar as especificações ou Ações e, em seguida, Atualizar para a versão secundária mais recente ou Atualizar para a versão principal mais recente.
-
Preencha cada formulário e escolha Avançar até chegar à página Revisar.
-
Revise suas edições e escolha Atualizar.
- AWS CLI
-
Atualize uma instância de serviço para uma nova versão secundária, conforme mostrado nos comandos e respostas de exemplo da CLI.
Quando você atualiza sua instância de serviço com uma spec
modificada, você pode usar "${Proton::CURRENT_VAL}"
para indicar quais valores de parâmetros devem ser preservados da spec
original, se os valores existirem na spec
. Use get-service
para visualizar a spec
original de uma instância de serviço, conforme descrito em Exibir dados do serviço.
O exemplo a seguir mostra como você pode usar a "${Proton::CURRENT_VAL}"
em uma spec
.
Especificação:
proton: ServiceSpec
pipeline:
my_sample_pipeline_optional_input: "${Proton::CURRENT_VAL}"
my_sample_pipeline_required_input: "${Proton::CURRENT_VAL}"
instances:
- name: "my-instance"
environment: "simple-env"
spec:
my_sample_service_instance_optional_input: "${Proton::CURRENT_VAL}"
my_sample_service_instance_required_input: "${Proton::CURRENT_VAL}"
- name: "my-other-instance"
environment: "simple-env"
spec:
my_sample_service_instance_required_input: "789"
Comando: atualizar
$
aws proton update-service-instance \
--name "instance-one
" \
--service-name "simple-svc
" \
--spec "file://service-spec.yaml
" \
--template-major-version "1
" \
--template-minor-version "1
" \
--deployment-type "MINOR_VERSION
"
Resposta:
{
"serviceInstance": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"deploymentStatus": "IN_PROGRESS",
"environmentName": "arn:aws:proton:region-id:123456789012:environment/simple-env",
"lastDeploymentAttemptedAt": "2021-04-02T21:38:00.823000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00",
"name": "instance-one",
"serviceName": "simple-svc",
"templateMajorVersion": "1",
"templateMinorVersion": "0",
"templateName": "svc-simple"
}
}
Comando: obter e confirmar o status
$
aws proton get-service-instance \
--name "instance-one
" \
--service-name "simple-svc
"
Resposta:
{
"serviceInstance": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"deploymentStatus": "SUCCEEDED",
"environmentName": "simple-env",
"lastDeploymentAttemptedAt": "2021-04-02T21:38:00.823000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00",
"name": "instance-one",
"serviceName": "simple-svc",
"spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"kls-simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "svc-simple"
}
}
- AWS Management Console
-
Cancele a implantação de uma instância de serviço usando o console, conforme mostrado nas etapas a seguir.
-
No console do AWS Proton, escolha Instâncias de serviço no painel de navegação.
-
Na lista de instâncias de serviço, escolha o nome da instância de serviço com a atualização de implantação que você deseja cancelar.
-
Se o status de implantação da atualização estiver Em andamento, na página de detalhes da instância de serviço, escolha Ações e, em seguida, Cancelar implantação.
-
Um modal pede que você confirme o cancelamento. Escolha Cancelar implantação.
-
O status de implantação da atualização será definido como Cancelando e, em seguida, Cancelado para concluir o cancelamento.
- AWS CLI
-
Cancele uma atualização de implantação da instância de serviço IN_PROGRESS para a nova versão secundária 2, conforme mostrado nos seguintes exemplos de comandos e respostas da CLI.
Uma condição de espera é incluída no modelo usado neste exemplo para que o cancelamento comece antes que a implantação da atualização seja bem-sucedida.
Comando: cancelar
$
aws proton cancel-service-instance-deployment \
--service-instance-name "instance-one
" \
--service-name "simple-svc
"
Resposta:
{
"serviceInstance": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"deploymentStatus": "CANCELLING",
"environmentName": "simple-env",
"lastDeploymentAttemptedAt": "2021-04-02T21:45:15.406000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00",
"name": "instance-one",
"serviceName": "simple-svc",
"spec": "proton: ServiceSpec\npipeline:\n my_sample_pipeline_optional_input: abc\n my_sample_pipeline_required_input: '123'\ninstances:\n- name: my-instance\n environment: MySimpleEnv\n spec:\n my_sample_service_instance_optional_input: def\n my_sample_service_instance_required_input: '456'\n- name: my-other-instance\n environment: MySimpleEnv\n spec:\n my_sample_service_instance_required_input: '789'\n",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "svc-simple"
}
}
Comando: obter e confirmar o status
$
aws proton get-service-instance \
--name "instance-one
" \
--service-name "simple-svc
"
Resposta:
{
"serviceInstance": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"deploymentStatus": "CANCELLED",
"deploymentStatusMessage": "User initiated cancellation.",
"environmentName": "simple-env",
"lastDeploymentAttemptedAt": "2021-04-02T21:45:15.406000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00",
"name": "instance-one",
"serviceName": "simple-svc",
"spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"kls-simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "svc-simple"
}
}