Golang Echoプロジェクトを無料でホストする方法
Grace Collins
Solutions Engineer · Leapcell

Go Echoの紹介
Echoは、Go言語のために設計された高性能で拡張性があり、ミニマリストなWebフレームワークです。その高速性、メモリ使用量の少なさ、HTTP/2の優れたサポートで知られています。
Echoのコア設計思想は「less is more」です。開発者が堅牢なRESTful APIやWebアプリケーションを迅速に構築できるように、簡潔でありながら強力なAPIを提供します。
その優れたパフォーマンスとシンプルな設計により、Echoは多くのGo開発者がWebサービスを構築する際のトップチョイスの1つとなっています。
Go Echoをオンラインサービスとしてデプロイする方法?
Go Echoプロジェクトをオンラインにデプロイする従来の方法は、DigitalOceanやAWS EC2のような仮想プライベートサーバー(VPS)を購入することです。
この方法では柔軟性がありますが、サービスがトラフィックを受け取っているかどうかにかかわらず、サーバーを購入した時点から費用が発生します。これは非常にコスト効率の良い選択肢ではありません。
より良いデプロイソリューション:Leapcell
LeapcellはWebアプリのデプロイプラットフォームです。 革新的な価格モデルを提供しています。サービスがリクエストを処理しているときのみ請求されます。
つまり、Echoプロジェクトがアイドル状態であり、リクエストを受け取っていない場合、1セントも支払う必要はありません。この「従量課金」モデルは、Go Echoプロジェクトの運用コストを大幅に削減し、実際の使用量に対してのみ支払われることを保証します。
以下に、まったく新しいGo EchoプロジェクトをLeapcellに簡単にデプロイする方法を簡単な例で説明します。
1. Echoプロジェクトの作成
開始する前に、Go言語環境がインストールされていることを確認してください。
プロジェクトディレクトリの作成とGoモジュールの初期化
ターミナルを開き、新しいプロジェクトディレクトリを作成して、そこへ移動します。
mkdir my-echo-app cd my-echo-app
次に、go mod init
コマンドを使用してGoモジュールを初期化します。example.com/myechoapp
は、プロジェクトの任意の名前で置き換えることができます。
go mod init example.com/myechoapp
Go Echoフレームワークのインストール
go get
コマンドを使用して、Echoバージョン4をインストールします。
go get github.com/labstack/echo/v4
メインプログラムファイル:main.goの作成
プロジェクトディレクトリのルートにmain.go
という名前のファイルを作成し、以下のコードを貼り付けます。これは、アクセスされたときに「Hello, Leapcell!」を返す単一のルート /
を持つ最小限のGo Echoアプリケーションです。
package main import ( "net/http" "os" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" ) func main() { // Echoインスタンスの作成 e := echo.New() // ミドルウェア e.Use(middleware.Logger()) e.Use(middleware.Recover()) // ルート => ハンドラ e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, Leapcell!") }) // Leapcellによって提供されるポートを取得し、ローカル実行の場合はデフォルトで8080にします port := "8080" // サーバーの起動 e.Logger.Fatal(e.Start(":" + port)) }
ターミナルで以下のコマンドを実行して、Echoサービスを起動します。
go run main.go
サービスがポート8080で起動したのが表示されます。次に、ブラウザを開くかcurl
を使用してhttp://localhost:8080
にアクセスすると、「Hello, Leapcell!」という出力が表示されるはずです。
2. GitHubへのプロジェクトプッシュ
LeapcellはGitHubリポジトリから読み取ることでコードをデプロイします。Leapcellがアクセスできるように、プロジェクトをGitHubにプッシュする必要があります。
GitHubアカウントの作成
まだGitHubアカウントをお持ちでない場合は、github.comにアクセスしてサインアップしてください。
登録後、次の手順については公式GitHubドキュメントを参照してください。
3. Leapcellダッシュボードでサービスを作成し、Echoリポジトリを接続します。
Leapcellダッシュボードにアクセスし、「New Service」ボタンをクリックします。
「New Service」ページで、作成したばかりのEchoリポジトリを選択します。
4. 作成中に次の値を指定します。
Goはコンパイル言語であるため、go build
を使用してGoアプリケーションをビルドします。
この例では、Golangプロジェクト名はapp
なので、そこへコンパイルされます。
フィールド | 値 |
---|---|
Runtime | Go (Any version) |
Build Command | go build -tags netgo -ldflags '-s -w' -o app |
Start Command | ./app |
Port | 8080 |
これらの値を対応するフィールドに入力します。
5. Go Echoアプリにアクセスする:
デプロイ後、デプロイメントページにfoo-bar.leapcell.dev
のようなURLが表示されるはずです。サービスページに表示されているドメインにアクセスします。
##継続的デプロイメント
リンクされたブランチへのすべてのプッシュは、ビルドとデプロイを自動的にトリガーします。ビルドが失敗した場合、安全にキャンセルされ、次のデプロイが成功するまで現在のバージョンが実行され続けます。
Go言語ホスティングでLeapcellを使用するのはなぜか?
- LeapcellはWebホスティングのための次世代サーバーレスプラットフォームであり、クラウド全体でGo言語プロジェクトをデプロイできます。
- Leapcellは実際の使用量に対してのみ課金するため、マシンがアイドル状態でも1セントも支払う必要がありません。
- Leapcellは毎月リセットされる寛大な無料クォータを提供します。日常的な使用では、クォータを超えることはまずないでしょう。
LeapcellでGolangサービスをデプロイしましょう!