LoginSignup
6
0

More than 1 year has passed since last update.

【Rails AWS Docker】既存Ruby on Rails + MySQLアプリをDockerで構築し、AWSにデプロイする(5)

Last updated at Posted at 2021-01-11

ポートフォリをとして作ったRuby on RailsアプリをDockerコンテナ化し本番環境をAWSで構築するまでの道のりです。
ポートフォリオ自体はこちらとなります。
[【ポートフォリオ】転職活動時に作成したポートフォリオの概要(テッ◯キャンプ)]
(https://qiita.com/sho_U/items/058e590325ee6833abb0)

かなり苦しめられたので、どなたかのお役に立てれば。

タイトル
1 ローカル環境のRailsアプリをDockerコンテナ化
2 AWSにVPCを作成する。パブリックサブネットを作成する
3 プライベートサブネットを作成する
4 EC2インスタンスを作成する
5 RDSを作成する
6 DockerコンテナをAWSにアップロードする

#RDSを作成します。

 既存Ruby on Rails + MySQLアプリをDockerで構築し、AWSにデプロイする(1)においてデーターベースコンテナを作成しました。

 実はプライベートサブネット内にEC2インスタンスを配置して、その中にデーターベースコンテナを配置してもいいのですが、AWSにはRDSというサービスがあります。
ざっくりいうと、RDSとはデーターベース用のインスタンスで、自動的に可用性や耐障害性を高めた構成にしてくれます。

 また、異なるアベイラビリティーゾーンにバックアップ用のデーターベースを配置することにより、災害等により一箇所のデーターベースで障害が生じた際にも、問題なく稼働できる様になっています。プライベートサブネットを二つ作った理由はこれです。

今回は、このRDSを用いてデーターベースインスタンスを作成します。

##サブネットグループの作成

まずは、プライベートサブネット2つをまとめた、サブネットグループを作成します。

RDSダッシュボードに入り、サブネットグループを選択し、「DBサブネットグループを作成」をクリックします。

image.png

サブネットに先ほど、作成した二つのプライベートサブネットを追加します。

今、下記のような異なるアベイラビリティーゾーンを持つサブネットグループが作成されました。

IMG_5121AE56F9A4-1.jpeg

##パラメーターグループの設定

RDSでは直接データベースの設定を触れないので、パラメーターグループで設定します。

image.png

パラメーターグループファミリーは、開発環境のバージョンに合わせます。

##オプショングループの設定

RDSダッシュボードに入り、オブショングループを選択し、「グループを作成」をクリックします。

image.png

開発環境に合わせてエンジンとメジャーエンジンバージョンを設定します。

##RDSを作成する。

RDSダッシュボードに入り、データベースを選択し、「データーベースの作成」をクリックします。
下記は設定例です。ご自身の運用に合わせて設定してください。

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

「データーベースの作成」クリック

少し分かりずらいですが、下記の様にRDSがサブネットグループとdb用セキュリティーグループと結びつけることにより、
IMG_5255B692BA7F-1.jpeg

結果として下記の構成となります。

IMG_9352B52CF97B-1.jpeg

これでRDSインスタンスが作成できました。

次回(6)へ続く
DockerコンテナをAWSにアップロードする

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0