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

Auto Scaling:CreateLifecycleHook

最終更新日:Nov 02, 2026

スケーリンググループのライフサイクルフックを 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 インスタンスを手動でそのクラウドデータベースのホワイトリストに追加する必要があります。

今すぐお試しください

この 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) が発生し、複数のライフサイクルフックがトリガーされた場合、ライフサイクルフックの 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"}。dbInstanceId と modifyMode は 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

任意

ライフサイクルフックの通知の受信者の識別子。このパラメーターを指定しない場合、通知は送信されません。このパラメーターを指定する場合、次の通知方法がサポートされています。

  • 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。RAM ユーザーの ID はサポートされていません。

  • queuename: MNS キューの名前。

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

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

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

エラーコード

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

変更履歴

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