Créer un service - AWS Proton

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 avecAWS Proton, en tant que développeur, vous créez un service et fournissez les informations suivantes.

  1. Le nom d'un modèle deAWS Proton service publié par l'équipe de la plateforme.

  2. Un nom pour le service.

  3. Nombre d'instances de service que vous souhaitez déployer.

  4. Une sélection d'environnements que vous souhaitez utiliser.

  5. Une connexion à votre référentiel de code si vous utilisez un modèle de service qui inclut un pipeline de services (facultatif).

Présentation d'un service ?

Lorsque vous créez unAWS Proton service, vous pouvez choisir parmi deux types de service différents :

  • Modèle de service qui inclut un pipeline de service (par défaut).

  • Un modèle de service qui n'inclut pas de pipeline de services.

Vous devez créer au moins une instance de service lors de la création de 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, veuillez consulterModifier un service.

Note

Votre environnement est configuré pour un provisionnement autogéré ou pour un provisionnement autogéré.AWS AWS Protonfournit 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 responsable, veuillez consulterComment AWS Proton approvisionne l'infrastructure.

Modèles de service

Des versions majeures et mineures des modèles de service sont disponibles. Lorsque vous utilisez la console, vous sélectionnez la dernière versionRecommended majeure et mineure du modèle de service. Lorsque vous utilisez leAWS CLI et que vous ne spécifiez que la version principale du modèle de service, vous indiquez implicitement sa dernière versionRecommended mineure.

Ce qui suit décrit la différence entre les versions principales et secondaires des modèles et leur utilisation.

  • Les nouvelles versions d'un modèle sont disponiblesRecommended 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.

  • L'AWS Protonéquipe de la plateforme peut ainsi mettre automatiquement à 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 montrent comment utiliser laAWS Proton console ouAWS CLI créer un service avec ou sans pipeline de services.

AWS Management Console
Créez un service comme indiqué dans les étapes suivantes de la console.
  1. Dans la AWS Protonconsole, choisissez Services.

  2. Choisissez Créer un service.

  3. 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 pipeline pour votre service.

  4. Sur la page Configurer le service, dans la section Paramètres du service, entrez un nom de service.

  5. (Facultatif) Saisissez une description du service.

  6. Dans la section Paramètres du référentiel de services :
    1. Pour CodeStar Connexion, choisissez votre connexion dans la liste.

    2. Pour ID de référentiel, choisissez le nom de votre référentiel de code source dans la liste.

    3. Pour Nom de la branche, choisissez le nom de la branche de votre référentiel de code source dans la liste.

  7. (Facultatif) Dans la section Balises, choisissez Ajouter une nouvelle balise et entrez une clé et une valeur pour créer une balise gérée par le client.

  8. Choisissez Next (Suivant).

  9. 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 lesrequired paramètres. Vous pouvez saisir des valeurs pour lesoptional paramètres ou utiliser les valeurs par défaut lorsqu'elles sont fournies.

  10. Dans la section Entrées du pipeline, vous devez saisir des valeurs pour lesrequired paramètres. Vous pouvez saisir des valeurs pour lesoptional paramètres ou utiliser les valeurs par défaut lorsqu'elles sont fournies.

  11. Choisissez Suivant et passez en revue vos entrées.

  12. Choisissez Create (Créer).

    Consultez les détails et l'état du service, ainsi que les balisesAWS gérées par les clients et les balises gérées par les clients pour votre service.

  13. Dans le volet 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 leAWS CLI, vous spécifiez les entrées de service dans unspec fichier au format YAML.aws-proton/service.yaml, situé dans votre répertoire de code source.

Vous pouvez utiliser laget-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 contenantpipelineProvisioning: "CUSTOMER_MANAGED", n'incluez pas lapipeline: section dans votre spécification et n'incluez-repository-connection-arn pas de-branch-name paramètres dans votrecreate-service commande.-repository-id

Crée un service avec un pipeline de service comme illustré dans les étapes de la CLI suivantes.

  1. 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/AWSProtonServiceRole"
  2. 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 service et les entrées de l'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 suivant.

    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 service, comme indiqué dans l'exemple de commande et de réponse de la CLI suivant.

L'exemple suivant montre un exemple de spécification qui n'inclut pas les entrées du pipeline de service.

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 service provisionné, vous devez indiquer le chemin d'accès à aspec.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 suivant.

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" } }