Tous les produits
Search
Centre de documentation

Resource Orchestration Service:Créer des instances ECS sur plusieurs comptes et régions

Dernière mise à jour :Sep 20, 2026

Utilisez les groupes de piles (Stack Groups) du service Resource Orchestration Service (ROS) pour créer des instances ECS dotées de la même configuration sur plusieurs comptes et régions Alibaba Cloud.

Vue d'ensemble

Cette rubrique explique comment exploiter les groupes de piles ROS (StackGroup) afin de déployer des instances ECS identiques, accompagnées de leurs ressources réseau dépendantes (VPC, vSwitch et groupe de sécurité), sur plusieurs régions et comptes Alibaba Cloud. Cette approche convient aux déploiements unifiés au sein de groupes d'entreprises, à l'expansion multirégionale des activités mondiales ainsi qu'à la standardisation des infrastructures pour les environnements de développement, de test et de production.

Prérequis

Préparez l'environnement en fonction du modèle d'autorisations que vous souhaitez utiliser.

Modèle d'autorisations géré par le service (recommandé lorsque de nombreux comptes sont impliqués)

  1. Compte Alibaba Cloud : vous disposez d'un compte Alibaba Cloud et avez activé les services ROS et ECS.

  2. Répertoire de ressources : un répertoire de ressources est créé et les comptes cibles y ont rejoint.

  3. Compte administrateur délégué : un compte administrateur délégué est configuré pour ROS. Pour plus d'informations, consultez la page Configurer un compte administrateur délégué.

Modèle d'autorisations géré par l'utilisateur

  1. Compte Alibaba Cloud : vous disposez d'un compte Alibaba Cloud et avez activé les services ROS et ECS.

  2. Comptes : un compte administrateur et les comptes cibles sont créés.

  3. Rôles RAM et approbation : créez manuellement des rôles RAM dans le compte administrateur et dans chaque compte cible afin d'établir une relation d'approbation bidirectionnelle. Pour plus d'informations, consultez la page Accorder des autorisations gérées par l'utilisateur.

Tutoriel

Étape 1 : Préparer le modèle ROS

Le modèle ci-dessous interroge automatiquement le type d'instance recommandé via une source de données DATASOURCE, puis crée un environnement ECS complet (VPC + vSwitch + groupe de sécurité + instance ECS) dans la région cible :

ROSTemplateFormatVersion: '2015-09-01'
Description:
  zh-cn: 自动选择实例规格,创建一台ECS实例及网络资源
  en: Creates one ECS instance with an auto-selected instance type

Resources:
  # Data source: queries the instance types recommended for the current region (2 vCPUs, 8 GiB of memory, ESSD system disk)
  DS-InstanceTypes:
    Type: DATASOURCE::ECS::RecommendInstanceTypes
    Properties:
      Cores: 2
      Memory: 8
      SystemDiskCategory: cloud_essd

  # Creates a VPC
  Vpc:
    Type: ALIYUN::ECS::VPC
    Properties:
      CidrBlock: 192.168.0.0/16

  # Creates a vSwitch; the zone is taken from the data source result
  VSwitch:
    Type: ALIYUN::ECS::VSwitch
    Properties:
      VpcId:
        Ref: Vpc
      CidrBlock: 192.168.0.0/24
      ZoneId:
        Fn::Jq:
          - First
          - .[].ZoneId
          - Fn::GetAtt:
              - DS-InstanceTypes
              - InstanceTypes

  # Creates a security group
  SecurityGroup:
    Type: ALIYUN::ECS::SecurityGroup
    Properties:
      VpcId:
        Ref: Vpc

  # Creates an ECS instance; the instance type is taken from the data source result
  Instance:
    Type: ALIYUN::ECS::Instance
    Properties:
      IoOptimized: optimized
      VpcId:
        Ref: Vpc
      SecurityGroupId:
        Ref: SecurityGroup
      VSwitchId:
        Ref: VSwitch
      ImageId: centos
      InstanceType:
        Fn::Jq:
          - First
          - .[].InstanceType
          - Fn::GetAtt:
              - DS-InstanceTypes
              - InstanceTypes
      SystemDiskCategory: cloud_essd

Outputs:
  VpcId:
    Label:
      en: VPC ID
    Value:
      Fn::GetAtt:
        - Vpc
        - VpcId
  InstanceId:
    Label:
      en: ECS instance ID
    Value:
      Fn::GetAtt:
        - Instance
        - InstanceId

