回答編集履歴
3
Fix answer
answer
CHANGED
@@ -43,9 +43,9 @@
|
|
43
43
|
|
44
44
|
```console
|
45
45
|
export RAILS_ENV=production
|
46
|
-
export
|
46
|
+
export DB_HOST=(RDS のエンドポイント)
|
47
|
-
export
|
47
|
+
export DB_USERNAME=(ユーザー名)
|
48
|
-
export
|
48
|
+
export DB_PASSWORD=(パスワード)
|
49
49
|
```
|
50
50
|
|
51
51
|
## 原因
|
2
Add expression
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
ちなみに、コマンド実行前に `docker-compose up -d` を実行すると
|
7
7
|
一見うまく動いているように見えますが、
|
8
|
-
`EC2` 内の開発用コンテナに接続しているだけなので
|
8
|
+
`RDS` ではなく `EC2` 内の開発用 `db` サービスのコンテナに接続しているだけなので
|
9
9
|
データのバックアップ作業が煩雑になり、対障害性も低く
|
10
10
|
起動している `RDS` インスタンスの料金も無駄になります
|
11
11
|
|
1
Add Warning
answer
CHANGED
@@ -1,7 +1,14 @@
|
|
1
|
+
[RDSインスタンスへの接続を想定しているようなので](https://qiita.com/at-946/items/1e8acea19cc0b9f31b98)
|
1
2
|
`app` サービスのコンテナに環境変数としてキー `RAILS_ENV` に `production` を与える必要があります
|
2
3
|
|
3
4
|
参考: [第7章 ユーザー登録 - Railsチュートリアル](https://railstutorial.jp/chapters/sign_up?version=5.1#sec-rails_environments)
|
4
5
|
|
6
|
+
ちなみに、コマンド実行前に `docker-compose up -d` を実行すると
|
7
|
+
一見うまく動いているように見えますが、
|
8
|
+
`EC2` 内の開発用コンテナに接続しているだけなので
|
9
|
+
データのバックアップ作業が煩雑になり、対障害性も低く
|
10
|
+
起動している `RDS` インスタンスの料金も無駄になります
|
11
|
+
|
5
12
|
## 環境変数の与えかた
|
6
13
|
|
7
14
|
たとえば、次のような方法があります:
|
@@ -21,6 +28,9 @@
|
|
21
28
|
# ↓ 追加
|
22
29
|
environment:
|
23
30
|
RAILS_ENV: ${RAILS_ENV}
|
31
|
+
DB_HOST: ${DB_HOST}
|
32
|
+
DB_USERNAME: ${DB_USERNAME}
|
33
|
+
DB_PASSWORD: ${DB_PASSWORD}
|
24
34
|
volumes:
|
25
35
|
- .:/myapp
|
26
36
|
- public-data:/myapp/public
|
@@ -29,10 +39,13 @@
|
|
29
39
|
```
|
30
40
|
|
31
41
|
2
|
32
|
-
EC2 インスタンスに
|
42
|
+
`EC2` インスタンスに環境変数を設定します:
|
33
43
|
|
34
44
|
```console
|
35
45
|
export RAILS_ENV=production
|
46
|
+
export RAILS_ENV=(RDS のエンドポイント)
|
47
|
+
export RAILS_ENV=(ユーザー名)
|
48
|
+
export RAILS_ENV=(パスワード)
|
36
49
|
```
|
37
50
|
|
38
51
|
## 原因
|