Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

17
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

クラスターAdvent Calendar 2020

Day 9

安く簡単にGo製webサーバーをデプロイする! Render.comの紹介

Last updated at Posted at 2020-12-08

Go言語で個人開発したサーバーをGCPやAWSにデプロイするときの悩みは、各プラットフォームの必要知識が意外にも多いことと、地味に出費がかさむことです。
今回は、余計なプラットフォームの設定で悩むことなくアプリケーションに集中できるうえ、低価格で実現できるサービスを紹介します。

私は2020年10月からクラスター社でエンジニアインターンをしている @anoriqq です。
日々、サーバーエンジニア修行を積んでいます。

さて、この記事は クラスター Advent Calendar 2020 9日目の記事です。
昨日はnomunomu_raさんの『クラスター社員が語る、バーチャルカメラの魅力。』でした。
clusterでイベントを開催する方は必見です!

はじめに

クラスター社の提供するサービスclusterのサーバーにGoを利用しています。
しかし、私自身のGo言語でのサービス開発は初めてでしたので、実際にサービスに使われているライブラリやフレームワークを使ったオモチャが欲しくなります。
そこで、Go製のwebサーバーがデプロイできるRenderを使ってみたところ、GCPやAWS、Herokuよりも使い勝手が良いと感じたのでご紹介します。

Renderってどんなサービス?

image.png
Webアプリや静的サイトのホスティングから、Cron Jobs、自動バックアップ機能付きDBなど、個人のWeb開発で必要なものは一通り揃っています。
SSDディスクも提供されていますので、PostgreSQL意外ももちろん使えます。
無料でonrender.comのサブドメインも割り当ててくれますし、カスタムドメインも追加できます。

image.png
ドキュメントもそれなりに詳しく、サンプルプロジェクト付きで解説があります。
個別に対応していない言語もありますが、Dockerが動くのでなんでもできますね。

RenderでGo製サーバーを動かそう

さて、本題のGo言語プロジェクトですが、デプロイに必要な作業はたったの3ステップです。

  1. サービスタイプを選択

Webサーバーの場合はWeb serversを選ぶと良いです。
Background WorkerはURLを持ちません。
Screen Shot 2020-12-07 at 22.01.57.png

  1. Gitリポジトリを選択する

GitHubかGitLabからプロジェクトのリポジトリを選択できます。
Screen Shot 2020-12-07 at 22.03.42.png

  1. サービスの設定

EnvironmentにGoを選択し、Build CommandとStart Commandを指定します。
Regionは現在 Oregon, USA と Frankfurt, Germany が選択できるようですが、日本からだとUSAのほうが速いです。
デフォルトでAuto Deployが有効になっているため、Branchに指定したBranchにpushされると自動的にデプロイされます。
もちろん手動デプロイも可能です。
その他、環境変数やシークレットファイル、追加の永続ディスクなどもこの画面で設定できます。
Screen Shot 2020-12-07 at 22.06.21.png

良いところ1: デプロイが速い

Dec 7 10:12:20 PM  ==> Cloning
Dec 7 10:12:26 PM  ==> Running build command
Dec 7 10:12:53 PM  ==> Build successful 🎉
Dec 7 10:13:10 PM  ==> Starting service with './app'
Dec 7 10:13:35 PM  [GIN] 2020/12/07 - 13:13:35 | 200 |    2.617112ms |   111.111.111.111 | GET      "/"

あるプロジェクトのlogの抜粋です。
buildはプロジェクトの規模で変わると思いますが、build完了後30秒程度でアクセス可能になります。すごい!!
chackoutにはキャッシュも効かせてくれます。

良いところ2: 安心できる価格設定

Screen Shot 2020-12-07 at 22.23.34.png

今回利用したサービスタイプWeb serversでは最も安いStarterプランで最高 $7/月 です。
しかも利用した分だけ課金されるので無駄に出費する心配もありません。
私の個人開発は趣味や勉強目的なので、サービスを作ったり消したりしていますが毎月300円程度しか請求されていません。

おわりに

様々なクラウドコンピューティングサービスを利用した中で、最も入門しやすく、個人開発に十分な機能を備えているので、知らない人には広めていきたいですね。
来年もRenderで個人開発とスキルアップを加速していくぞ!

明日はfaidraさんの『なにか』です。
楽しみです!!

17
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

17
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?