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.
Créer un service
Pour déployer une application avec AWS Proton, en tant que développeur, vous devez créer un service et fournir les entrées suivantes.
-
Le nom d'un modèle de AWS Proton service publié par l'équipe de la plateforme.
-
Nom du service.
-
Le nombre d'instances de service que vous souhaitez déployer.
-
Sélection d'environnements que vous souhaitez utiliser.
-
Une connexion à votre référentiel de code si vous utilisez un modèle de service incluant un pipeline de services (facultatif).
Qu'y a-t-il dans un service ?
Lorsque vous créez un AWS Proton service, vous pouvez choisir entre deux types de modèles de service différents :
Vous devez créer au moins une instance de service lorsque vous créez votre service.
Une instance de service et un pipeline optionnel sont associés à un service. Vous ne pouvez créer ou supprimer un pipeline que dans le contexte des actions de création et de suppression de services. Pour savoir comment ajouter et supprimer des instances d'un service, consultezModifier un service.
Votre environnement est configuré pour un provisionnement autogéré ou autogéré. AWS AWS Proton fournit des services dans un environnement en utilisant la même méthode de provisionnement que celle utilisée par l'environnement. Le développeur qui crée ou met à jour des instances de service ne voit pas la différence et son expérience est la même dans les deux cas.
Pour plus d'informations sur les méthodes de provisionnement, consultezComment AWS Proton approvisionne l'infrastructure.
Modèles de services
Des versions majeures et mineures des modèles de service sont disponibles. Lorsque vous utilisez la console, vous sélectionnez la dernière version Recommended
majeure et mineure du modèle de service. Lorsque vous utilisez le AWS CLI et que vous spécifiez uniquement la version principale du modèle de service, vous spécifiez implicitement sa dernière version Recommended
mineure.
Ce qui suit décrit la différence entre les versions principales et secondaires des modèles ainsi que leur utilisation.
-
Les nouvelles versions d'un modèle sont Recommended
publiées dès qu'elles sont approuvées par un membre de l'équipe de la plateforme. Cela signifie que de nouveaux services sont créés à l'aide de cette version et que vous êtes invité à mettre à jour les services existants vers la nouvelle version.
-
Grâce à AWS Proton cela, l'équipe de la plateforme peut automatiquement mettre à jour les instances de service vers une nouvelle version mineure d'un modèle de service. Les versions mineures doivent être rétrocompatibles.
-
Étant donné que les versions majeures nécessitent que vous fournissiez de nouvelles entrées dans le cadre du processus de mise à jour, vous devez mettre à jour votre service vers une version majeure de son modèle de service. Les versions majeures ne sont pas rétrocompatibles.
Créer un service
Les procédures suivantes indiquent comment utiliser la AWS Proton console ou AWS CLI créer un service avec ou sans pipeline de services.
- AWS Management Console
-
Créez un service comme indiqué dans les étapes de console suivantes.
-
Dans la AWS Proton console, choisissez Services.
-
Choisissez Créer un service.
-
Sur la page Choisir un modèle de service, sélectionnez un modèle et choisissez Configurer.
Si vous ne souhaitez pas utiliser un pipeline activé, choisissez un modèle marqué avec Exclut le pipeline pour votre service.
-
Sur la page Configurer le service, dans la section Paramètres du service, entrez un nom de service.
-
(Facultatif) Entrez une description du service.
-
Dans la section Paramètres du référentiel de services :
-
Pour CodeStar Connexion, choisissez votre connexion dans la liste.
-
Pour Repository ID, choisissez le nom de votre référentiel de code source dans la liste.
-
Pour Nom de la branche, choisissez le nom de la branche de votre référentiel de code source dans la liste.
-
(Facultatif) Dans la section Tags, choisissez Ajouter un nouveau tag et entrez une clé et une valeur pour créer un tag géré par le client.
-
Choisissez Suivant.
-
Sur la page Configurer les paramètres personnalisés, dans la section Instances de service, dans la section Nouvelle instance. Vous devez saisir des valeurs pour les required
paramètres. Vous pouvez saisir des valeurs pour les optional
paramètres ou utiliser les valeurs par défaut lorsqu'elles sont définies.
-
Dans la section Entrées du pipeline, vous devez saisir des valeurs pour les required
paramètres. Vous pouvez saisir des valeurs pour les optional
paramètres ou utiliser les valeurs par défaut lorsqu'elles sont définies.
-
Choisissez Next et passez en revue vos entrées.
-
Choisissez Créer.
Consultez les détails et l'état du service, ainsi que les balises AWS gérées et les balises gérées par le client pour votre service.
-
Dans le panneau de navigation, choisissez Services.
Une nouvelle page affiche la liste de vos services ainsi que leur statut et d'autres détails.
- AWS CLI
-
Lorsque vous utilisez le AWS CLI, vous spécifiez les entrées de service dans un spec
fichier au format YAML.aws-proton/service.yaml
, situé dans le répertoire de votre code source.
Vous pouvez utiliser la get-service-template-minor-version
commande CLI pour afficher le schéma requis et les paramètres facultatifs pour lesquels vous fournissez des valeurs dans votre fichier de spécifications.
Si vous souhaitez utiliser un modèle de service qui en possèdepipelineProvisioning: "CUSTOMER_MANAGED"
, n'incluez pas la pipeline:
section dans votre spécification et n'incluez -repository-connection-arn
pas de -branch-name
paramètres dans votre create-service
commande. -repository-id
Créez un service avec un pipeline de services, comme indiqué dans les étapes de la CLI suivantes.
-
Configurez le rôle de service pour le pipeline comme indiqué dans l'exemple de commande CLI suivant.
Commande :
$
aws proton update-account-settings \
--pipeline-service-role-arn "arn:aws:iam::123456789012
:role/AWS ProtonServiceRole
"
-
La liste suivante présente un exemple de spécification, basé sur le schéma du modèle de service, qui inclut le pipeline de services et les entrées d'instance.
Spécification :
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"
Créez un service avec un pipeline, comme indiqué dans l'exemple de commande et de réponse de la CLI ci-dessous.
Commande :
$
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
"
Réponse :
{
"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"
}
}
Créez un service sans pipeline de services, comme indiqué dans l'exemple de commande et de réponse de la CLI ci-dessous.
Voici un exemple de spécification qui n'inclut pas les entrées du pipeline de services.
Spécification :
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"
Pour créer un service sans pipeline de services provisionné, vous devez fournir le chemin d'accès à un spec.yaml
et vous n'incluez pas les paramètres du référentiel, comme indiqué dans l'exemple de commande et de réponse de la CLI ci-dessous.
Commande :
$
aws proton create-service \
--name "MySimpleServiceNoPipeline
" \
--template-major-version "1
" \
--template-name "fargate-service
" \
--spec "file://spec-no-pipeline.yaml
"
Réponse :
{
"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"
}
}