最初からの構築
最初の状態から構築はなかったので、今回会社の構築内容をまとめてみました。個人的にGCPの方を経験したかったですが貴重な経験ではあると思います。
前提条件
- AWSアカウントの取得
- Mac環境
構成図
一応、本番で利用するサーバーとして構成しようかと思います。サーバーの障害耐性や冗長化、負荷分散、オートスケーリングなどは入れてない、なるべくコストが掛からない構成です(バンバン入れたいけど)。
図のRDSのSlaveの方は実際入れてないです。RDSの設定でサブネットグルプが必要ですが、そこで複数のアベイラビリティーゾーンが必要なので作るしかないです。実際余裕があればSlaveSlaveとして利用するようです。
DBサーバーはMulti-AZ構成という物理的に離れたデータセンターにホットスタンバイ用のサーバーをもう一つ建てることで、障害対応やバックアップなどの対応が可能
アベイラビリティーゾーンとVPCの構造は実際はVPCの中にアベイラビリティーゾーンが入る形ですかね。
ウェブサーバーのサブネットは「public subnet」はネットからの接続するために「Elastic IP」によってグローバルIPを付与します。
VPC環境の構築
「Start VPC Wizard」を始めると詳細な設定をしなくても良いらしいですが、今回は一つ一つ設定を行いましょう!!
VPCの作成
- 左メニューから「VPC」を選択し、「VPCの作成」という青いボタンをクリック
- 今回作成のネットワーク全体を表す「CIDR」を「192.168.0.0/16]と設定
- 「作成」の青いボタンをクリック
- あとで見分けがつくようにタグに適当な名前をつける
サブネットの作成
EC2 インスタンス(Webサーバー)用と RDS インスタンス(MySQL)用、RDS Multi-AZ 構成用とで計3つ作成します。
- 左メニューから「サブネット」を選択し、「サブネットの作成」という青いボタンをクリック
- VPCは先ほど作成した物を指定
- アベイラビリティーゾーンは「ap-northeast-1a」に設定
- CIDRは「192.168.0.0/24」に設定
- あとで見分けがつくようにタグに適当な名前をつける
Name | VPC | アベイラビリティーゾーン | IPv4 CIDR |
---|---|---|---|
public subnet: web | example-vpc | ap-northeast-1a | 192.168.0.0/24 |
private subnet: DB | example-vpc | ap-northeast-1a | 192.168.1.0/24 |
private subnet: DB(Slave) | example-vpc | ap-northeast-1c | 192.168.2.0/24 |
3つ目のサブネットは、RDS の Multi-AZ 構成で利用するものなので、2つ目のサブネットとは異なるアベイラビリティーゾーンを指定します。本エントリーの構成では RDS を単一 AZ 構成で構築しますので、このサブネットは今回は利用しません。 |
インターネットゲートウェイ
インターネットゲートウェイはVPC内のサーバがインターネットと接続するための出入口です。
- 左メニューから「インターネットゲートウェイ」を選択し、「インターネットゲートウェイの作成」という青いボタンをクリック
- あとで見分けがつくように「名前タグ」に適当な名前をつける
- 「作成」ボタンをクリック
セキュリティグループの作成
セキュリティグループは用途に合わせて複数作成します。今回は2つ作成します。
- ウェブサーバー用のセキュリティグループ
- DB用のセキュリティグループ:ウェブサーバー用のセキュリティグループからの接続(3306)
左メニューから「セキュリティグループ」を選択します。既にセキュリティグループが一個ありますが、それはおいて新しく作成します。
入力したら「作成」ボタンをクリックします(説明は日本語だとダメでした。)。
- 作成されたセキュリティグループに名前を適当に記入
- 下部にある「インバウンドルール」タブを選択し、「編集」ボタンをクリック
- 「インバウンドのルールの編集」画面で適当なルールを入れて「ルールを保存」をクリック
アベイラビリティーゾーン | サブネットID | CIDRブロック |
---|---|---|
ap-northeast-1a | private subnet: DB | 192.168.1.0/24 |
ap-northeast-1c | private subnet: DB(Slave) | 192.168.2.0/24 |
EC2、RDSの構築
以下の設定は省略します。以下のところだけ設定すれば大丈夫だと思います。
- EC2の「ステップ3:インスタンスの詳細設定」で「public subne」を「ステップ6:セキュリティグループの設定」でウェブサーバー用のものを設定
- RDSは先ほど作成したサブネットグループが設定