Tous les produits
Search
Centre de documentation

CloudOps Orchestration Service:ACS-ESS-LifeCycleModifyRedisIPWhitelist

Dernière mise à jour :Aug 11, 2026

Nom du modèle

ACS-ESS-LifeCycleModifyRedisIPWhitelist

Exécuter maintenant

Description du modèle

Met à jour la liste d'autorisation d'adresses IP d'une instance Tair (compatible Redis OSS) lorsqu'Auto Scaling ajoute ou supprime des instances Elastic Compute Service (ECS). Un hook de cycle de vie déclenche cette mise à jour.

Type de modèle

Automatisé

Propriétaire

Alibaba Cloud

Paramètres d'entrée

|
**Paramètre**
|
**Description**
|
**Type**
|
**Obligatoire**
|
**Valeur par défaut**
|
**Limite**
| | --- | --- | --- | --- | --- | --- | |
dbInstanceId
|
ID de l'instance Tair (compatible Redis OSS) dont vous souhaitez mettre à jour la liste d'autorisation d'adresses IP.
|
String
|
Oui
| | | |
modifyMode
|
Méthode de mise à jour. Utilisez `Append` ou `AppendDup` lors d'un scale-out (ajout d'instances), et `Delete` lors d'un scale-in (suppression d'instances). Valeurs valides : `Append`, `Delete`, `AppendDup`.
|
String
|
Oui
| | | |
regionId
|
Région où réside l'instance Tair. La valeur par défaut est l'ID de région transmis par le hook de cycle de vie Auto Scaling.
|
String
|
Non
|
${regionId}
| | |
instanceIds
|
IDs des instances ECS dont les adresses IP sont ajoutées ou supprimées de la liste d'autorisation. La valeur par défaut est la liste d'IDs d'instances transmise par le hook de cycle de vie.
|
List
|
Non
|
['${instanceIds}']
| | |
lifecycleHookId
|
ID du hook de cycle de vie qui a déclenché cette exécution.
|
String
|
Non
|
${lifecycleHookId}
| | |
lifecycleActionToken
|
Jeton identifiant l'activité de mise à l'échelle associée aux instances.
|
String
|
Non
|
${lifecycleActionToken}
| | |
OOSAssumeRole
|
Rôle RAM qu'OOS endosse pour exécuter ce modèle.
|
String
|
Non
|
OOSServiceRole
| |

Paramètres de sortie

|
**Paramètre**
|
**Description**
|
**Type**
| | --- | --- | --- | |
ipAddresses
|
Adresses IP privées des instances ECS spécifiées, y compris les IP privées VPC et les IP internes du réseau classique.
|
List
|

Fonctionnement

Le modèle exécute quatre tâches séquentiellement :

  1. getInstanceIpAddress — Appelle ecs:DescribeInstances pour récupérer les adresses IP privées (VPC et réseau classique) des instances ECS spécifiées. Si cette étape échoue, le modèle déclenche CompleteLifecycleActionForAbandon.

  2. modifySecurityIps — Appelle kvstore:ModifySecurityIps pour mettre à jour la liste d'autorisation de l'instance Tair avec les IP récupérées, en utilisant le modifyMode spécifié. En cas de succès, le modèle déclenche CompleteLifecycleActionForContinue. En cas d'échec, il déclenche CompleteLifecycleActionForAbandon.

  3. CompleteLifecycleActionForContinue — Informe Auto Scaling que l'activité du hook de cycle de vie peut se poursuivre (CONTINUE). S'exécute uniquement si l'étape 2 réussit.

  4. CompleteLifecycleActionForAbandon — Informe Auto Scaling d'abandonner l'activité de mise à l'échelle (ABANDON). S'exécute lorsque l'étape 1 ou l'étape 2 échoue.

Politique requise pour exécuter ce modèle

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstances"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "kvstore:ModifySecurityIps"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ess:CompleteLifecycleAction"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Références

ACS-ESS-LifeCycleModifyRedisIPWhitelist

Contenu du modèle

FormatVersion: OOS-2019-06-01
Description:
  en: Use lifecycleHook to modify the IP whitelist of the redis instance
  zh-cn: 使用生命周期挂钩设置Redis实例的IP白名单
  name-en: ACS-ESS-LifeCycleModifyRedisIPWhitelist
  name-zh-cn: 使用生命周期挂钩设置Redis实例的IP白名单
  categories:
    - elastic_manage