Analyse des éléments syntaxiques clés

  1. La ressource de source de données DATASOURCE

    DS-InstanceTypes:
      Type: DATASOURCE::ECS::RecommendInstanceTypes    # The DATASOURCE:: prefix marks a data source
      Properties:
        Cores: 2                    # number of vCPUs
        Memory: 8                   # memory (GB)
        SystemDiskCategory: cloud_essd  # system disk category

    Une ressource DATASOURCE ne crée aucune ressource cloud réelle. Elle interroge plutôt les ressources existantes ou les configurations recommandées. Le résultat est obtenu via la fonction Fn::GetAtt. Dans cet exemple, l'attribut InstanceTypes renvoyé est un tableau :

    [
      {"InstanceType": "ecs.g7.large", "ZoneId": "cn-hangzhou-h", ...},
      {"InstanceType": "ecs.g6.large", "ZoneId": "cn-hangzhou-i", ...}
    ]
  2. La fonction d'extraction de données Fn::Jq

    ZoneId:
      Fn::Jq:
        - First           # mode: First returns the first result, All returns all results
        - .[].ZoneId      # JQ expression: walks the array and extracts ZoneId from each element
        - Fn::GetAtt:     # data source: the DATASOURCE query result
            - DS-InstanceTypes
            - InstanceTypes

    Fn::Jq utilise la syntaxe JQ pour extraire des données de structures JSON complexes. Le mode First renvoie le premier résultat correspondant sous forme de chaîne.

    Paramètre Fn::Jq

    Signification

    Valeur dans cet exemple

    1er paramètre

    Mode de résultat

    First (renvoie la première valeur correspondante)

    2e paramètre

    Expression de filtre JQ

    .[].ZoneId (extrait ZoneId de chaque élément)

    3e paramètre

    Données d'entrée

    Le tableau InstanceTypes renvoyé par la source DATASOURCE

Étape 2 : Créer un groupe de piles

  1. Connectez-vous à la console Resource Orchestration.

  2. Dans le volet de navigation de gauche, cliquez sur Stack Groups.

  3. Dans la barre de menu supérieure, sélectionnez une région. Cette région gère le groupe de piles ; elle ne limite pas les régions dans lesquelles les piles sont déployées.

  4. Cliquez sur Create Stack Group.

Étape 3 : Configurer le groupe de piles

  1. Sur la page Configure Stack Group, configurez les Permissions.

  2. Si vous sélectionnez Self-managed Permissions, configurez le Admin Role et le Execution Role selon les indications de la page. Si vous optez pour Service-managed Permissions, le groupe de piles crée automatiquement les rôles requis sans configuration supplémentaire. Une fois la configuration terminée, cliquez sur Next.

