テンプレート名
ACS-ESS-ECILifeCycleModifyPolarDBIPWhitelist
テンプレートの説明
ライフサイクルフックを使用して、PolarDB クラスターの IP ホワイトリストに Elastic Container Instance (ECI) の IP アドレスを追加、または削除します。
テンプレートタイプ
自動
所有者
Alibaba Cloud
入力パラメーター
|
パラメーター |
説明 |
タイプ |
必須 |
デフォルト値 |
制限 |
|
dbClusterId |
PolarDB クラスターの ID。 |
String |
はい |
||
|
modifyMode |
IP ホワイトリストの変更方法。 |
String |
はい |
||
|
regionId |
リージョン ID。 |
String |
いいえ |
${regionId} |
|
|
instanceIds |
ECI インスタンスの ID リスト。 |
List |
いいえ |
['${instanceIds}'] |
|
|
lifecycleHookId |
ライフサイクルフック ID。 |
String |
いいえ |
${lifecycleHookId} |
|
|
lifecycleActionToken |
インスタンスに関連付けられたスケーリングアクティビティのトークン。 |
String |
いいえ |
${lifecycleActionToken} |
|
|
OOSAssumeRole |
OOS が引き受ける Resource Access Management (RAM) ロール。 |
String |
いいえ |
OOSServiceRole |
出力パラメーター
|
パラメーター |
説明 |
タイプ |
|
ipAddresses |
List |
必要なポリシー
{
"Version": "1",
"Statement": [
{
"Action": [
"eci:DescribeContainerGroups"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"polardb:DescribeDBClusterAccessWhitelist",
"polardb:ModifyDBClusterAccessWhitelist"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ess:CompleteLifecycleAction"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
関連ドキュメント
ACS-ESS-ECILifeCycleModifyPolarDBIPWhitelist
テンプレートの内容
FormatVersion: OOS-2019-06-01
Description:
ja: ライフサイクルフックを使用して、PolarDB インスタンスの IP ホワイトリストを変更します。
name-ja: ACS-ESS-ECILifeCycleModifyPolarDBIPWhitelist
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。Elastic Scaling Service (ESS) のシステムデフォルト値 ${regionId} を使用することを推奨します。
Type: String
Default: '${regionId}'
instanceIds:
Label:
ja: インスタンス ID リスト
Description:
ja: ECI インスタンスの ID リスト。ESS のシステムデフォルト値 ['${instanceIds}'] を使用することを推奨します。
Type: List
Default:
- '${instanceIds}'
lifecycleHookId:
Label:
ja: ライフサイクルフック ID
Description:
ja: ライフサイクルフックの ID。ESS のシステムデフォルト値 ${lifecycleHookId} を使用することを推奨します。
Type: String
Default: '${lifecycleHookId}'
lifecycleActionToken:
Label:
ja: ライフサイクルアクショントークン
Description:
ja: インスタンスに関連付けられた特定のスケーリングアクティビティを示すトークン。ESS のシステムデフォルト値 ${lifecycleActionToken} を使用することを推奨します。
Type: String
Default: '${lifecycleActionToken}'
OOSAssumeRole:
Label:
ja: OOSAssumeRole
Type: String
Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstanceIpAddress
Action: 'ACS::ExecuteAPI'
Description:
ja: ECI インスタンスの IP アドレスを取得します。
OnError: CompleteLifecycleActionForAbandon
Properties:
Service: ECI
API: DescribeContainerGroups
Parameters:
RegionId: '{{ regionId }}'
ContainerGroupIds: '{{ instanceIds }}'
Outputs:
ipAddress:
Type: List
ValueSelector: '.ContainerGroups[].IntranetIp'
- 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}}'