未分類

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

非同期I/O

非同期I/Oはプロセスやスレッドを使わずに並行I/O処理を走らせることができる。 少メモリかつ高速である。よく聞くところでは nginx Node.js これらも非同期I/Oであり、性能の高さは広く認 …

no image

引数を与えてPythonスクリプトを実行する

.pyで保存したファイルをPythonスクリプトと言う 言い方は様々だが、.pyで保存したファイルを「Pythonスクリプト」と言う。 引数は{0}で埋め込む  

no image

昇進 政治的、給料 経済的 そんか楽しみしか知らない。 勝つことよりも、強くなること。 真の強者は勝つことだけを求めない。むしろ、負けたときの過程にこそ意味を見出だせるものこそ真の強者である。 考える …

no image

マーケティング

弱者であるベンチャー企業が生き残る唯一の方法は、「小さい市場」を独占するしかない。 小さい市場を100個見つける。その100個から1つ選ぶ。 100個見つけて、事業プラン・収支予測を書いてみる。 小さ …

no image

lombok @Dataの循環参照(無限ループ)はこう回避する

@Dataをつけた@Entityの双方向の関連では、循環参照が起きます。 Set xxxSet @EqualsAndHashCode(exclude=xxxSet) @ToString(exclude …