Web App for Containers + PostgreSQLでコンテナ対応したRailsアプリを作ってみた

概要

Microsoftが提供しているパブリッククラウドサービス「Azure」の「Web App for Containers」を使ってRailsアプリを動かしてみました。Railsアプリと言っても、scaffoldで自動生成させたもので非常に単純なものです。Azureが提供しているPostgreSQLも合わせて使ってみたいと思い、ちょっとやってみました。

元ネタ

元ネタは「Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう! 」というSlideShare上にあったスライド。これをもとにRDBMSPostgreSQLに変更しただけです。

ハマったところ

  • Web App for ContainersがPortalにない
    • Web App on Linuxであった。
    • 言語設定が日本語版だからかもしれない。
  • Azure DB for PostgreSQLファイアウォールの設定に何を設定していいかがわからない
    • スライドでは、すべてのIPレンジを許可しているけど、さすがにそれはどうかなと
    • よくよく見てみたら、Web App for Containersの送信元はプロパティから見ることができるのでそこで制限すればできる。
  • PostgreSQLへの接続用環境変数設定漏れ
    • 環境変数の設定が漏れていて、ずっと「could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 」が表示されて困った困った。
    • ホスト、ユーザ名、パスワードを環境変数として設定すればOK。

結果

development環境としてまずは動かすことができました。

ソースは以下においてあります。

github.com

production環境で動かすためには、

をすればできそうですが、やってません。今後の課題ということで。

今後は

今後は、

  • Production環境で動かすこと
  • Application Insightsを試してみる

ことがもっぱらの目標です。いつになるか分かりませんが、ゆっくりとやっていきます。