全7173文字
PR

 第1回ではコーポレートサイトのシステムの可用性をさらに向上させる準備として、EC2インスタンス1台にWebサーバー、アプリケーションサーバー(Web・APサーバー)、DBサーバーを稼働させる構成から、DBサーバーを切り出す作業を行いました。これにより、Web・APサーバーはいわゆる「ステートレス」なサーバーになりました。

 ここでいうステートレスとは、セッション情報やユーザーがアップロードしたコンテンツなどをサーバー外部のデータストアーに逐一永続化することで、任意のサーバーで処理を実行できるようにした状態を表します。

 ステートレスにすることで、コーポレートサイトへのアクセスが増えたとき、水平スケーリング(サーバー台数の増加による処理能力の向上)を行えます。

 Web・APサーバーを複数台の構成にしたら、外部からのリクエストをそれらに振り分ける必要があります。これには一般に、ロードバランサーを使います。

 AWSはロードバランサーのマネージドサービス「Elastic Load Balancing(ELB)」を提供しています。ELBは、アプリケーションへのトラフィックを複数台のEC2インスタンスに振り分けます。システムの負荷が高くなったら、手動あるいは自動で起動させたEC2インスタンスをELBに追加登録することで、システム全体の処理性能を高められます。

 一般的なロードバランサー同様、異常なEC2インスタンスを検出し、正常なEC2インスタンスのみにルーティングします。さらにELBは同一リージョンであれば、アベイラビリティーゾーン(AZ)を横断した振り分けが可能です。これにより、1カ所のAZが全面的に利用できなくなるといったデータセンターレベルの障害が発生した場合でも、システムを停止させない運用が可能です。