2017-02-02 6 views
2

私はいくつかのRailsアプリケーションをホストするためにjelastic設定を実行しています。環境変数を設定するJelastic方法

Railsでは、store configuration in the environmentに共通です。特に、パスワードやアクセスキーなどの秘密のデータ。

ここでは、これらをRuby/Railsのjelasticセットアップに配置する必要がありますか?

私は現在乗客とnginxを持っています。それがデフォルトだったからです。もしPumaやUnicornがこれをもっと簡単にしたりもっと頑強にするなら、それを聞いてみたいと思います。

私は現在、/etc/nginx/nginx.confnginx envディレクティブを使用して自分の環境変数を宣言しています。しかし、これはnginx.confファイルにsecrectを保存していることを意味します。ヤックあなたはどのjelastic設定にあなたの秘密を管理するにはどうすればよい

## ENV VARS 
env SECRET_KEY_BASE=xxxxxxxxxxxx; 
env BLAZER_USERNAME=uuuuu; 
env BLAZER_PASSWORD=xxxxxxxxxxxx; 
env AWS_ID=aaa; 
env AWS_SECRET_KEY=aaa; 
env BLAZER_DATABASE_URL=postgres://uuu:[email protected]:5432/production; 
  1. Railsのjelasticセットアップであなたの秘密をどうやって管理しますか?
  2. 実行中のアプリケーションでは、環境変数をどこに格納するのですか?

編集:私は秘密を「マシン上の他のユーザー/プロセス」から遠ざけることには興味がありません。私は自分の秘密を私のアプリケーションgit-repoに保存したくない。本当に悪い練習です。そのため、私はRailsアプリケーションに、例えば、私のコードベースのどこかにその秘密鍵を格納するのではなく、ENV['AWS_SECRET_KEY']です。

+0

@berkers、良い質問ありがとうございます。現時点では、Jelasticのエンドユーザー向けの秘密管理の中心点はありません。 Q2のために計画されました。しかし、同時に、各アプリケーションは、Jelasticで実行する前に使用されていた秘密保管方法と同じアプローチを使用できる必要があります。たとえば、独自のキー値のストレージを設定することができます https://www.hashicorp.com/blog/twelve-factor-consul.html このオプションをチェックすると便利な場合があります。https://docs.jelasticドッカーコンテナを使用している場合.com/docker-variables – Ruslan

+0

さらに、データコンテナは、sslのキーと設定をhttps://docs.jelastic.com/data-storage-containerの格納と共有に役立てることができます。 – Ruslan

答えて

0

Jelasticは、個々の仮想マシン(ハードウェア上の他のアカウントの影響を受けない、完全に独立したインスタンス)として各環境のノード(例:Application ServersDatabasesなど)を提供します。完全に隔離され、特定のニーズに対応しているため、十分なプライバシーが確保され、機密データを含むアプリケーションを実行するように設定できます。

私たちの文書にはSetting Custom Environment Variables via SSHというガイドがあり、あなたの場合に役立ちます。

一般に、Jelasticは環境変数の使用のほとんどのケースで安全です。

+0

ありがとうございます。私は 'Setting Custom ...'ドキュメントを読んでいますが、 'rake_deploy'を実行するユーザにそのような環境を適用し、アプリケーションプロセス自体を実行する方法についてはまだ混乱しています。さらに、マシン上の他のユーザーからの安全性に関するものではありませんが、あなたのgitリポジトリに鍵やパスワードなどの秘密を付けることは非常に悪い習慣です*。 – berkes

1

Phusion Passengerは、対話型シェルでは実行されません。 おそらく、あなたは今のところ最良のソリューションを使用しています(nginx config)。

+0

真。これがnginxに追加する理由です。しかし、 'rake_deploy'はいくつかの魔法のプロセスを実行します(jelasticはすべて文書化されていない黒い魔法のプロセスです)。 – berkes

2

最も簡単な方法は、この環境変数を.bash_profile設定ファイルに貼り付けることです。これは自宅に直接配置されており、SSHにアクセスすることができます。

関連する問題