すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:ACS-ESS-LifeCycleModifyPolarDBIPWhitelist

最終更新日:Jun 23, 2026

テンプレート名

ACS-ESS-LifeCycleModifyPolarDBIPWhitelist

今すぐ実行

テンプレートの説明

ライフサイクルフックを使用して、PolarDB クラスターの IP アドレスホワイトリストを設定します。

テンプレートタイプ

自動

所有者

Alibaba Cloud

入力パラメーター

パラメーター

説明

タイプ

必須

デフォルト値

制限

dbClusterId

PolarDB クラスターの ID です。

String

はい

modifyMode

IP アドレスホワイトリストを変更する方法です。

String

はい

regionId

リージョン ID です。

String

いいえ

${regionId}

instanceIds

Elastic Compute Service (ECS) インスタンスの ID リストです。

List

いいえ

['${instanceIds}']

lifecycleHookId

ライフサイクルフックの ID です。

String

いいえ

${lifecycleHookId}

lifecycleActionToken

インスタンスに関連付けられた特定のスケーリングアクティビティのトークンです。

String

いいえ

${lifecycleActionToken}

OOSAssumeRole

CloudOps Orchestration Service (OOS) が引き受ける Resource Access Management (RAM) ロールです。

String

いいえ

OOSServiceRole

出力パラメーター

パラメーター

説明

タイプ

ipAddresses

ライフサイクルフックに関与する ECS インスタンスの IP アドレスのリストです。

List

テンプレートの実行に必要なポリシー

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstances"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "polardb:DescribeDBClusterAccessWhitelist",
                "polardb:ModifyDBClusterAccessWhitelist"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ess:CompleteLifecycleAction"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

関連ドキュメント

ACS-ESS-LifeCycleModifyPolarDBIPWhitelist

テンプレートの内容

FormatVersion: OOS-2019-06-01
Description:
  ja: ライフサイクルフックを使用して PolarDB クラスターの IP ホワイトリストを変更します。
  name-ja: ACS-ESS-LifeCycleModifyPolarDBIPWhitelist
  categories:
    - elastic_manage
Parameters:
  dbClusterId:
    Label:
      ja: PolarDB クラスター ID
    Type: String
  modifyMode:
    Label:
      ja: 変更モード
    Description:
      ja: IP ホワイトリストを変更する方法です。スケールアウトには Append を、スケールインには Delete を使用します。
    Type: String
    AllowedValues:
      - Append
      - Delete
  regionId:
    Label:
      ja: リージョン ID
    Description:
      ja: リージョン ID です。
    Type: String
    Default: '${regionId}'
  instanceIds:
    Label:
      ja: インスタンス ID
    Description:
      ja: ECS インスタンスの ID リストです。
    Type: List
    Default:
      - '${instanceIds}'
  lifecycleHookId:
    Label:
      ja: ライフサイクルフック ID
    Description:
      ja: ライフサイクルフックの ID です。
    Type: String
    Default: '${lifecycleHookId}'
  lifecycleActionToken:
    Label:
      ja: ライフサイクルアクショントークン
    Description:
      ja: インスタンスに関連付けられた特定のスケーリングアクティビティを示すトークンです。
    Type: String
    Default: '${lifecycleActionToken}'
  OOSAssumeRole:
    Label:
      ja: OOS が引き受ける RAM ロール
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstanceIpAddress
    Action: 'ACS::ExecuteAPI'
    Description:
      ja: ECS インスタンスのネットワークタイプと IP アドレスを取得します。
    OnError: CompleteLifecycleActionForAbandon
    Properties:
      Service: ECS
      API: DescribeInstances
      Parameters:
        RegionId: '{{ regionId }}'
        InstanceIds: '{{ instanceIds }}'
    Outputs:
      ipAddress:
        Type: List
        ValueSelector: '.Instances.Instance[]|.VpcAttributes.PrivateIpAddress.IpAddress+.InnerIpAddress.IpAddress|.[]'
  - Name: modifyPolarDBIPWhitelist
    Action: 'ACS::ESS::ModifyPolarDBIPWhitelist'
    Description:
      ja: IP ホワイトリストを変更します。
    OnError: CompleteLifecycleActionForAbandon
    OnSuccess: CompleteLifecycleActionForContinue
    Properties:
      regionId: '{{ regionId }}'
      dbClusterId: '{{ dbClusterId }}'
      modifyMode: '{{ modifyMode }}'
      securityIp: '{{ ACS::TaskLoopItem }}'
    Loop:
      Items: '{{ getInstanceIpAddress.ipAddress }}'
  - Name: CompleteLifecycleActionForContinue
    Action: 'ACS::ExecuteAPI'
    Description:
      ja: ライフサイクルアクションを完了して続行します。
    OnSuccess: 'ACS::END'
    Properties:
      Service: ESS
      API: CompleteLifecycleAction
      Parameters:
        RegionId: '{{ regionId }}'
        LifecycleHookId: '{{ lifecycleHookId }}'
        LifecycleActionToken: '{{ lifecycleActionToken }}'
        LifecycleActionResult: CONTINUE
  - Name: CompleteLifecycleActionForAbandon
    Action: 'ACS::ExecuteAPI'
    Description:
      ja: ライフサイクルアクションを完了して中断します。
    Properties:
      Service: ESS
      API: CompleteLifecycleAction
      Parameters:
        RegionId: '{{ regionId }}'
        LifecycleHookId: '{{ lifecycleHookId }}'
        LifecycleActionToken: '{{ lifecycleActionToken }}'
        LifecycleActionResult: ABANDON
Outputs:
  ipAddresses:
    Type: List
    Value: '{{ getInstanceIpAddress.ipAddress}}'