質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

3009閲覧

EC2で自分がdev,stg,prodのどれかを判定するには?

lightwill

総合スコア962

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2018/09/05 05:39

開発、ステージング、本番環境のEC2があって、
フレームワーク(Laravel)に環境ごとの設定ファイル(.env.dev,.env.stg,.env.prod)があります。

環境ごとに環境に合った設定ファイルを使いたい。

デプロイ時に
開発環境だったら.env.devを.envという名前でコピーかシンボリックリンク
といった処理を考えています。

問題として、
EC2上で自分がどの環境かをどうやって判定すればよいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

環境変数 APP_ENV です。
初期の .env.example

APP_ENV=local

という項目がありますよね。
これです。

また、そもそもの話ですが、

環境ごとの設定ファイル(.env.dev,.env.stg,.env.prod)があります。
開発環境だったら.env.devを.envという名前でコピーかシンボリックリンク

この方針で本当にセキュリティ面は大丈夫でしょうか?
.env.gitignore に入っているのはアプリのキーやDB接続情報、AWSシークレットキー等、 git管理すべきでない機密情報が含まれているためです。
これらの情報を .env.dev .env.stg .env.prod に記載して git push するような運用はセキュリティ的によろしくないので、その点は確認して下さい。

投稿2018/09/05 06:05

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lightwill

2018/09/05 06:22

回答ありがとうございます。 APP_ENVはLaravel上の環境変数というか、定数ですよね? 質問としては、「Laravelが」ではなく「EC2が」どの環境かを判定するには?なので、回答になっていない気がしています。 本番用のアカウント情報をgit管理するなよ、というのはごもっともです。 私はSESで今まで何社かで仕事をしてきていますが、 アカウント情報はバージョン管理から除外してエクセル管理しているところもありましたが(主に大手企業)、 多くはgitで管理されていました。 gitでアクセス権がある人が犯人なので、セキュリティ的には「ある程度」大丈夫という認識です。
退会済みユーザー

退会済みユーザー

2018/09/05 06:35

> 質問としては、「Laravelが」ではなく「EC2が」どの環境かを判定するには?なので、回答になっていない気がしています。 環境変数以外の材料から判断する方法は私は思いつきませんでした。 あるいは質問の意図がまだ理解できていないのかもしれません。 CIを使っていればmasterブランチでproductionデプロイ、stagingブランチでstagingデプロイ、みたいな運用になっていると思うのですが、ブランチごとに意図した.envファイルを複製してデプロイするように設定すれば「環境に合わせた.envファイルをデプロイ」は実現できるんじゃないでしょうか。 > 本番用のアカウント情報をgit管理するなよ、というのはごもっともです。 念の為、記載しましたが釈迦に説法のようで失礼しました。 > 多くはgitで管理されていました。 そうなのですね。 私の勤め先は5人くらいの零細会社ですが、環境変数ファイルのgit管理は絶対しないですね。 他の会社の事情は知らないので、参考になります。 > gitでアクセス権がある人が犯人なので、セキュリティ的には「ある程度」大丈夫という認識です。 私としてはそもそも流出の可能性を低減するための対策という認識なので、 犯人が分かるからある程度大丈夫というのは同意しかねますが、現場の方針であれば私が口を出すことではないですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問