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

Auto Scaling:CreateLifecycleHook

最終更新日:May 21, 2026

スケーリンググループに 1 つ以上のライフサイクルフックを作成します。ライフサイクルフックを使用すると、インスタンスのライフサイクルにおける重要な段階 (インスタンスの起動や終了など) で、通知の送信やスクリプト実行の自動化などのカスタムアクションを実行できます。ライフサイクルフック機能を実装することで、インスタンスをより細かく制御および管理できるようになります。たとえば、ライフサイクルフックが有効になっているときに、インスタンスの設定を検証したり、カスタムタスクを設定したり、データをバックアップしたりすることで、アプリケーションデプロイの柔軟性と信頼性を向上させることができます。

今すぐお試しください

この 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

任意

ライフサイクルフックがタイムアウトした後に Auto Scaling が実行するアクション。有効な値は次のとおりです:

  • CONTINUE: Auto Scaling は、スケールインまたはスケールアウトのリクエストへの対応を続行します。

  • ABANDON: Auto Scaling は、スケールアウトアクティビティ中に作成された Elastic Compute Service (ECS) インスタンスをリリースするか、スケールインアクティビティ中にスケーリンググループから ECS インスタンスを除去します。

スケーリンググループ内の複数のライフサイクルフックがスケールインアクティビティ中にトリガーされ、いずれかのライフサイクルフックの DefaultResult パラメータを ABANDON に設定した場合、Auto Scaling は、DefaultResult が ABANDON に設定されているライフサイクルフックがタイムアウトした直後にアクションを実行します。その結果、他のライフサイクルフックは予定より早くタイムアウトします。それ以外の場合、Auto Scaling は、すべてのライフサイクルフックがタイムアウトした後にのみアクションを実行します。

デフォルト値: CONTINUE。

CONTINUE

HeartbeatTimeout

integer

任意

ライフサイクルフックがタイムアウトするまでの期間。ライフサイクルフックがタイムアウトすると、Auto Scaling はデフォルトのアクションを実行します。有効な値: 30 ~ 21600。単位: 秒。

ライフサイクルフックを作成した後、RecordLifecycleActionHeartbeat API を呼び出してライフサイクルフックのタイムアウト期間を延長できます。また、CompleteLifecycleAction API を呼び出して、ライフサイクルフックのタイムアウト期間を予定より早く終了することもできます。

デフォルト値: 600。

600

NotificationMetadata

string

任意

ライフサイクルフックが有効になったときに送信される通知メタデータ。これにより、通知を効率的に管理および分類できます。このパラメータを指定する場合は、NotificationArn パラメータを指定する必要があります。値は 4,096 文字以内である必要があります。

NotificationArn パラメータを使用してパブリックまたはカスタムの OOS テンプレートを指定する場合、NotificationMetadata パラメータの値は、OOS テンプレートパラメータを含む JSON 文字列である必要があります。たとえば、OOS テンプレートに次のパラメータが含まれているとします: {"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}dbInstanceId、および modifyMode。OOS テンプレートで定義されている一部のパラメータにはデフォルト値があります。NotificationMetadata パラメータを指定する場合は、デフォルト値がないパラメータを指定してください。デフォルト値があるパラメータを指定すると、デフォルト値が上書きされます。ただし、進行中のスケーリングアクティビティに関する情報を取得するには、次のパラメータのデフォルト値を保持する必要があります。

  • regionId: 進行中のスケーリングアクティビティのリージョン ID。デフォルト値: ${regionId}。

  • instanceIds: スケーリングアクティビティでスケールイン対象の ECS インスタンスの ID。デフォルト値: ${instanceIds}。

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

  • lifecycleActionToken: ライフサイクルアクションのトークン。このトークンを使用して、ライフサイクルフックのタイムアウト期間を予定より早く終了できます。デフォルト値: ${lifecycleActionToken}

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

説明

テンプレートパラメータ情報は、[OOS コンソール]で取得できます。

Test lifecycle hook.

NotificationArn

string

任意

通知の受信者の Alibaba Cloud Resource Name (ARN)。このパラメータを指定しない場合、ライフサイクルフックが有効になったときに通知は送信されません。このパラメータを指定する場合、値は、次のいずれかの形式で指定する必要があります:

  • Simple Message Queue (SMQ、旧 MNS) を通知の受信者として指定する場合は、acs:mns:{region-id}:{account-id}:queue/{queuename} 形式で値を指定します。

  • SMQ トピックを通知の受信者として指定する場合は、acs:mns:{region-id}:{account-id}:topic/{topicname} 形式で値を指定します。

  • CloudOps Orchestration Service (OOS) テンプレートを通知の受信者として指定する場合は、acs:oos:{region-id}:{account-id}:template/{templatename} 形式で値を指定します。

  • イベントバスを通知の受信者として指定する場合は、acs:eventbridge:{region-id}:{account-id}:eventbus/default 形式で値を指定します。

上記の値形式における各変数の意味は、次のとおりです:

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

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

  • queuename: SMQ キューの名前。

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

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

acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****

レスポンスフィールド

フィールド

説明

object

RequestId

string

リクエストの ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

LifecycleHookId

string

ライフサイクルフックの ID。

ash-bp1at9ufhmcf9cmy****

成功レスポンス

JSONJSON

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
  "LifecycleHookId": "ash-bp1at9ufhmcf9cmy****"
}

エラーコード

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

変更履歴

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