Renderにdockerコンテナをデプロイする

docker

概要

2022年8月25日にHerokuの無料枠が廃止されると公式から発表されました。その発表によると廃止される無料枠は「Heroku Dyno」、「Heroku Postgres」、「Heroku Data for Redis」の3つのサービスです。

無料でdockerコンテナが動かせることが魅力に感じて「Heroku Dyno」をよく利用していました。$25/month払えば継続利用できますが、ホビー用途では無料にしたいので他のサービスを探しました。現在ではRenderRailwayFly.ioなどが無料でdockerコンテナが動かせるようです。

この記事では上記3つの中からRenderにdockerコンテナをデプロイしていきたいと思います。

資金調達

2023年6月20日にRenderはシリーズBで5000万ドルの資金調達に成功したと発表されました。エンジニアだけでなく投資家にも注目されているとうことです。

競合他社とは対照的に、Render の DevOps クラウド プラットフォームは、柔軟で、より安価で、よりシンプルなインフラストラクチャを提供することを目指しています。Render を使用すると、開発者はサーバーのセットアップ、展開、拡張に集中するのではなく、コア製品の開発に集中できるようになります。立ち上げ以来、Render の顧客ベースには、Watershed のような企業や、Red Bull のようなフォーチュン 500 企業が含まれています。

引用元:https://techcrunch.com/2023/06/20/render-bessemer-ventures-startup-cloud/

シリーズBとは、投資家が企業に対して投資をする段階のことを意味する投資ラウンドのことです。シリーズBはビジネスが軌道に乗り始めた段階のことらしいです。その他に、シード、シリーズA、B、Cという投資ラウンドがあります。

サービス内容

料金体系

個人向けの0ドル/月から、企業向けの29ドル/月まであります。さらにエンタープライズ向けのカスタム価格なんてものもあります。どのプランでもwebサービス、静的サイト、cronジョブなど使えるようですが無料で使えるデータ転送量に違いがあるようです。

データ転送量は個人向けだと100GB、チーム向けで500GB、企業向けで1TBが無料で使えます。無料枠を超えるとデータ転送量100GBあたり30ドルの費用がかかります。

サービス内容

Renderが提供しているサービスには以下のようなものがあります。

  • 静的サイト
  • Webサービス
  • PostgreSQL
  • Redis
  • cronジョブ
  • プライベートサービス

制限付きにはなっていますが、それぞれのサービスで無料枠が用意されています。

ユーザ登録

RenderではGitHub、GitLab、Googleのアカウントもしくはメールアドレスによってユーザ登録できます。私はGitHubアカウントでユーザ登録したのでGitHubアカウントでログインします。

ではログインします。

リポジトリ

次にRenderに認識させるGitHubのリポジトリを選択します。すべてのリポジトリを選択することもできますが、ここでは、あらかじめ作成しておいたweb-rustというリポジトリを認識させます。

あらかじめ作成しておいたリポジトリはこちらです。Actix-webというWebフレームワークを使用したWebアプリケーションです。アクセスすると文字列を返してくる簡単なWebアプリケーションになっています。

プロジェクトの作成

コンテンツの選択

まず、作成したいコンテンツの種類を選択します。ここではNew Web Serviceを選択します。

次に、さきほど認識させたGitHubのリポジトリに接続します。

プロジェクトの設定

GitHubのリポジトリにDockerfileがあるため、Dockerを利用すると認識したようです。そのおかげもあって、EnvironmentがDockerとなっています。

RenderのサイトにもDockerfileにしたがって自動でビルド、デプロイをするというような記述があります。

Automated builds and deploys for Dockerfiles in both public and private Git repositories.

render.com公式サイト – https://render.com/docs/docker

その他の項目も表のように設定します。プランはFreeのプランを選択します。最後にCreate Web Serviceボタンを押します。

項目設定値
Nameweb-rust
Root Directoryデフォルト設定
EnvironmentDocker
RegionSingapore (Southeast Asia)
Branchmain

ビルド&デプロイ

Create Web Serviceボタンを押すとビルドが始まります。ビルドが始まったことは黒い背景のlogが更新されていればわかると思います。

最後にDONEが表示されていればデプロイまで完了しています。簡単なWebアプリケーションですがビルド&デプロイに15分以上かかっています。少し時間がかかっていますが無料枠なので仕方ないですね。それでは、画面左上のURLにアクセスしてみましょう。

動作確認

下図のようにHello nekochan!と表示されていればOKです。

コメント