teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

Fix answer

2020/07/24 11:28

投稿

y_shinoda
y_shinoda

スコア3272

answer CHANGED
@@ -43,9 +43,9 @@
43
43
 
44
44
  ```console
45
45
  export RAILS_ENV=production
46
- export RAILS_ENV=(RDS のエンドポイント)
46
+ export DB_HOST=(RDS のエンドポイント)
47
- export RAILS_ENV=(ユーザー名)
47
+ export DB_USERNAME=(ユーザー名)
48
- export RAILS_ENV=(パスワード)
48
+ export DB_PASSWORD=(パスワード)
49
49
  ```
50
50
 
51
51
  ## 原因

2

Add expression

2020/07/24 11:28

投稿

y_shinoda
y_shinoda

スコア3272

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

2020/07/09 10:29

投稿

y_shinoda
y_shinoda

スコア3272

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 インスタンスに `RAILS_ENV` を設定します:
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
  ## 原因