Somurie Engineer's Blog

AWS Lambda&Rails5.2.3で格安サーバレス運用をする

背景 RailsでWebシステムを公開したい時、どこのレンタルサーバを使用していますか? Railsが動作する前提で探すと(PHPと比較して)どうしても高くなってしまい、遊び程度のシステムを作成するにはどうも気が引けます。 簡単なWebサービスであればAWSのサーバレスアーキテクチャがかなり安く運用できそうなので、簡単な運用費計算と簡単な動作確認までを記事にまとめました。 環境 MacOS Mojave 10.14.4 Homebrew 2.1.0-27 Ruby 2.5.3p105 Rails 5.2.3 作業日 2019/4/14 運用費計算 王道ですが以下3つの構成から成る簡単なWebアプリを作成するとします。大まかな料金表は以下の通り。 Route53 ホストゾーンの登録 0.5USD/Month 標準クエリ100万件毎 0.4USD/Month (日割りされるみたい。少なければ0USD?) S3 ストレージ料金 最初の 50 TB/月 0.023USD/GB リクエスト料金 S3 Select によって返されたデータ 0.0007USD/GB lambdac 1,000,000 件のリクエストか400 GB-秒まで 超ざっくりですが、皮算用は0.5USD/月程度です。内訳は以下の通り。 Route53 1万アクセス/月の場合、登録料0.5USD+0.004USD S3 0.5GBのコンテンツの場合、0.00000023USD -20GBのリクエストの場合 (1アクセス2MB×1万アクセス)、0.014USD/GB lambda 無料 安すぎるけど計算間違えてないかな・・・。 既に計算している人を見ると、やや違うけど、とんでもない金額にはならなそうなのでとりあえず進みます。 AWS SAM CLIのインストール $ brew tap aws/tap $ brew install aws-sam-cli $ sam --version SAM CLI, version 0.

Docker+Railsコンテナ構築時のUnknown MySQL server host ‘mysql’エラー

Docker+Railsコンテナ構築時にUnknown MySQL server host ‘mysql’エラーが発生してなかなか解決しなかったので備忘として解決までの流れを記載する。 Contents 1 環境 2 解決までに試したこと 3 解決方法 4 まとめ 環境 今回は以下環境にて開発を行った。 MacOS Mojave 10.14.3 Docker 18.09.1 Ruby 2.5.3 Rails 5.2.2 MySQL 5.7.10 解決までに試したこと docker-composeでappとdb(両方サービス名)のリンク・リンク名の見直し。(以下URL参照) https://qiita.com/merochiyo/items/14dde59e960c0b35d8a0 dbのコンテナが立ってからappが起動及びdb:createすること。 http://otiai10.hatenablog.com/entry/2016/02/04/160515 解決方法 明確な原因はわからなかったのですが、以下コマンドを使うことで解決しました。恐らくですが、Dockerの古いイメージが残ってしまい、そちらを参照し続けてしまったことなどが原因かと思います。(直前にMySQLのバージョンを8に変更し、認証プラグインがcaching_sha2_passwordになってエラーになり、バージョンを5.7.10に戻したりしていたので、その際のキャッシュなどを使っていたのかなと推測) 以下コマンドでは、可動していないものも含め全てのDockerイメージを削除します。 $ docker stop $(docker ps -q) $ docker rm $(docker ps -aq) $ docker rmi $(docker images -q) まとめ Dockerがどうやってもうまく動かない時は可動しているイメージを削除するだけでなく古いイメージを削