[クラウド活用パターン辞典〜Amazon Web Servicesを使い倒す!〜]

AWSでシステムの可用性を高める【第1回】

2017年3月13日(月)清野 剛史(クラスメソッドAWS事業部ソリューションアーキテクト)

AWS(Amazon Web Services)はパブリッククラウドサービスの先陣を走り、利用企業にとってAWSを使ってサービスを構築・運用することが大きな武器になる。しかし、その活用には、オンプレミスのシステムとは異なる視点や勘所がある。今回は、企業システムにおいて欠かせない非機能要件の1つである「可用性」を高めるための方法について説明する。

スコープ3:MultiRegionによる地域単位の可用性

 最後はDR(Disaster Recovery:災害復旧)目的や、多言語対応のサイトにおける可用性を確保するための「MultiRegion」対応である(図4)。海外向けサービスだけでなく、一定時間に多数のアクセスが集中すると見込まれるようなサービスや、絶対にサービスが落ちることが許されないミッションクリティカルな要求がある場合にも利用できる。

 

図4:「MultiRegion」対応によって可用性を確保する図4:「MultiRegion」対応によって可用性を確保する
拡大画像表示

 

 ここで活躍するのはAWSのドメイン管理サービス「Route53」が持つ「レイテンシ・ベース・ルーティング」という機能だ。同じドメインに対するリクエストを最もレイテンシが小さいリージョンへルーティングする機能である。この機能に、リソースに対する重み付けを行う「ラウンドロビン」という機能を組み合わせることで、どのようなリクエストであっても適切なサーバーにリクエストを送れる。

 多言語対応をしているサービスにおいて、マッピングだけではどうしてもうまくいかないような場合は、思い切って各言語用のEC2を用意し、Route 53を使って自動で振り分ける方法を試してみてはどうだろうか。この場合は、データベースを同期するためにメインに書き込むデータベースを1つ決定し、残りのリージョンにはクロスリージョンレプリカを配置することでレプリケーションが可能になる。

 以上、AWSにおける可用性を確保する方法を紹介した。可用性を重視したアーキテクチャーの概要は理解していただけたかと思う。しかし実際の現場では、こうした可用性のために、どこまでコストを割いて良いのかという問題も同時に考えなければならない。コストの問題から、ここで紹介した対策が打てない場合は、「最も重要なデータだけは冗長化する」「『m4.xlarge』のインスタンスタイプで組む予定のサーバーを『m3.medium × 2』にし、片方をスポットインスタンスにしてコストを抑える」といった方法を工夫して編み出すのも、システム管理者の腕の見せ所である。

 次回はクラウドでWebシステムを運用する際に必要な負荷対策について紹介する。

筆者プロフィール

清野 剛史(せいの・つよし)
クラスメソッド AWS事業部ソリューションアーキテクト。北海道札幌市にてサーバーサイドプログラマー、フロントエンドエンジニアなどを経て2014年7月よりクラスメソッドに参画。AWS全般のコンサルタントを中心にIoT、AIなどの新規技術のR&D事業にも従事する。好きなAWSのサービスは「Lambda」「AWS IoT」
 

バックナンバー
クラウド活用パターン辞典〜Amazon Web Servicesを使い倒す!〜一覧へ
関連記事

Special

-PR-

AWSでシステムの可用性を高める【第1回】 [ 3/3 ] AWS(Amazon Web Services)はパブリッククラウドサービスの先陣を走り、利用企業にとってAWSを使ってサービスを構築・運用することが大きな武器になる。しかし、その活用には、オンプレミスのシステムとは異なる視点や勘所がある。今回は、企業システムにおいて欠かせない非機能要件の1つである「可用性」を高めるための方法について説明する。

PAGE TOP