Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Mettre à jour une instance de service
Apprenez à mettre à jour une instance AWS Proton de service et à annuler la mise à jour.
Une instance de service appartient à un service. Vous ne pouvez créer ou supprimer une instance que dans le cadre d'actions de modification, de création et de suppression de services. Pour savoir comment ajouter et supprimer des instances d'un service, consultezModifier un service.
Il existe quatre modes de mise à jour d'une instance de service, comme décrit dans la liste suivante. Lorsque vous utilisez le AWS CLI, le deployment-type
champ définit le mode. Lorsque vous utilisez la console, ces modes correspondent aux actions Modifier et Mettre à jour vers la dernière version mineure et Mettre à jour vers la dernière version majeure qui figurent dans la liste déroulante Actions de la page détaillée de l'instance de service.
-
NONE
Dans ce mode, aucun déploiement n'a lieu. Seuls les paramètres de métadonnées demandés sont mis à jour.
-
CURRENT_VERSION
Dans ce mode, l'instance de service est déployée et mise à jour avec les nouvelles spécifications que vous fournissez. Seuls les paramètres demandés sont mis à jour. N'incluez pas de paramètres de version mineurs ou majeurs lorsque vous l'utilisezdeployment-type
.
-
MINOR_VERSION
Dans ce mode, l'instance de service est déployée et mise à jour avec la (dernière) version mineure publiée et recommandée de la version majeure actuellement utilisée par défaut. Vous pouvez également spécifier une version mineure différente de la version principale actuellement utilisée.
-
MAJOR_VERSION
Dans ce mode, l'instance de service est déployée et mise à jour avec la (dernière) version majeure et mineure publiée et recommandée du modèle actuel par défaut. Vous pouvez également spécifier une version majeure différente, supérieure à la version principale utilisée, et une version secondaire (facultatif).
Vous pouvez essayer d'annuler le déploiement d'une mise à jour d'instance de service si tel deploymentStatus
est le casIN_PROGRESS
. AWS Proton tente d'annuler le déploiement. L'annulation réussie n'est pas garantie.
Lorsque vous annulez le déploiement d'une mise à jour, AWS Proton tente d'annuler le déploiement comme indiqué dans les étapes suivantes.
-
Définit l'état de déploiement surCANCELLING
.
-
Arrête le déploiement en cours et supprime toutes les nouvelles ressources créées par le déploiement à quel momentIN_PROGRESS
.
-
Définit l'état de déploiement surCANCELLED
.
-
Rétablit l'état de la ressource tel qu'il était avant le début du déploiement.
Pour plus d'informations sur l'annulation du déploiement d'une instance de service, consultez CancelServiceInstanceDeploymentla référence des AWS Proton API.
Utilisez la console ou AWS CLI pour effectuer des mises à jour ou annuler des déploiements de mises à jour.
- AWS Management Console
-
Mettez à jour une instance de service à l'aide de la console en suivant ces étapes.
-
Dans la AWS Proton console, choisissez Service instances dans le volet de navigation.
-
Dans la liste des instances de service, choisissez le nom de l'instance de service que vous souhaitez mettre à jour.
-
Choisissez Actions, puis choisissez l'une des options de mise à jour, Modifier pour mettre à jour les spécifications ou les actions, puis Mettre à jour vers la dernière version mineure ou Mettre à jour vers la dernière version majeure.
-
Remplissez chaque formulaire et choisissez Suivant jusqu'à ce que vous atteigniez la page d'évaluation.
-
Passez en revue vos modifications et choisissez Mettre à jour.
- AWS CLI
-
Mettez à jour une instance de service vers une nouvelle version mineure, comme indiqué dans les exemples de commandes et de réponses de la CLI.
Lorsque vous mettez à jour votre instance de service avec une modificationspec
, vous pouvez l'utiliser "${Proton::CURRENT_VAL}"
pour indiquer les valeurs de paramètres à conserver par rapport à l'originalspec
, si les valeurs existent dans lespec
. get-service
À utiliser pour afficher l'original d'spec
une instance de service, comme décrit dansAfficher les données de service.
L'exemple suivant montre comment vous pouvez utiliser "${Proton::CURRENT_VAL}"
dans unspec
.
Spécification :
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"
Commande : pour mettre à jour
$
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
"
Réponse :
{
"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"
}
}
Commande : pour obtenir et confirmer le statut
$
aws proton get-service-instance \
--name "instance-one
" \
--service-name "simple-svc
"
Réponse :
{
"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
-
Annulez le déploiement d'une instance de service à l'aide de la console, comme indiqué dans les étapes suivantes.
-
Dans la AWS Proton console, choisissez Service instances dans le volet de navigation.
-
Dans la liste des instances de service, choisissez le nom de l'instance de service dont vous souhaitez annuler la mise à jour de déploiement.
-
Si le statut de votre déploiement de mise à jour est En cours, sur la page détaillée de l'instance de service, choisissez Actions, puis Annuler le déploiement.
-
Un modal vous demande de confirmer l'annulation. Choisissez Annuler le déploiement.
-
L'état du déploiement de votre mise à jour est défini sur Annulation, puis sur Annulé pour terminer l'annulation.
- AWS CLI
-
Annulez la mise à jour du déploiement d'une instance de service IN_PROGRESS vers la nouvelle version mineure 2, comme indiqué dans les exemples de commandes et de réponses de la CLI suivants.
Une condition d'attente est incluse dans le modèle utilisé pour cet exemple afin que l'annulation commence avant que le déploiement de la mise à jour ne réussisse.
Commande : pour annuler
$
aws proton cancel-service-instance-deployment \
--service-instance-name "instance-one
" \
--service-name "simple-svc
"
Réponse :
{
"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"
}
}
Commande : pour obtenir et confirmer le statut
$
aws proton get-service-instance \
--name "instance-one
" \
--service-name "simple-svc
"
Réponse :
{
"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"
}
}