この記事の概要
稼働率を上げる
稼働率を上げるには障害が発生した時の間隔を長くするか、復旧時間を短縮するために冗長化
します。
システムを増やし、あるシステムで障害が起きても処理を引き継げるようにします。
稼働率を上げるには以下のことをします。
- 単体の稼働率を上げる
- 要素を組み合わせて稼働率を上げる
- 負荷を適切なプロビジョニング(必要に応じてネットワークやコンピュータの設備などのリソースを提供できるよう予測し、準備しておくこと)しておきます。
サーバー構成
基本的には1台のサーバーでWebとDBを運用し、1台のサーバースペックが足りない場合は、DBを別のサーバーで使います。
Web側の性能などが足りないおsyntax機はWebサーバーを複数使い、冗長化と負荷分散ができます。
そしてマスタレーブ方式を使うことでDBの冗長化をし、DBも冗長化できます。
つまりこれはWebの冗長化と負荷分散、DBの冗長化です。
ロードパランサーとELBとは
ロードパランサー
とはサーバーを複数に分けて、負荷を分散する装置です。
ELB
とはAWS上でのロードパランサーのことです。
複数のEC2インスタンスを分けて負荷分散し、複数のアベイラビリティゾーンにある複数のEC2インスタンスの中から
正常なもののみに振り分けていくことをヘルスチェック
と言います。
ELB自体もスケーラブルし、負荷によって自動でスケールイン、スケールアウトします。
そしてアベイラビリティゾーンをまたがる構成*となっています。
ELBを使う時に、1つのリージョンを選び、リージョン内のアベイラビリティゾーンをまたがるように構成できています。
ELBへの接続ポイントへのアクセスはDNSを使用します。
⚫︎補足
スケールアップは個々の性能を上げることで、スケールアウトは個々の要素を増やすことです。
AMI(Amazon Machine Image)からEC2起動
パブリックサブネット作成
まずはVPCを開いてサブネットを開きます。サブネットを作成していきます。
こうして作成されます。
途中で以下のようなエラーが出ました。
CIDR アドレスが既存のサブネット CIDR: 10.0.0.0/20 と重複しています。
下の記事で解決できました。
下のようにできたらルートテーブルの関連付けの編集をします。
下の000はインターネットゲートウェイに接続されています。ルートテーブルIDはpublicの方を選びます。
AMI作成
EC2に移動します。AMIからイメージを作成します。
するとAMIでイメージができているのがわかります。利用可能(available)まで待ちましょう。
利用可能になったら選択をして起動ボタンを推します。
AMIからEC2作成
インスタンスを起動します。
ap-northeast-1cとap-northeast-1aの2つを作成します。
そして2つのインスタンスでSSH接続します。
⚫︎注意
rootでSSH接続すると下みたいになりました。
Downloads % ssh -i "aws-infra-ssh-key.pem" root@ec2-35-76-122-41.ap-northeast-1.compute.amazonaws.com
Please login as the user "ec2-user" rather than the user "root".
これで入れました。
Downloads % ssh -i ~/Downloads/aws-infra-ssh-key.pem ec2-user@ec2-35-76-122-41.ap-northeast-1.compute.amazonaws.com
wordpressに入ります。
wordpress$ ls
index.php #省略
wordpress$ sudo nano index.php
#1番下にこれを書き込みました
echo '<p>sample 1a</p>';
これが終わったらログアウトします。もう一つの1cも同じ方法でやります。
echo '<p>sample 1c</p>';
に変わります。
ELBで負荷分散
ELB作成
EC2のロードバランサーを開きます。そしてロードバランサーを作成します。
アプリケーションロードバランサーを選びます。
セキュリティグループは新しく作ります。
ターゲットグループを作成していきます。
aws-infra-webの1aと1cを選択します。そしてターゲットグループを作成します。
ターゲットグループができたらokです。ロードバランサーができたことを確認してください。
DNS 名をコピーするとwordpressが表示されます。自分の状況だと都合上wordpressは表示ができないです。
独自ドメインからELBアクセス
Route53を開きます。そしてホストゾーンを開きます。
wordpressに入るためのURLから設定していきます。エイリアスをはいにして
エイリアス先はaws-infra-albを選択します。
都合上wordpressは動かせくて申し訳ないのですが、対応お願いします。
ELBの運用のポイント
-
サーバーをアベイラビリティゾーンを跨いで配置
-
Webサーバーをステートレス(状態がない)にする
この2点が大事みたいです。
資料