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

Auto Scaling:CreateLifecycleHook

最終更新日:Sep 10, 2026

スケーリンググループに 1 つ以上のライフサイクルフックを作成します。

操作説明

操作の説明

  • スケーリンググループには最大 6 つのライフサイクルフックを設定できます。ライフサイクルフックが設定されたスケーリンググループでスケーリングアクティビティが発生すると、ライフサイクルフックはスケーリングアクティビティを一定のエポック間一時停止します。HeartbeatTimeout パラメーターを使用して待機エポックを指定できます。待機エポック中に、ECS インスタンス設定の初期化や ECS インスタンスデータの取得などの操作を実行できます。

  • スケールアウトアクティビティ中、ECS インスタンスは RDS インスタンスのホワイトリストに追加された後に待機状態に入り、待機状態の終了後に SLB インスタンスのバックエンドサーバーグループに追加されます。スケールダウンアクティビティ中、ECS インスタンスは SLB インスタンスのバックエンドサーバーグループから削除された後に待機状態に入り、待機状態の終了後に RDS インスタンスのホワイトリストから削除されます。

  • ライフサイクルフックの通知方法を設定できます。サポートされている通知方法には、MNS トピック、MNS キュー、OOS テンプレートがあります。OOS テンプレートを設定する場合は、OOS サービスの RAM ロールを作成してください。詳細については、OOS の RAM 権限の設定項目を参照してください。

説明

スケーリンググループに既存の ECS インスタンスがあり、設定された OOS テンプレートが RDS 以外のデータベースのホワイトリストにインスタンスを追加または削除するために使用される場合、既存の ECS インスタンスをデータベースのホワイトリストに手動で追加する必要があります。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

下表に、この API を呼び出すために必要な認証情報を示します。認証情報は、RAM (Resource Access Management) ポリシーを使用して定義できます。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定してください。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

ess:CreateLifecycleHook

create

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

なし なし

リクエストパラメーター

パラメーター

必須 / 任意

説明

ScalingGroupId

string

必須

スケーリンググループの ID。

asg-bp1eyv4qn8ssgv43****

LifecycleHookName

string

任意

ライフサイクルフックの名前。名前はスケーリンググループ内で一意である必要があります。名前は 2~64 文字で、英字、数字、アンダースコア (_)、ハイフン (-)、ピリオド (.) を含めることができます。名前は英字、数字、または中国語文字で始まる必要があります。

デフォルト値: LifecycleHookId の値。

lifecyclehook****

LifecycleTransition

string

必須

ライフサイクルフックが適用されるスケーリングアクティビティのタイプ。有効な値:

  • SCALE_OUT: スケーリンググループのスケールアウトアクティビティ。

  • SCALE_IN: スケーリンググループのスケールダウンアクティビティ。

SCALE_OUT

DefaultResult

string

任意

待機状態の終了後に実行する操作。有効な値:

  • CONTINUE: スケールアウトまたはスケールダウンアクティビティへの応答を続行します。

  • ABANDON: スケールアウトアクティビティ中に作成された ECS インスタンスをリリースするか、スケールダウンアクティビティ中にスケーリンググループから ECS インスタンスを削除します。

  • ROLLBACK: スケールダウンアクティビティの場合、システムは ECS インスタンスのリリースを拒否し、ロールバックを実行します。スケールアウトアクティビティの場合、システムは作成された ECS インスタンスをリリースし、ABANDON と同じ効果になります。

スケールダウンアクティビティ (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 フォーマットの文字列に設定する必要があります。

例: {"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}。ここで dbInstanceIdmodifyMode は OOS テンプレートで定義されたパラメーターです。OOS テンプレートの一部のパラメーターにはデフォルト値があります。NotificationMetadata ではデフォルト値のないパラメーターを指定する必要があります。デフォルト値のあるパラメーターを指定した場合、指定した値が元のデフォルト値を上書きします。ただし、スケーリングアクティビティ中に関連情報を取得するために使用される以下のパラメーターについては、デフォルト値を維持してください:

  • regionId: スケーリングアクティビティが実行されるリージョン。デフォルト値: ${regionId}。

  • instanceIds: スケーリングアクティビティに関連付けられたインスタンスのリスト。デフォルト値: ${instanceIds}。

  • lifecycleHookId: ライフサイクルフック ID。デフォルト値: ${lifecycleHookId}。

  • lifecycleActionToken: スケーリングアクティビティの待機状態の識別子。現在の一時停止されたアクティビティを早期に終了するために使用されます。デフォルト値: ${lifecycleActionToken}。

  • scalingGroupId: スケーリングアクティビティが属するスケーリンググループの ID。デフォルト値: ${scalingGroupId}。

  • lifecycleActionResult: ライフサイクルフックの待機状態終了後に実行する操作。OOS テンプレートが失敗した場合に現在の一時停止されたアクティビティを早期に終了するために使用されます。DefaultResult が ROLLBACK に設定されている場合、デフォルト値は ROLLBACK です。それ以外の場合、デフォルト値は ABANDON です。

説明
  • lifecycleActionResult の値を設定して現在のデフォルト値を上書きできます。有効な値: ABANDON、CONTINUE、ROLLBACK、${lifecycleActionResult}。${lifecycleActionResult} は、lifecycleActionResult の値が DefaultResult の値と一致することを示します。

  • 対応するテンプレートのパラメーターの詳細情報は、OOS コンソールで取得できます。

Test lifecycle hook.

NotificationArn

string

任意

ライフサイクルフックの通知の受信者の Alibaba Cloud リソースネーム (ARN)。このパラメーターが設定されていない場合、通知は送信されません。このパラメーターを設定する場合、以下の通知方法がサポートされています:

  • MNS キュー。値のフォーマットは acs:mns:{region-id}:{account-id}:queue/{queuename} です。

  • MNS トピック。値のフォーマットは acs:mns:{region-id}:{account-id}:topic/{topicname} です。

  • OOS テンプレート。値のフォーマットは acs:oos:{region-id}:{account-id}:template/{templatename} です。

  • EventBridge。値のフォーマットは acs:eventbridge:{region-id}:{account-id}:eventbus/default です。

フォーマット内の変数の意味は以下のとおりです:

  • region-id: スケーリンググループのリージョン ID。

  • account-id: Alibaba Cloud アカウント ID。Resource Access Management (RAM) ユーザーのアカウント ID はサポートされていません。

  • queuename: MNS キューの名前。

  • topicname: MNS トピックの名前。

  • templatename: OOS テンプレートの名前。

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****"
}

エラーコード

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。