テンプレート名
ACS-ESS-LifeCycleGetIpAddressAndModifyInstanceName
テンプレートの説明
ライフサイクルフックを使用して、Elastic Compute Service (ECS) インスタンスの IP アドレスを照会し、インスタンス名を変更します。
テンプレートタイプ
自動化
所有者
Alibaba Cloud
入力パラメーター
|
パラメーター |
説明 |
タイプ |
必須 |
デフォルト値 |
制限 |
|
OOSAssumeRole |
CloudOps Orchestration Service (OOS) が引き受ける RAM ロール。 |
String |
はい |
||
|
instanceNameFormat |
ECS インスタンスの命名フォーマット。 |
String |
いいえ |
Prefix{PrivateIpAddress}Suffix |
|
|
regionId |
リージョン ID。 |
String |
いいえ |
${regionId} |
|
|
instanceIds |
ECS インスタンスの ID のリスト。 |
List |
いいえ |
['${instanceIds}'] |
|
|
lifecycleHookId |
ライフサイクルフック ID。 |
String |
いいえ |
${lifecycleHookId} |
|
|
lifecycleActionToken |
インスタンスに関連付けられたスケーリングアクティビティのライフサイクルアクショントークン。 |
String |
いいえ |
${lifecycleActionToken} |
|
|
rateControl |
レート制御の設定。 |
Json |
いいえ |
{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10} |
出力パラメーター
なし
テンプレートの実行に必要なポリシー
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DescribeInstances",
"ecs:ModifyInstanceAttribute"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ess:CompleteLifecycleAction"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
関連情報
ACS-ESS-LifeCycleGetIpAddressAndModifyInstanceName
テンプレートの内容
FormatVersion: OOS-2019-06-01
Description:
en: Use lifecycleHook to get the private network IP and modify the name of the ECS instance
zh-cn: ライフサイクルフックを使用して IP アドレスを取得し、インスタンス名を変更します。
name-en: ACS-ESS-LifeCycleGetIpAddressAndModifyInstanceName
name-zh-cn: ライフサイクルフックを使用して IP アドレスを取得し、インスタンス名を変更します。
categories:
- elastic_manage
Parameters:
instanceNameFormat:
Label:
en: InstanceNameFormat
zh-cn: ECS インスタンスの命名フォーマット
Type: String
Default: Prefix{PrivateIpAddress}Suffix
regionId:
Label:
en: RegionId
zh-cn: リージョン ID
Description:
en: The ID of region
zh-cn: リージョン ID です。Auto Scaling システムのデフォルト値 ${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 リストです。Auto Scaling システムのデフォルト値 ["${instanceIds}"] を使用してください。
Type: List
Default:
- '${instanceIds}'
lifecycleHookId:
Label:
en: LifecycleHookId
zh-cn: ライフサイクルフック ID
Description:
en: The ID of the lifecycle hook
zh-cn: ライフサイクルフックの ID です。Auto Scaling システムのデフォルト値 ${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: インスタンスに関連付けられた特定のスケーリングアクティビティのライフサイクルアクショントークンです。Auto Scaling システムのデフォルト値 ${lifecycleActionToken} を使用してください。
Type: String
Default: '${lifecycleActionToken}'
rateControl:
Label:
en: RateControl
zh-cn: レート制御
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: OOS が引き受ける RAM ロール
Type: String
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: GetIpAddressAndModifyInstanceName
Action: ACS::ECS::GetIpAddressAndModifyInstanceName
OnError: CompleteLifecycleActionForAbandon
OnSuccess: CompleteLifecycleActionForContinue
Description:
en: Get the private network IP and modify the name of the ECS instance
zh-cn: プライベート IP アドレスを取得し、ECS インスタンス名を変更します。
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
instanceNameFormat: '{{ instanceNameFormat }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ instanceIds }}'
- 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