Étape 4 : Configurer le modèle et les paramètres

  1. Sur la page Select Template, cliquez sur Select an Existing Template, définissez la Template Import Method sur Enter Template Content, collez le modèle YAML de l'étape 1, puis cliquez sur Next.

  2. Sur la page Configure Parameters, saisissez un Stack Group Name et une Stack Group Description, puis cliquez sur Next.

    Remarque

    Ce modèle ne requiert aucun paramètre supplémentaire (le type d'instance et la zone sont déterminés automatiquement par la source DATASOURCE). Cliquez simplement sur Next.

Étape 5 : Définir les options de déploiement

  1. Sur la page Set Deployment Options, les éléments de configuration varient selon le mode d'Permissions sélectionné à l'étape 3 : Configurer le groupe de piles.

    Lorsque vous utilisez les Service-managed Permissions :

    Élément de configuration

    Action

    Deployment Destinations

    Sélectionnez plusieurs comptes membres ou unités organisationnelles depuis le répertoire de ressources.

    Automatic Deployment

    Lorsqu'elle est activée, les piles sont automatiquement déployées sur les nouveaux comptes ajoutés. En cas de suppression d'un compte, le comportement est déterminé par l'option Account Removal Behavior. Lorsqu'elle est désactivée, aucune action automatique n'est entreprise.

    Account Removal Behavior

    S'applique lorsque le déploiement automatique est activé. Vous pouvez spécifier si les piles doivent être supprimées lorsqu'un compte est retiré du dossier.

    Lorsque vous utilisez les Self-managed Permissions :

    Élément de configuration

    Action

    Deployment Locations

    Sélectionnez l'option Deploy Stacks Within Accounts.

    Accounts

    Saisissez plusieurs ID de comptes cibles, séparés par des virgules.

  2. Configurez les régions et les options de déploiement.

    Paramètre

    Description

    Valeur recommandée

    Regions

    Sélectionnez les régions cibles où les instances ECS seront déployées (jusqu'à 20).

    Sélectionnez selon vos besoins métier.

    Maximum Number of Concurrent Accounts

    Nombre de comptes déployés simultanément.

    La valeur par défaut est 1. Augmentez-la pour accélérer le déploiement.

    Fault Tolerance

    Nombre maximal d'échecs tolérés avant l'arrêt du déploiement.

    Définissez cette valeur en fonction de l'échelle du déploiement.

    Region Concurrency

    Indique si les régions sont déployées en parallèle.

    Parallèle (pour accélérer le déploiement).

    Remarque

    Exemple de matrice de déploiement (3 comptes x 4 régions = 12 instances de pile) :

                          China (Hangzhou)  China (Beijing)  China (Shenzhen)  China (Hong Kong)
    Account A (12345...)  Instance 1        Instance 2       Instance 3        Instance 4
    Account B (67890...)  Instance 5        Instance 6       Instance 7        Instance 8
    Account C (11111...)  Instance 9        Instance 10      Instance 11       Instance 12

    Chaque instance comprend : VPC + VSwitch + SecurityGroup + Instance ECS (4 ressources au total)

  3. Cliquez sur Next, vérifiez les informations sur la page Check and Confirm, puis cliquez sur Create Stack Group.**

Étape 6 : Consulter les résultats du déploiement

  1. Dans le volet de navigation de gauche, cliquez sur Stack Groups, puis sur le nom du groupe de piles.

  2. Cliquez sur l'onglet Instance pour afficher les instances de pile de chaque compte et de chaque région.

    Colonne

    Description

    Stack Instance Account

    Le compte cible propriétaire de l'instance de pile.

    Stack Instance Region

    La région dans laquelle réside l'instance de pile.

    Stack ID

    L'identifiant unique de chaque pile.

    Instance Status

    Current : l'instance de pile est à jour, ce qui signifie qu'aucune opération n'est en cours ou n'a échoué sur celle-ci.

    Outdated : l'instance de pile n'est pas à jour, ce qui signifie que sa dernière opération est inachevée ou a échoué. Par exemple, lors de la mise à jour du groupe de piles et des instances de pile, les instances en cours de mise à jour affichent l'état Outdated. Si l'assumption de rôle échoue pendant la création ou la mise à jour d'une instance de pile, la pile n'est ni créée ni mise à jour et l'instance passe à l'état Outdated. Si l'assumption de rôle réussit mais que la création ou la mise à jour de la pile échoue, l'instance affiche également l'état Outdated.

  3. Cliquez sur un Stack ID, puis ouvrez l'onglet Resources pour visualiser chaque ressource créée par l'instance de pile : le VPC, le vSwitch, le groupe de sécurité et l'instance ECS.

  4. Une fois que le statut des ressources de chaque instance de pile indique « créé », les instances ECS sont déployées sur l'ensemble des comptes et régions sélectionnés.

FAQ

Une ressource de source de données engendre-t-elle des frais ?

Non. Une ressource de source de données effectue uniquement une requête. Elle ne crée aucune ressource cloud et n'engendre aucun coût. Elle fonctionne comme une requête API exécutée automatiquement lors de la création de la pile.

Que se passe-t-il si aucune instance ne correspond à la requête dans une région ?

Lorsque la source de données renvoie un résultat vide, les ressources qui en dépendent, à savoir le vSwitch et l'instance ECS, ne peuvent pas être créées. L'instance de pile de cette région passe à l'état d'échec, tandis que le déploiement se poursuit dans les autres régions. Deux solutions s'offrent à vous :

  • Assouplissez les critères de la requête dans la source de données, par exemple en réduisant les valeurs Cores et Memory.

  • Excluez la région non prise en charge des options de déploiement.

La même adresse IP privée (192.168.0.1) entre-t-elle en conflit entre les régions ?

Non. Chaque instance de pile crée son propre VPC et une adresse IP privée n'est valide qu'au sein du VPC qui la contient. Les VPC étant isolés au niveau réseau, le même bloc CIDR et la même adresse peuvent être réutilisés dans chaque compte et chaque région sans provoquer de collision.

Peut-on modifier la configuration ECS du modèle, telle que le nombre de vCPU ou la taille de la mémoire ?

Oui. Modifiez les propriétés Cores et Memory de la source de données. Pour une instance disposant de 4 vCPU et de 16 Go de mémoire :

DS-InstanceTypes:
  Type: DATASOURCE::ECS::RecommendInstanceTypes
  Properties:
    Cores: 4
    Memory: 16
    SystemDiskCategory: cloud_essd

La source de données interroge alors le type d'instance recommandé répondant aux nouvelles exigences dans chaque région, ce qui évite toute spécification manuelle du type d'instance.

Pour en savoir plus sur les problèmes de déploiement des ressources, consultez la page FAQ.

Références