スケーリンググループに 1 つ以上のライフサイクルフックを作成します。
操作説明
操作の説明
-
スケーリンググループには最大 6 つのライフサイクルフックを設定できます。ライフサイクルフックが設定されたスケーリンググループでスケーリングアクティビティが発生すると、ライフサイクルフックはスケーリングアクティビティを一定のエポック間一時停止します。HeartbeatTimeout パラメーターを使用して待機エポックを指定できます。待機エポック中に、ECS インスタンス設定の初期化や ECS インスタンスデータの取得などの操作を実行できます。
-
スケールアウトアクティビティ中、ECS インスタンスは RDS インスタンスのホワイトリストに追加された後に待機状態に入り、待機状態の終了後に SLB インスタンスのバックエンドサーバーグループに追加されます。スケールダウンアクティビティ中、ECS インスタンスは SLB インスタンスのバックエンドサーバーグループから削除された後に待機状態に入り、待機状態の終了後に RDS インスタンスのホワイトリストから削除されます。
-
ライフサイクルフックの通知方法を設定できます。サポートされている通知方法には、MNS トピック、MNS キュー、OOS テンプレートがあります。OOS テンプレートを設定する場合は、OOS サービスの RAM ロールを作成してください。詳細については、OOS の RAM 権限の設定項目を参照してください。
スケーリンググループに既存の ECS インスタンスがあり、設定された OOS テンプレートが RDS 以外のデータベースのホワイトリストにインスタンスを追加または削除するために使用される場合、既存の ECS インスタンスをデータベースのホワイトリストに手動で追加する必要があります。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
ess:CreateLifecycleHook |
create |
*ScalingGroup
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| ScalingGroupId |
string |
必須 |
スケーリンググループの ID。 |
asg-bp1eyv4qn8ssgv43**** |
| LifecycleHookName |
string |
任意 |
ライフサイクルフックの名前。名前はスケーリンググループ内で一意である必要があります。名前は 2~64 文字で、英字、数字、アンダースコア (_)、ハイフン (-)、ピリオド (.) を含めることができます。名前は英字、数字、または中国語文字で始まる必要があります。 デフォルト値: LifecycleHookId の値。 |
lifecyclehook**** |
| LifecycleTransition |
string |
必須 |
ライフサイクルフックが適用されるスケーリングアクティビティのタイプ。有効な値:
|
SCALE_OUT |
| DefaultResult |
string |
任意 |
待機状態の終了後に実行する操作。有効な値:
スケールダウンアクティビティ (SCALE_IN) がスケーリンググループ内の複数のライフサイクルフックをトリガーした場合、1 つのライフサイクルフックの DefaultResult が ABANDON または ROLLBACK に設定されており、そのフックの待機状態が終了すると、他のライフサイクルフックの待機状態も早期に終了します。それ以外の場合、実行する操作は待機状態が最後に終了するライフサイクルフックによって決定されます。 デフォルト値: CONTINUE。 |
CONTINUE |
| HeartbeatTimeout |
integer |
任意 |
ライフサイクルフックがスケーリンググループアクティビティに設定する待機期間。待機状態がタイムアウトすると、次の操作が実行されます。有効な値: 30~21600。単位: 秒。 ライフサイクルフックの作成後、 RecordLifecycleActionHeartbeat を呼び出して ECS インスタンスの待機期間を延長するか、 CompleteLifecycleAction を呼び出してスケーリングアクティビティの待機状態を早期に終了できます。 デフォルト値: 600。 |
600 |
| NotificationMetadata |
string |
任意 |
ライフサイクルフックがスケーリングアクティビティを一時停止したときに NotificationArn (通知の受信者) にプッシュされる通知情報。このパラメーターは、異なるカテゴリの通知情報を管理およびタグ付けするのに役立ちます。NotificationArn も指定する必要があります。値は最大 4,096 文字です。 NotificationArn がパブリックテンプレートまたはカスタムテンプレートを含む OOS テンプレートに設定されている場合、NotificationMetadata は OOS テンプレートのパラメーターに一致する JSON フォーマットの文字列に設定する必要があります。 例:
説明
|
Test lifecycle hook. |
| NotificationArn |
string |
任意 |
ライフサイクルフックの通知の受信者の Alibaba Cloud リソースネーム (ARN)。このパラメーターが設定されていない場合、通知は送信されません。このパラメーターを設定する場合、以下の通知方法がサポートされています:
フォーマット内の変数の意味は以下のとおりです:
|
acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo**** |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
|||
| RequestId |
string |
リクエスト ID。 |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
| LifecycleHookId |
string |
ライフサイクルフックの ID。 |
ash-bp1at9ufhmcf9cmy**** |
例
成功レスポンス
JSONJSON
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"LifecycleHookId": "ash-bp1at9ufhmcf9cmy****"
}
エラーコード
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。