LaunchInstances API を利用して、指定した特定の AZ に EC2 インスタンスを起動してみた

LaunchInstances API を利用して、指定した特定の AZ に EC2 インスタンスを起動してみた

2026.01.03

はじめに

テクニカルサポートの 片方 です。
今回ご紹介する LaunchInstances API は、Auto Scaling グループ内でのインスタンス起動を同期的に行える新しい API です。

https://aws.amazon.com/jp/about-aws/whats-new/2025/12/ec2-auto-scaling-synchronous-api-launch-instances-auto-scaling-group/

従来の非同期スケーリングと異なり、起動結果(成功/失敗、インスタンス ID、AZ など)を即時に受け取れるのが最大の特徴です。
同期プロビジョニングのメリット (LaunchInstances API) を使うことで、以下が可能になります。

  • 特定の AZ / サブネットを指定して起動
  • キャパシティ可用性の即時フィードバック
  • 起動されたインスタンス ID を即座に取得
  • リアルタイムなスケーリング判断
  • 非同期 Auto Scaling の待ち時間を削減

考慮事項など

マネジメントコンソール画面では実行できないため、今回は AWS CLI コマンドを利用して確認しました。
制限事項と考慮事項などは以下のドキュメント記載の通りですが、特に気を付けるべき点は以下です。

  • AZRebalance を一時的に中断させる
  • 追加で起動する台数分を考慮して最大の希望する容量を設定しておく

https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-instances-synchronously.html

やってみた

1. EC2 Auto Scaling グループを作成します。(最小:1 希望:2 最大:4 で作成しました)
001

2. AZRebalance を一時的に中断させます
こちらを行わない場合、EC2 Auto Scaling は可用性と信頼性を高めるために EC2 インスタンスをゾーン間で均等に分散させようと試みます。

002
003

これで、準備は完了です。
それでは、AWS CLI コマンドを利用して 特定の AZ のみに EC2 インスタンスを起動できるか試します。
今回は、apne1-az4 に EC2 インスタンスを 2 台起動させます。

https://docs.aws.amazon.com/cli/latest/reference/autoscaling/launch-instances.html

AWS CLI コマンド実行例
$ aws autoscaling launch-instances \
>   --auto-scaling-group-name Test-Scaling \
>   --requested-capacity 2 \
>   --availability-zone-ids apne1-az4
{
    "AutoScalingGroupName": "Test-Scaling",
    "ClientToken": "c538d2c3-df4a-4f91-a998-588dc16190fd",
    "Instances": [
        {
            "InstanceType": "m5.large",
            "MarketType": "on-demand",
            "SubnetId": "subnet-0e428bb315d2a9262",
            "AvailabilityZone": "ap-northeast-1a",
            "AvailabilityZoneId": "apne1-az4",
            "InstanceIds": [
                "i-0caf4c9b51725009b",
                "i-0ae667bf8d0d0e67c"
            ]
        }
    ],
    "Errors": []
}
~ $ 

004

成功しました。
なお、追加で起動する容量 (最大) を確保していない場合は以下のようなエラーが出力されます。

~ $ aws autoscaling launch-instances   --auto-scaling-group-name Test-Scaling   --requested-capacity 2   --availability-zone-ids apne1-az4

An error occurred (ValidationError) when calling the LaunchInstances operation: Your requested capacity 2 exceeds the Maximum Size of the Auto Scaling Group by 2

また、AZRebalance の中断を解除すれば、EC2 インスタンスをゾーン間で均等に分散させる挙動が開始されます。
005

まとめ

本ブログが誰かの参考になれば幸いです。

参考資料

クラスメソッドオペレーションズ株式会社について

クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました

この記事をシェアする

FacebookHatena blogX

関連記事