サーバを運用待機構成といった構成で分ける際に、複数の仮想サーバを確実に別々の物理サーバ上に配備することで、
K5内部で物理サーバ故障時の影響範囲を局所化するようにしたい、といった要求事項に対応するパターンです。
K5では、仮想サーバをサーバグループとしてまとめて登録し、そのサーバグループの挙動をポリシーとして指定することで、
複数の仮想サーバをどのように物理サーバ上に配置するかを指定することができます。
具体的には、サーバグループ内の仮想サーバ群がどのように物理サーバ上に起動されるかを、以下のポリシーで指定します。
ポリシー | 仮想サーバの配備 |
---|---|
Affinity | Affinityポリシーのサーバグループに登録された仮想サーバ群は、 可能な限り同一の物理サーバ上で起動されます。 |
Anti-Affinity | Anti-Affinityポリシーのサーバグループに登録された仮想サーバ群は、 確実に別々の物理サーバ上で起動されます。 |
以下では、"Anti-Affinity" ポリシーで別々の物理サーバに仮想サーバを配備する例について記載します。
(1) サーバグループ作成
サーバグループを作成します。
以下のAPIに、設定項目(json)を設定し、実行してください。
サーバグループが作成された際に表示される ID を、変数 ($GROUP_ID) に設定してください。
項目 | 設定値 | 内容 |
---|---|---|
$NAME | "cdp_server_group" | 任意の名称 |
$POLICY | "anti-affinity" | 別々の物理サーバに配備:"anti-affinity" 同一の物理サーバに配備:"affinity" |
$AZ | "jp-east-1b" | アベイラビリティゾーン AZ1:"jp-east-1a" AZ2:"jp-east-1b" |
(2) サーバグループ確認
サーバグループが作成されたか確認します。
(1) 仮想サーバ作成
仮想サーバを、サーバグループの設定を含めた API で作成します。
項目 | 設定値 | 内容 |
---|---|---|
$VM_NAME | "anti-affinity-test01" | 仮想サーバ名 |
$IMAGE_REF_ID | (OSイメージのID) | K5で提供されるOSのイメージID |
$FLAVER_ID | "1101" | CPUとメモリの組み合わせを示すフレーバーのID 1101:S-1 1102:S-2 等々 |
$VOL_SIZE | "30" | システムボリュームサイズ |
$DEVICE_NAME | "/dev/vda" | デバイス名 |
$SOURCE | "image" | ボリューム元:image イメージを利用しているため、imageを指定 (他にvolume、snapshot) |
$DESTINATION | "volume" | 接続先:volumeを指定 |
$ISDELETE | "1" | ボリュームの削除有無:1 インスタンス作成時に作成したボリュームを、インスタンス削除時に削除するかどうかを指定 0:仮想サーバ作成時に作成したボリュームを、仮想サーバ削除時に一緒に削除しない 1:仮想サーバ作成時に作成したボリュームを、仮想サーバ削除時に一緒に削除する |
$INSTANCE_MAX | "1" | 最大配備数 |
$INSTANCE_MIN | "1" | 最小配備数 |
$NETWORK_ID | (ネットワークID) | 配備先ネットワーク |
$SG_NAME1 | "SG_name1" | セキュリティグループ名 |
$SG_NAME2 | "SG_name2" | |
$GROUP_ID | (生成されたID) | サーバグループID |
(2) 仮想サーバ確認
仮想サーバの作成状況を確認してください。
仮想サーバの状態が "ACTIVE" となり、仮想サーバにログインできることを確認してください。
(3) サーバグループ確認
サーバグループに、前項で作成された仮想サーバの ID が追加されたか確認します。
Anti-Affinity パターンを利用した場合のメリット・効果は以下の通りです。
マルチAZ構成の場合も Anti-Affinity 設定は可能ですが、
仮想サーバはAZごとに別の物理サーバに配備されているため、
Anti-Affinityを設定しなくても、物理サーバ故障時に他のAZの仮想サーバで業務継続が可能です。