未分類

AWS AMIでWebサーバーの冗長化

投稿日:

冗長化の際にはEC2サーバーを複数設定する必要がある。

一度EC2を設定したら、AWS AMIを使用して冗長化する。

AMIとはAmazon Machine Imageである。マシンイメージのことである。

Amazonが提供しているデフォルト設定のマシンイメージ、自作したEC2から作成したマシンイメージを元に、同じ構成のEC2インスタンスを容易に作成できる。

 

AWS ELB(Elastic Load Balancing)がロードバランサーである。

ELBのIPアドレスは動的に変わる仕様となっているため、ELBのCNAME(エイリアス名)を、Amazon Route53を使用して、あなたのWebサイトのドメイン名とELBを紐付けるのである。

また、ELB作成時にEC2インスタンスを選択できるので、AMI等で作成したEC2クローンを複数選択しておく。

そうすると、サイト訪問者のリクエストはまずELBに接続し、ELBにより冗長化されたEC2のうち、負荷が低いマシンに適切に振り分けられる。

ELBに一般訪問者からのリクエストを許可しておき、WebサーバーはELBからのリクエストしか許可しないようにしておく。

ELBのIPアドレスは可変のため、サブネットで指定する。

HTTPセッションを使うWebサイトの場合は、ELBの「スティッキーセッション」を有効にしておく。

そうしないと、同一ユーザーのリクエストが同一のEC2インスタンスに振り分けられないため、セッションが維持できないからである。

 

MySQLなどのDBは、EC2に自分でインストールする方法と、Amazon RDS(Relational Database Service)を使う方法がある。

 

オートスケール

サーバー負荷が高まると、自動で処理能力を高める仕組みをオートスケールという。

WebサーバーのオートスケールはAmazon Cloud Watchを使用する。

Cloud Watchはサーバー負荷を監視する。サーバー負荷が高まるとアラームを投げる。Auto Scalingはアラームを受信すると処理能力を高める。

 

 

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Jenkinsを使うインターネット企業

Paypal 4000人が対象。 ・1日当たり3万2000回のビルド ・1日当たり1000回のデプロイ作業 http://itpro.nikkeibp.co.jp/atcl/column/15/061 …

no image

Pythonコマンド

python -v Pythonのバージョンを表示する  $ python3 -V $ python -V  Vは大文字です。 結果 Python 3.6.2 (v3.6.2:5f …

no image

Amazon Redshift

大量データの検索・分析・集計に向いたDBがAmazon Redshiftである。 DWHやBIの基盤になるよう設計されている。分散処理なので大量データでも自動スケールされ、高速な処理が可能である。 A …

no image

AI研究で必要なテクノロジー・要素

教師データを集めること 大規模分散処理(ビッグデータ) 統計?

no image

インターネットサービスの売却価格

youtube→Google 810億円 開始2年で。