Parameters:
  dbInstanceId:
    Label:
      en: DBInstanceId
      zh-cn: Redis实例ID
    Type: String
  modifyMode:
    Label:
      en: ModifyMode
      zh-cn: 修改IP白名单的方式
    Description:
      en: The method of modifying the IP whitelist, Append and AppendDup are used for
          elastic expansion activities, and Delete is used for elastic contraction activities
      zh-cn: 修改IP白名单的方式,Append和AppendDup用于弹性扩张活动,Delete用于弹性收缩活动
    Type: String
    AllowedValues:
      - Append
      - Delete
      - AppendDup
  regionId:
    Label:
      en: RegionId
      zh-cn: 地域ID
    Description:
      en: The ID of region
      zh-cn: '地域ID,请使用弹性伸缩系统默认值 ${regionId}'
    Type: String
    Default: '${regionId}'
  instanceIds:
    Label:
      en: InstanceIds
      zh-cn: ECS实例ID列表
    Description:
      en: The ID list of the ECS instance
      zh-cn: 'ECS实例ID列表,请使用弹性伸缩系统默认值 ["${instanceId}"]'
    Type: List
    Default:
      - '${instanceIds}'
  lifecycleHookId:
    Label:
      en: LifecycleHookId
      zh-cn: 生命周期挂钩ID
    Description:
      en: The ID of the lifecycle hook
      zh-cn: '生命周期挂钩ID,请使用弹性伸缩系统默认值 ${lifecycleHookId}'
    Type: String
    Default: '${lifecycleHookId}'
  lifecycleActionToken:
    Label:
      en: LifecycleActionToken
      zh-cn: 实例关联的特定伸缩活动的令牌
    Description:
      en: The token that indicates a specific scaling activity associated with an instance
      zh-cn: '实例关联的特定伸缩活动的令牌,请使用弹性伸缩系统默认值 ${lifecycleActionToken}'
    Type: String
    Default: '${lifecycleActionToken}'
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      zh-cn: OOS扮演的RAM角色
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstanceIpAddress
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Gets ECS instance network type and ip address
      zh-cn: 获取ECS实例的网络类型和Ip地址
    OnError: CompleteLifecycleActionForAbandon
    Properties:
      Service: ECS
      API: DescribeInstances
      Parameters:
        RegionId: '{{ regionId }}'
        InstanceIds: '{{ instanceIds }}'
    Outputs:
      Ips:
        Type: List
        ValueSelector: >-
          .Instances.Instance[]|.VpcAttributes.PrivateIpAddress.IpAddress+.InnerIpAddress.IpAddress|.[]
  - Name: modifySecurityIps
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Modifies the whitelist
      zh-cn: 修改白名单
    OnError: CompleteLifecycleActionForAbandon
    OnSuccess: CompleteLifecycleActionForContinue
    Properties:
      Service: R-KVSTORE
      API: ModifySecurityIps
      Parameters:
        RegionId: '{{ regionId }}'
        ModifyMode: '{{ modifyMode }}'
        InstanceId: '{{ dBInstanceId }}'
        SecurityIps:
          'Fn::Join':
            - ','
            - '{{ getInstanceIpAddress.Ips }}'
  - Name: CompleteLifecycleActionForContinue
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Modify lifecycle action for continue
      zh-cn: 修改伸缩活动的等待状态为继续完成
    OnSuccess: 'ACS::END'
    Properties:
      Service: ESS
      API: CompleteLifecycleAction
      Parameters:
        RegionId: '{{ regionId }}'
        LifecycleHookId: '{{ lifecycleHookId }}'
        LifecycleActionToken: '{{ lifecycleActionToken }}'
        LifecycleActionResult: CONTINUE
  - Name: CompleteLifecycleActionForAbandon
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Complete lifecycle action for Abandon
      zh-cn: 修改伸缩活动的等待状态为弃用
    Properties:
      Service: ESS
      API: CompleteLifecycleAction
      Parameters:
        RegionId: '{{ regionId }}'
        LifecycleHookId: '{{ lifecycleHookId }}'
        LifecycleActionToken: '{{ lifecycleActionToken }}'
        LifecycleActionResult: ABANDON
Outputs:
  ipAddresses:
    Type: List
    Value: '{{ getInstanceIpAddress.Ips }}'