Akamai Cloud Computing の Placement Groups とは何か

# Placement Groupsとは

[Akamai Cloud Computing](https://www.linode.com/) の Placement Groupsは、同一リージョン内のインスタンスの配置を制御できる新機能になります。
1つのリージョン内で複数の同一ロールのインスタンスを起動する際に、同一の物理マシン(ホスト)にデプロイされる場合があります。
しかし、データベースなどの可用性を維持しなければならないロールでは、同一のホストではなく、別のホストに配置することで、ホストが単一障害点となる構成を回避できます。
また、数ミリ秒の遅延も許されないサービスでは、通信する複数のインスタンスを同一のホストに配置したいという要件もあります。
このような問題を解決することができる機能が、Placement Groupsになります。
この機能は、[Core Compute Regions](https://techdocs.akamai.com/cloud-computing/docs/how-to-choose-a-data-center#product-availability)で提供されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/93ff754a-d394-a0cd-ebeb-2ffdbccfcf7f.png)

**[Work with placement groups
](https://techdocs.akamai.com/cloud-computing/docs/work-with-placement-groups)**


## Placement group type（配置タイプ）

Placement Groupsは、2つのグループタイプを選択することができます。
このグループタイプはPlacement Group作成時のみ選択することができます。
また、グループには5つのインスタンスを紐づけることができます。

**Affinity**
Affinityに割り当てられたインスタンスは、同一のホスト、もしくは物理的に近くに配置されます。
（※執筆時時点では未提供のグループタイプ）

**Anti-affinity**
Anti-affinityに割り当てられたインスタンスは、別々のホストに配置されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/0ed6ffed-1ed3-16a1-cc61-e8a9a3e0924e.png)


## Placement group policy（グループポリシー）

配置されたインスタンスが、選択した配置タイプのコンプライアンスに準拠している状態であるのかステータスを監視するようになります。
コンプライアンスに準拠していない際の挙動をPlacement group policyで設定する必要があります。インスタンス作成時の挙動は以下のようになります。


**Strict (推奨)**
コンプライアンスに違反する場合、インスタンスの作成を行うことはできません。


**Flexible**
コンプライアンスに違反する場合でも、インスタンスの作成を行うことができます。

## コンプライアンスが非準拠になった場合の動作
Flexibleに設定したインスタンスがコンプライアンス非準拠になった際には、警告の連絡があります。
非準拠の対応はAkamaiのエンジニアのみが修正することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/d61d249e-dd43-5a2f-4d54-7ebc041dd8c3.png)


コンプライアンス非準拠から準拠に修正する際には、[Live Migrations](https://www.linode.com/blog/linode/live-migrations-at-linode/)等の機能を利用してマイグレーションが行われますが、2~10秒のダウンタイムが発生する可能性があります。
尚、この移行のタイミングを調整することは執筆時時点ではできません。

そのため、インスタンス作成時にStrictを指定しておき、コンプライアンス違反の場合にはインスタンスが作成されないことが推奨となります。


## Placement Groupsの作成

Placement Groupを作成するためには、メニューからPlacement Groupsを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/9b676453-0470-6673-f613-51acb43ecf45.png)

作成したいリージョンを選択し、期待する動作オプションを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/15fe836c-6afd-7f96-efe0-313f0394212d.png)

インスタンス作成時の画面で作成したPlacement Groupを選択することで、起動時にコンプライアンスに準拠するか判定されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/94618a18-9db6-922a-0645-1d8a9116b1f6.png)


また、インスタンス作成後でもPlacement Groupのメニューから追加することもできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/1369617d-d5ed-ea5a-ca92-b27fc320e750.png)


設定したインスタンスをPlacement Groupをから除外したい場合には、配置グループから削除するしていただくことが可能です。
その際にはインスタンスへの通信影響は発生せず、コンプライアンスがの適用がされなくなります。

# まとめ

Akamai Cloud ComputingのPlacement Groupを利用することで、高可用性が求められるユースケースに対して同一ホストによる単一障害点の発生を回避することができるようになりました。
既存の環境でも適用が可能のため、ぜひ運用しているユースケースに対して機能の利用を検討していただければと思います。

Akamai はCDN、セキュリティ、クラウドサービスを通じ、オンラインライフの力となり守っています。本稿でご紹介したような課題やご相談があれば、お気軽にお問い合わせください
- [Akamai 営業担当者へのお問い合わせ](https://www.akamai.com/ja/why-akamai/contact-us/contact-sales)

# 関連記事

アカマイ・テクノロジーズ合同会社はQiitaでAkamai Cloud Computing Services関連など開発者向けの記事を掲載しております。

https://qiita.com/xenbase/items/52e2956a64cedc772bd9