2021/05/24

AWS EC2で低レイテンシーを実現するプレイスメントグループの特徴とルールとは?

 
  

AWS EC2のプレイスメントグループとは?


EC2においてネットワークの低レイテンシー化を実現するために、インスタンスをグループして管理するものです。

管理方法は3種類の中から用途に合わせたものを選択できますが、一部のインスタンスをプレイスメントグループに加えられないといったようないくつかの制約があります。

AWSのサービスを低レイテンシーで、なおかつ冗長性を損なうことなく実現するためには、プレイスメントグループのもつ特徴とルールを理解することが重要です。

プレイスメントグループはEC2の基本的な機能であることから、導入にはサービスの追加を改めて検討することなく、素早くAWSによるサービスの低レイテンシー化を実現できます。

プレイスメントグループの長所

EC2のインスタンスをまとめて管理することにより低レイテンシーのネットワークを実現可能であり、更に3種類のグループから適切なプレイスメントグループの設定を選べます。

プレイスメントグループは拡張ネットワーク機能と同時に採用できることから、AWSを使ったサービス展開の更なるネットワークの低レイテンシー化が実現可能です。

またプレイスメントグループはECの基本的な機能であることから、AWSにおいて手軽にデプロイできます。

プレイスメントグループの制約

プレイスメントグループにまとめることで、AWSの優れたメリットである冗長性が低下します。影響の度合いはプレイスメントグループの種類によって異なります。

複数のAZにまたがるグループが必要な場合は、プレイスメントグループの種類でクラスター以外のものを選ぶことにより実現が可能です。

また、すべてのEC2インスタンスがプレイスメントグループに対応しているのではなく、プレイスメントグループに加えられない種類のものがある仕様に注意が必要です。

1つのプレイスメントグループは7つのインスタンスが上限で、それを超えるインスタンスをグループ化したい場合は別のプレイスメントグループを作ることによりプレイスメントグループへ加えて低レイテンシー化を実現できます。

AWS EC2におけるプレイスメントグループの種類


プレイスメントグループの種類は3つ、名称はクラスター、スプレッド、パーティションです。

クラスターはグループ内のインスタンス間でトラフィックの処理が多い時に優れたパフォーマンスを発揮します。

スプレッドはインスタンスをすべて異なるラックに分散することから、同期障害のリスク低減と低レイテンシーの実現に有効です。

パーティションはいくつかの論理的な領域にインスタンスを分散させることで、特定のパーティションにおける物理的な障害からほかのパーティションを物理的に守れます。

インスタンスに必要なネットワークにふさわしいプレイスメントグループに設定することで、AWSによるサービスの低レイテンシー化と冗長性の優れた両立が可能です。

クラスタープレイスメントグループ

グループ内のインスタンス間でトラフィックを処理する場合において、クラスターは有効な選択肢です。プレイスメントグループに設定されることでネットワークが強化されて、更なる低レイテンシーと高スループットの実現ができます。

グループに属するインスタンスの起動による容量不足のエラーに注意が必要です。

プレイスメントグループに属する全てのインスタンスを終了したのち、再起動することでインスタンスを実行するだけの容量があるハードウェアを割り当てられる可能性があります。

スプレッドプレイスメントグループ

インスタンスをすべて異なるラックに分散させることで同期障害のリスク軽減と低レイテンシーを実現するプレイスメントグループです。

ラックは個別の電源とネットワークを利用していることから、障害への備えと低レイテンシーを実現できます。

スプレッドのプレイスメントグループにおいてインスタンスを起動できる数はAZごとに7つで、リージョンに属するAZが4つの場合は28が限度です。

パーティションプレイスメントグループ

EC2が論理的に設定したパーティションでインスタンスを起動することにより、ハードウェア障害の対策をしたグループでの低レイテンシー化を実現します。

各パーティションは個別の電源とネットワークを利用しているラックに割り当てられているため、パーティション内での物理的な障害が他パーティションには物理的に影響しないグループです。

AWS EC2でのプレイスメントグループの導入とルール


ECへのプレイスメントグループ導入はコンソールから容易に実現しますが、ルールを順守した設定でなければインスタンスを起動できない仕様になっています。

プレイスメントグループの作成、グループの管理、削除はすべてコンソールから可能です。

ルールはプレイスメントグループを使用するために守らなければならないもので、プレイスメントグループをマージできないという管理的なものから、プレイスメントグループに使うことのできない種類のインスタンスを含めていると起動できないという運用上の問題となる制約もあります。

またそれぞれのプレイスメントグループに関わる注意点もあり、AWSによるサービス提供においてネットワークの低レイテンシー化を実現するためには、それぞれのグループの持つ特性を理解することが重要です。

プレイスメントグループの導入

プレイスメントグループはECのコンソールパネルから実装します。プレイスメントグループの作成、既存のグループに対するタグ管理、インスタンスの起動はすべてコンソールから実行可能です。

インスタンスが起動できない場合は、プレイスメントグループのルールが守られていない可能性があります。

プレイスメントグループのルールが守られている場合だけ、インスタンスの起動が可能です。

インスタンスがどのプレイスメントグループに属するかは、コンソールから設定変更が可能になります。

プレイスメントグループの削除もコンソールから行えますが、先にインスタンスを終了する必要がある点に注意です。

プレイスメントグループのルール

ルールの中でも1つのインスタンスは別々のプレイスメントグループに設定できないというものが重要です。また、グループをマージすることはできないので、個別に設定を変更する必要があります。

クラスターでのプレイスメントグループにおいてインスタンス間のネットワークはスループットの遅い方に合わせた処理をするので、高スループットであるためには工夫が必要です。

ハードウェア占有インスタンスはスプレッドのプレイスメントグループで起動しないルールになっています。

パーティションのプレイスメントグループではインスタンスを均等にパーティションへ配分しますが、必ずしも最適な振り分けになるとは限らない仕様であることには注意が必要です。

AWS EC2でプレイスメントグループをうまく活用しよう!


インスタンスを適切なプレイスメントグループとして設定することで、冗長性を持ちながら低レイテンシーのネットワークをAWSにおいて構築できます。

プレイスメントグループの設定はECのコンソールを使ってわかりやすく設定できるものであり、AWSの優れたパフォーマンスを出す環境から更なる低レイテンシー化の実現が可能です。

また、プレイスメントグループの設定はECの基本的な機能であることから、導入にあたって新たなサービスを改めて契約するような検討の必要もなく手軽に実装ができます。

グループ内のインスタンス間ネットワークに強いクラスターから、全てのインスタンスを異なるラックに分散するスプレッドまで、プレイスメントグループは異なるアクセス環境に対応できる機能です。

プレイスメントグループをうまく活用することで、AWSを用いたサービスをより優れた冗長性と低レイテンシーを兼ね備えたネットワークでサービスを提供できます。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】