スケーリンググループのライフサイクルフックを 1 つ以上作成します。
操作説明
操作の説明
-
スケーリンググループに対して最大 6 個のライフサイクルフックを作成できます。ライフサイクルフックが設定されているスケーリンググループでスケーリングアクティビティが発生すると、ライフサイクルフックによってスケーリングアクティビティが一定期間一時停止されます。待機時間は HeartbeatTimeout パラメーターを使用して指定できます。待機時間中は、ECS インスタンス設定の初期化中や ECS インスタンスデータの取得などの操作を実行できます。
-
スケールアウトアクティビティ中、ECS インスタンスは ApsaraDB RDS インスタンスのホワイトリストに追加された後、待機状態になります。待機状態が終了すると、ECS インスタンスは Server Load Balancer (SLB) インスタンスのバックエンドサーバーグループに追加されます。スケールインアクティビティ中、ECS インスタンスは SLB インスタンスのバックエンドサーバーグループから削除された後、待機状態になります。待機状態が終了すると、ECS インスタンスは ApsaraDB RDS インスタンスのホワイトリストから削除されます。
-
ライフサイクルフックの通知方法を設定できます。サポートされている通知方法には、Message Service (MNS) トピック、MNS キュー、および Operation Orchestration Service (OOS) テンプレートが含まれます。OOS テンプレートを設定する場合は、OOS 用の Resource Access Management (RAM) ロールを作成する必要があります。詳細については、「OOS への RAM 権限の付与」を参照してください。
スケーリンググループに既存の ECS インスタンスが含まれており、設定された OOS テンプレートを使用して ApsaraDB 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) が発生し、複数のライフサイクルフックがトリガーされた場合、ライフサイクルフックの デフォルト値: CONTINUE。 |
CONTINUE |
| HeartbeatTimeout |
integer |
任意 |
ライフサイクルフックによってスケーリングアクティビティに設定される待機時間。待機状態がタイムアウトすると、次の操作が実行されます。有効な値: 30~21600。単位: 秒。 ライフサイクルフックの作成後、 RecordLifecycleActionHeartbeat を呼び出して ECS インスタンスの待機時間を延長するか、 CompleteLifecycleAction を呼び出してスケーリングアクティビティの待機状態を事前に終了できます。 デフォルト値: 600。 |
600 |
| NotificationMetadata |
string |
任意 |
ライフサイクルフックがスケーリングアクティビティを一時停止するときに NotificationArn (通知の受信者) にプッシュされる通知メッセージ。このパラメーターは、さまざまなタイプの通知メッセージを管理およびマークするために使用されます。このパラメーターと一緒に NotificationArn を指定する必要があります。値の長さは最大 4,096 文字です。 NotificationArn がパブリックテンプレートやカスタムテンプレートなどの OOS テンプレートにセットされている場合、NotificationMetadata は OOS テンプレートのパラメーターに一致する JSON 文字列にセットする必要があります。 例: {"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}。dbInstanceId と modifyMode は OOS テンプレートで定義されたパラメーターです。OOS テンプレートの一部のパラメーターにはデフォルト値があります。デフォルト値を持たないパラメーターは NotificationMetadata で指定する必要があります。デフォルト値を持つパラメーターを指定すると、元のデフォルト値が上書きされます。ただし、スケーリングアクティビティの実行中に関連情報を取得するには、次のパラメーターのデフォルト値を保持してください。
説明
|
Test lifecycle hook. |
| NotificationArn |
string |
任意 |
ライフサイクルフックの通知の受信者の識別子。このパラメーターを指定しない場合、通知は送信されません。このパラメーターを指定する場合、次の通知方法がサポートされています。
フォーマット内の変数の意味は次のとおりです。
|
acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo**** |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
|||
| LifecycleHookId |
string |
ライフサイクルフックの ID。 |
ash-bp1at9ufhmcf9cmy**** |
| RequestId |
string |
リクエストの ID。 |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
例
成功レスポンス
JSONJSON
{
"LifecycleHookId": "ash-bp1at9ufhmcf9cmy****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
エラーコード
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。