■複数台構成でEC2インスタンスを追加する手順の例
前提
web1サーバのAMIは作成済みで、これをもとにweb2サーバを作るものとする
VPCは作成済みで、サブネットとしてweb1とweb2が作成されているものとする
確認
操作対象のリージョンを確認する
「EC2」→「ロードバランサー」→ 作成済みのロードバランサーを選択 →「インスタンス」
で、各サーバが正常に動作していることを確認する
インスタンスの作成
「EC2」→「インスタンス」→「インスタンスの作成」から作成する
AMI の選択
「マイ AMI」から、あらかじめ作成しておいたAMIを選択する
インスタンスタイプの選択
原則として、すでに存在する他のEC2インスタンスと同じインスタンスタイプにする
インスタンスの詳細の設定
ネットワークを、あらかじめ作成したVPCに設定
サブネットを設定(1台目がweb1に追加されているなら2台目はweb2に追加する。3台以上追加する場合、web1とweb2の交互に追加していく)
誤った削除から保護する(必要なら)
CloudWatch 詳細モニタリングを有効化(必要なら)
ネットワークインターフェイスは自動で追加されているので、変更せずにそのまま
ストレージの追加
必要に応じてサイズを調整する。原則として、すでに存在する他のEC2インスタンスと同じサイズにする
インスタンスのタグ付け
「web2」など
セキュリティグループの設定
既存のセキュリティグループから選択。default, ssh, web など
作成
既存のキーペアを選択した状態で、インスタンスを作成
固定IPアドレスの割り当て(必要なら)
新規にIPアドレスを取得する場合
「EC2」→「Elastic IP」→「新しいアドレスの割り当て」→「関連付ける」→「閉じる」でIPアドレスを取得
既存のIPアドレスを再利用する場合
再利用したいアドレスを選択して「アクション」→「アドレスの関連付けの解除」を選択
一覧から、作成したIPアドレスを選択 →「アクション」→「アドレスの関連付け」を選択
作成したインスタンスを入力(選択)し、「関連付ける」ボタンを押す
※固定IPを無駄遣いしないために、もっとサーバが増えたら固定IPなしで運用する方がいいかも
その場合、SSH直接接続のために固定IPが必要なので、踏み台用のサーバが必要
追加設定(稼働のために最低限必要な設定)
作成したEC2にSSHでログインする。IPアドレス以外はWeb1サーバと同じ情報で認証できる
AMI作成時に初期化されている項目(言語設定など)や、複製元サーバの情報になっている項目(hostnameなど)を調整する
日本語を使えるようにする(Basis.txt 参照)
sudo vi /etc/sysconfig/i18n
hostnameを調整(Basis.txt 参照)
sudo hostname web2.refirio.net
sudo vi /etc/hosts
sudo vi /etc/sysconfig/network
Apacheの設定でサーバ名を調整(Web.txt 参照)
sudo vi /etc/httpd/conf/httpd.conf
Zabbixの設定でサーバ名を調整(Tool.txt 参照)
sudo vi /etc/zabbix/zabbix_agentd.conf
スワップ領域の割り当て
メモリサイズの2倍を、スワップ領域に割り当てる(必要に応じて作業。基本的に他のインスタンスとサイズを合わせる)
yumで自動アップデートさせる場合、一部のアップデートを再開する(必要に応じて作業。/etc/yum.conf で除外設定をしている場合)
sudo vi /etc/yum.conf
yumのアップデートをする(必要に応じて作業)
sudo yum -y update
yumで自動アップデートさせる場合、一部のアップデートを停止する(必要に応じて作業。/etc/yum.conf で除外設定をしていた場合)
sudo vi /etc/yum.conf
設定したEC2を、コンソール画面から一旦再起動する(再起動のテストと設定の反映)
Route53設定(メールを送信するサーバの場合)
web2.refirio.jp でサーバにアクセスできるように、「Hosted zones → refirio.jp」でAレコードを登録する
SPFレコードとTXTレコードを登録する
コンテンツの配置
FTPアップロードだとすべてのサーバで同じ内容を維持するのが難しいため、デプロイでの配置を推奨
動作確認1
ドメイン経由でアクセスした場合の動作を単体で確認(正規のアクセスではないので、SSLの証明書は不正となるので注意。http経由で確認。)
C:/windows/System32/drivers/etc/hosts
(EC2のIPアドレス) refirio.jp
ロードバランサーに追加
「EC2」→「ロードバランサー」→ 作成済みのロードバランサーを選択 →「インスタンス」
→「インスタンスの編集」→ 作成したインスタンスを選択(削除したサーバがあれば監視対象から外す) → 「保存」
動作確認2
ブラウザからロードバランサー経由でアクセス(通常の手順)し、動作確認
Cron(必要なら)
実行の有無やタイミングなどを調整する
(バッチサーバでのみ実行すべきCronや、サーバによって実行タイミングをずらすべきものがあれば)
CloudWatch(必要なら)
削除したサーバがあれば監視対象から外す
追加したサーバを監視対象に加える
「refirio.net web2 CPU Utilization: CPUUtilization >= 80 for 5 minute」など
Zabbix(必要なら)
削除したサーバがあれば監視対象から外す
追加したサーバを監視対象に加える