LoginSignup
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にアップロードする

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
What you can do with signing up
0