デプロイメントセットは、Elastic Compute Service (ECS) インスタンスを物理サーバー上に配置するための戦略です。高可用性が求められるクラスターサービスでは、高可用性戦略または高可用性グループ戦略を使用して、ECS インスタンスを異なる物理サーバーに分散配置できます。これにより、単一障害点 (SPOF) を回避し、サービスの可用性を向上させることができます。高頻度取引やリアルタイムデータ分析など、ネットワーク遅延に敏感なアプリケーションでは、低遅延戦略を使用して、ECS インスタンスを同一のネットワークトポロジー内に配置できます。これにより、インスタンス間のネットワーク通信遅延を削減できます。このトピックでは、デプロイメントセットのデプロイメント戦略、制限事項、および使用方法について説明します。
デプロイメント戦略
デプロイメント戦略は、ご利用の ECS インスタンスを物理サーバー上にどのように配置するかを決定します。高可用性、ネットワーク遅延、デプロイメント規模に関するビジネス要件に基づいて戦略を選択できます。
戦略 | 説明 |
高可用性 (Availability) | デプロイメントセット内の ECS インスタンスを異なる物理サーバーに分散させます。これにより、単一サーバーの障害によるサービス中断のリスクを効果的に低減します。
|
高可用性グループ (AvailabilityGroup) | 単一ゾーン内でインスタンスを最大 7 つの異なるグループに分散させることで、よりきめ細かい制御を提供します。これにより、より高いレベルの障害分離が実現されます。 異なるグループ内の ECS インスタンスは、単一障害点 (SPOF) を避けるために、指定されたリージョン内の異なる物理サーバーに厳密に分散されます。同じグループ内のインスタンスは、必ずしも別々の物理サーバー上にあるとは保証されず、通信遅延を減らすために同じ物理サーバーに配置される場合があります。 説明 DescribeInstances API 操作を呼び出して、デプロイメントセット内のインスタンスのグループ番号 (
|
低遅延 (LowLatency) | すべての ECS インスタンスを単一ゾーン内の同じネットワークトポロジーにまとめて配置し、ネットワーク遅延を削減します。 重要 これにより、複数のインスタンスが同じ物理サーバーに配置される可能性があり、高可用性は保証されません。
|
制限事項
リージョンで需要が逼迫している期間中は、ECS インスタンスの作成や、節約モードの従量課金 ECS インスタンスの再起動ができない場合があります。ほとんどの場合、少し待ってからインスタンスの作成または再起動を再試行することで解決します。詳細については、「節約モード」をご参照ください。
デプロイメントセット内に専有ホストを作成することはできません。
デプロイメントセットのクォータ:各 Alibaba Cloud アカウントには、デプロイメントセットの数にクォータがあります。具体的なクォータは Quota Center で確認できます。
リージョンとゾーンの制限:インスタンスとデプロイメントセットは、同じリージョンに存在する必要があります。低遅延戦略を使用するデプロイメントセットの場合、すべてのインスタンスは同じゾーンに存在する必要があります。
インスタンスファミリーの制限:第 6 世代以降のほとんどのインスタンスファミリーは、高可用性、高可用性グループ、および低遅延戦略をサポートしています。
デプロイメント戦略ごとに、サポートされるインスタンスファミリーが異なります:
サポートされるインスタンスファミリーの確定的なリストについては、DescribeDeploymentSetSupportedInstanceTypeFamily API 操作によって返される結果をご参照ください。
デプロイメント戦略
サポートされるインスタンスファミリー
高可用性および高可用性グループ
g9a, g9ae, g9i, g8a, g8i, g8ine, g8ise, g8y, g7, g7a, g7h, g7ne, g7nex, g7se, g7t, g6, g6a, g6e, g6h, g5, g5ne
c9a, c9ae, c9i, c8a, c8i, c8ine, c8y, c7, c7a, c7nex, c7se, c7t, c6, c6a, c6e, c5
r9a, r9ae, r9i, r8a, r8i, r8y, r7, r7a, r7se, r7t, r6, r6a, r6e, r5
hfc9i, hfg9i, hfr9i, hfc8i, hfg8i, hfr8i, hfc7, hfg7, hfr7, hfc6, hfg6, hfr6, hfc5, hfg5
ebmc9i, ebmg9a, ebmg9i, ebmr9i, ebmc8a, ebmc8i, ebmc8y, ebmg8a, ebmg8i, ebmg8y, ebmr8a, ebmr8y, ebmc7, ebmc7a, ebmg7, ebmg7a, ebmg7se, ebmhfc7, ebmhfg7, ebmhfr7, ebmr7, ebmr7a, ebmg5
i5, i5g, i5ge, ic5, i4, i4g, i4r, i3, i3g, i2, i2g, i2gne, i2ne
gn6i
d3c, d3s, d2c, d2s, d1ne
re6, re6p, s6, t6, e4, mn4, n4, re4, xn4, sn2ne, u2a, u2i, se1, se1ne, sn1ne, u1, e
低遅延
g9a, g9ae, g9i, g8a, g8ae, g8i, g8ise, g8y, g7, g5ne
c9a, c9ae, c9i, c8a, c8ae, c8i, c8ine, c8y, c7, c7nex
r9a, r9ae, r9i, r8a, r8ae, r8i, r8y, r7
hfc9i, hfg9i, hfr9i, hfc8i, hfg8i, hfr8i
ebmc9i, ebmg9a, ebmg9i, ebmr9i, ebmc8a, ebmc8i, ebmc8y, ebmg8a, ebmg8i, ebmg8y, ebmgn8v, ebmr8a, ebmr8y, ebmc7, ebmc7a, ebmg7, ebmg7a, ebmg7se, ebmgn7ex, ebmhfc7, ebmhfg7, ebmhfr7, ebmr7, ebmr7a
i5, i5g, i5ge, i4
gn8v
hpc8ae, hpc8i, hpc7ip, hpc6id, u2a, u2i
デプロイメントセットをマージすることはできません。
課金
デプロイメントセットの利用は無料です。ただし、ECS インスタンス、ディスク、スナップショット、イメージ、パブリック帯域幅など、作成および使用するリソースに対しては課金されます。詳細については、「課金の概要」をご参照ください。
クイックスタート
ステップ 1:デプロイメントセットの作成
コンソール
-
ECS コンソール - デプロイメントセット に移動します。
-
上部のナビゲーションバーで、管理したいリソースのリージョンとリソースグループを選択します。
デプロイメントセット ページで、デプロイメントセットの作成 をクリックします。
デプロイメントセットの作成 ダイアログボックスで、[デプロイメントセット名] と [説明] を入力し、[戦略] を選択します。デプロイメント戦略の選択方法
API
CreateDeploymentSet API 操作を呼び出して、指定したリージョンにデプロイメントセットを作成し、デプロイメント戦略を指定します。
高可用性グループ 戦略を使用する場合、GroupCount パラメーターを指定してグループ数を設定できます。
ステップ 2:デプロイメントセットでの ECS インスタンスの作成または追加
コンソール
インスタンスタイプ、リージョン、および ECS インスタンスの数は、制限事項を満たす必要があります。詳細については、「制限事項」をご参照ください。
デプロイメントセットに新しいインスタンスを作成する:
デプロイメントセットのリストページで、対象のデプロイメントセットを見つけ、[操作] 列で [インスタンスの作成] をクリックします。[カスタム起動] ページにリダイレクトされ、インスタンスの構成を完了します。

既存のインスタンスをデプロイメントセットに追加する:詳細な手順については、「インスタンスのデプロイメントセットの変更」をご参照ください。
API
デプロイメントセットに新しいインスタンスを作成する:RunInstances API 操作を呼び出し、
DeploymentSetId(デプロイメントセット ID) パラメーターを指定します。高可用性グループ戦略を使用する場合は、グループ数を指定します。
既存のインスタンスをデプロイメントセットに追加する:ModifyInstanceDeployment API 操作を呼び出し、
InstanceId(インスタンス ID) とDeploymentSetId(デプロイメントセット ID) パラメーターを指定します。説明指定したデプロイメントセットが
AvailabilityGroup(高可用性グループ) 戦略を使用している場合、DeploymentSetGroupNoパラメーターを指定して、インスタンスをデプロイメントセット内のグループに割り当てることができます。
その他の操作
インスタンスのデプロイメントセットの変更
ECS インスタンスのデプロイメントセットを変更できます。これにより、インスタンスをデプロイメントセット間で移動したり、未割り当てのインスタンスをデプロイメントセットに追加したりできます。
操作手順
コンソール
-
ECS コンソール - インスタンス に移動します。
-
上部のナビゲーションバーで、管理したいリソースのリージョンとリソースグループを選択します。
対象インスタンスの ID をクリックしてインスタンス詳細ページに移動します。[すべての操作] をクリックして操作パネルを展開します。次に、 を検索してクリックします。
[デプロイメントセットの変更] ダイアログボックスで、移動先のデプロイメントセットを選択し、[強制変更] パラメーターを設定します。
選択済み:インスタンスの物理サーバーの変更を許可します。この操作によりインスタンスが再起動し、サービスが中断される可能性があります。注意して使用してください。
クリア:インスタンスの物理サーバーを変更せず、指定されたデプロイメントセットにインスタンスを追加しようとします。これによりインスタンスの再起動リスクは回避されますが、現在のインスタンスが新しいデプロイメントセットの要件を満たさない場合、変更は失敗します。
API
ModifyInstanceDeployment API 操作を呼び出し、以下のパラメーターを指定してインスタンスのデプロイメントセットを変更します:
RegionId:インスタンスが属するリージョンの ID。例:
cn-hangzhou(中国 (杭州))。InstanceId:インスタンスの ID。例:
i-bp67acfmxazb4ph***。DeploymentSetId:移動先のデプロイメントセットの ID。例:
ds-bp67acfmxazb4ph****。Force:デプロイメントセットを変更する際に、インスタンスを別の物理サーバーに強制的に移動するかどうかを指定します。有効な値:
true:インスタンスを別の物理サーバーに移動することを許可します。この操作によりインスタンスが再起動し、サービスの継続性に影響を与える可能性があります。注意して実行してください。
false (デフォルト):インスタンスを別の物理サーバーに移動しません。代わりに、このオプションはインスタンスを指定されたデプロイメントセットに追加しようとします。これによりインスタンスの再起動リスクは回避されます。ただし、インスタンスが配置されている物理サーバーが新しいデプロイメントセットの要件を満たさない場合、変更は失敗します。
デプロイメントセットからのインスタンスの削除
デプロイメントセットを削除する前に、まずすべてのインスタンスをそこから削除する必要があります。インスタンスは削除後も元の状態を保持します。
以下の手順に従ってください:
インスタンスをデプロイメントセットから削除するには、ModifyInstanceDeployment API 操作を呼び出し、以下のパラメーターを指定します:
RegionId:インスタンスが属するリージョンの ID。例:
ap-southeast-5(インドネシア (ジャカルタ))。InstanceId:インスタンスの ID。例:
i-bp67acfmxazb4ph***。DeploymentSetId:デプロイメントセットの ID。例:
ds-bp67acfmxazb4ph****。RemoveFromDeploymentSet:インスタンスをデプロイメントセットから削除するかどうかを指定します。値を
trueに設定します。
インスタンスが正常に削除されたことを確認する:API 呼び出しが成功し、状態コード 200 が返された場合、削除は成功です。
デプロイメントセットの変更または削除
ECS コンソール - デプロイメントセット ページに移動し、対象のデプロイメントセットを見つけ、[操作] 列で [情報の変更] または [削除] をクリックします。画面の指示に従って操作を完了します。
デプロイメントセットの変更:デプロイメントセットの名前と説明を変更します。
デプロイメントセットの削除:不要になったデプロイメントセットを削除してリソースをクリーンアップします。
重要デプロイメントセットを削除する前に、空にする必要があります。そのためには、セットからすべてのインスタンスを削除します。詳細については、「インスタンスのデプロイメントセットの変更」または「デプロイメントセットからのインスタンスの削除」をご参照ください。