本記事は、開発環境のCloud9からAWSサービスを連携してデプロイすることをゴールにした連載記事です。
Railsアプリをデプロイしよう!!の全体目次はこちらをご覧ください。
本編では、AWS環境構築を行います。
目次
VPC※1つ
VPCを作成していきます。
下記にて設定します。
名前タグ:VPC_for_DC(任意の名前)
IPv4 CIDR ブロック:10.0.0.0/16
テナンシー:デフォルト
VPC作成完了です。
サブネット※4つ
VPCの中に、「インターネットから直接通信できる EC2用 のサブネット」と「インターネットから直接通信できない RDS用 のサブネット」を2つずつ作成していきます。
左のメニューからサブネットを選択して作成します。
下記のように設定します。
1つめのサブネット
VPC ID:先ほど作成したVPCを指定
サブネットの設定
サブネット名:Subnet_for_DC_public_a(任意の名前)
アベイラビリティーゾーン:ap-northeast-1a
IPv4 CIDR ブロック:10.0.0.0/24
2つめのサブネット
VPC ID:先ほど作成したVPCを指定
サブネットの設定
サブネット名:Subnet_for_DC_public_c(任意の名前)
アベイラビリティーゾーン:ap-northeast-1c
IPv4 CIDR ブロック:10.0.1.0/24
3つめのサブネット
VPC ID:先ほど作成したVPCを指定
サブネットの設定
サブネット名:Subnet_for_DC_private_a(任意の名前)
アベイラビリティーゾーン:ap-northeast-1a
IPv4 CIDR ブロック:10.0.10.0/24
4つめのサブネット
VPC ID:先ほど作成したVPCを指定
サブネットの設定
サブネット名:Subnet_for_DC_private_c(任意の名前)
アベイラビリティーゾーン:ap-northeast-1c
IPv4 CIDR ブロック:10.0.11.0/24
作成完了すると下記の画面に移ります。
インターネットゲートウェイ※1つ
続いて、インターネットゲートウェイを作成します。
左のメニューからインターネットゲートウェイを選択して作成します。
下記のように設定します。
名前タグ:Gateway_for_DC(任意の名前)
インターネットゲートウェイ作成完了です。
続いて、VPCと紐付けます。
先ほど作成したVPCを選択してアタッチした後の画面です。
ルートテーブル※2つ
左側のメニューからルートテーブルを選択して作成します。
下記のように設定します。
名前:Tabel_for_DC(任意)
VPC:先ほど作成したVPCを選択
作成完了後の画面です。
サブネットの関連付けを行います。対象は、Subnet_for_DC_publicの2つです。
そして、このルートテーブルに対して、「インターネットゲートウェイをルーティングするというルール」を追加します。
下記画像の通り、先ほど作成したルートテーブルを選択した状態で、ルートを編集をクリックします。
ルートを追加をクリックします。
下記にて設定します。
送信先:0.0.0.0/0
ターゲット:「インターネットゲートウェイ」を選択して、先ほど作成したものを選択
更新後の画面です。
もう一つルートテーブルを追加します。
名前:Tabel_for_DC_local(任意)
VPC:先ほど作成したVPCを選択
サブネットの関連付けを行います。対象は、Subnet_for_DC_privateの2つです。
セキュリティグループ※2つ
EC2用とRDS用の2つ作成します。
※後ほど、ALB用で追加で1つ作成します。
左メニューからセキュリティグループ選択して作成します。
下記にて設定します。
■EC2用
セキュリティグループ名:Security_ec2_for_DC
説明:Security_ec2_for_DC
VPC:先ほど作成したVPCを選択
そして、インバウンドルールは下記のように設定しました。
1つめ
タイプ:HTTP
プロトコル:自動選択
ポート範囲:自動選択
ソース:0.0.0.0/0
2つめ
タイプ:SSH
プロトコル:自動選択
ポート範囲:自動選択
ソース:自分のグローバルIPアドレス/32
■RDS用
セキュリティグループ名:Security_db_for_DC
説明:Security_db_for_DC
VPC:先ほど作成したVPCを選択
そして、インバウンドルールは下記のように設定しました。
タイプ:MySQL/Aurora
プロトコル:自動選択
ポート範囲:自動選択
ソース:先ほど作成したセキュリティグループ(Security_ec2_for_DC)を指定
セキュリティグループは以上です。
Amazon RDS※1つ
事前準備①(サブネットグループ作成)
既に作成済みのRDS
用のサブネット2つをグループ化します。
左メニューからサブネットグループを選択して、サブネットグループを作成します。
下記にて設定します。
名前:SubnetGroup_db_for_DC
説明:SubnetGroup_db_for_DC
VPC:作成したVPCを指定
サブネットを2つ追加します。
作成完了画面です。
事前準備②(パラメータグループの作成)
RDS の MySQL のデフォルト文字コードは latin1 であり,日本語に未対応です。
左メニューからパラメーターグループを選択して作成します。
下記にて設定しました。
パラメータグループファミリー:mysql5.7
グループ名:mysql57-supported-in-ja
説明:parameter group for mysql5.7 supported in ja
作成後、赤枠をクリックします。
赤枠の検索窓へ下記のキーを入力してそれぞれ値を変更します。
キー | 値 |
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | utf8mb4 |
character_set_results | utf8 |
character_set_server | utf8mb4 |
skip-character-set-client-handshake | 1 |
データベースの作成
左メニューからデータベースを選択して作成します。
下記にて設定します。
データベース作成方法を選択:標準作成
エンジンのオプション:MySQL
バージョン:MySQL 5.7.* (*の箇所は最新のものを推奨)
DB インスタンス識別子:dc-db
マスターユーザー名:root
パスワード:*****
DB インスタンスクラス:db.t2.micro(デフォルト指定されているもの)
※下記図の赤枠箇所参照
これでデータベースが出来上がりました。
エンドポイントの確認
後々使用するため、エンドポイントをメモしておきます。
左メニューのデータベースで作成済みのDBを選択します。
赤枠箇所がエンドポイントです。
ちなみに、データベース作成後、少し時間が経過してから表示されます。
本編は以上です。お疲れ様でした。