24
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

はじめてAWSでデプロイする方法⑧(環境変数の設定)

Last updated at Posted at 2020-02-17

前回までの流れ

EC2インスタンスを作成
Elastic IP でEC2インスタンスのパブリックIPを固定
セキュリティグループを編集して、HTTPでWEBサイトの入り口を作る。
EC2にRails等をインストールして、環境設定をする
いよいよAppをEC2にダウンロード(クローン)
gemをインストール

今回の内容

環境変数を設定する。

環境変数とは何か?

環境変数は簡単に説明すると、PWを公開しないための変数と思ってください。

Githubは開発するに際に非常に便利です
コードのバックアップのような役割も担うし、他の開発チームとコードを共有することができる。

しかし、PWは公開したくないはずです。
このPW(パスワード)などの公開したくない情報を環境変数というもので隠してしまいます。

変数はX=3のように 文字(X)の意味(3)を定義します。
環境変数の場合、環境変数 = 'PW' のように、パスワードを変数の値とします。
こうすることで、コードに記述されている環境変数だけでは、パスワードを特定できないので、
悪用されない仕組みとなります。

環境変数で定義したPWは、開発者のみが’鍵(暗号化を解除するための数値)’を持っており、鍵を持っている人間しか、実際の値をみることができません。

secret_key_baseの取得

secret_key_baseは「railsアプリ」でクッキーを暗号化するものになります。
クッキーとは、webを参照した時の履歴のようなものを残し、次回から素早くアクセスできるものになります。
クッキーは外部から参照されるとよくないので暗号化します。

[ec2-user@ip-172-31-23-189 <アプリ名>]$ rake secret

# うまくいくと、
cdfasdfadgfsadfdgc314751a8dadfadf7c8b9a1dc888e...
という感じで表示されます。
これをコピーしておきましょう

環境変数を設定

環境変数を記述する場所を開きましょう

[ec2-user@ip-172-31-23-189 <アプリ名>]$ sudo vim /etc/environment

すると下記のような画面が表示されます。
スクリーンショット 2020-01-14 18.32.12.png

編集をするために「i」を入力
スクリーンショット 2020-01-14 18.35.52.png

すると 『 -- 挿入 -- 』と表示されるので、入力が可能となります。
では、環境変数を定義していきましょう

DATABASE_PASSWORD='MySQLのrootユーザーのパスワード'
SECRET_KEY_BASE='先程コピーしたsecret_key_base'

入力が完了したら、キーボード左上にある『 esc 』を押します。
すると挿入の表示が消えます。
保存するために 『 :wq 』 と入力しましょう

すると見慣れたターミナルの画面に戻ります
スクリーンショット 2020-01-14 18.42.42.png

設定した環境変数を反映させるために、一度本番環境をログアウトしましょう。

[ec2-user@ip-172-31-23-189 ~]$ exit

もう一度EC2にログイン
(ターミナル上で↑を押すと、入力してきたコマンドが出てくるので、それでssh -iを見つけてエンターすれば大丈夫です)

$ ssh -i ファイル名.pem ec2-user@[Elastic IPの値]

環境変数が無事に設定されているか確認

[ec2-user@ip-172-31-23-189 ~]$ env | grep SECRET_KEY_BASE
SECRET_KEY_BASE='secret_key_base'

[ec2-user@ip-172-31-23-189 ~]$ env | grep DATABASE_PASSWORD
DATABASE_PASSWORD='MySQLのrootユーザーのパスワード'

これで以上です。

何かAPIを導入したい際は、APIの秘密鍵を同じようにして環境変数として設定します。

次回はRailsの起動をします

次の記事はこちら
はじめてAWSでデプロイする方法⑨(Railsの起動)

24
20
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
24
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?