Rustプロジェクトをクラウドでホストする方法(無料)
Emily Parker
Product Engineer · Leapcell

Axumは、堅牢でスケーラブルなWebアプリケーションを構築するために設計された、Rustで構築された最新の、エルゴノミックで、非常に高性能なWebフレームワークです。Rustの強力な型システムと非同期サポートを活用して、安全性、信頼性、および高いパフォーマンスを保証します。
この記事では、AxumをRustの例として取り上げ、Leapcellへのデプロイがいかに簡単かを紹介します。
Leapcellを選ぶ理由
- Leapcellは、Webホスティングのための次世代サーバーレスプラットフォームであり、Rustプロジェクト全体をクラウドにデプロイできます。
- Leapcellは実際の使用量に対してのみ課金されるため、マシンがアイドル状態のときは1円も支払う必要はありません。
- Leapcellは、毎月リセットされる寛大な無料枠を提供します。日常的な使用では、この枠を超えることはまずありません。
1. GitHubでAxumの例をフォークします。
リポジトリ:Axumの例
公式Axumドキュメントから引用した、そのリポジトリのmain.rsファイルは次のとおりです。
use axum::{response::Html, routing::get, Router}; #[tokio::main] async fn main() { // build our application with a route let app = Router::new().route("/", get(handler)); // run it let listener = tokio::net::TcpListener::bind("127.0.0.1:8080") .await .unwrap(); println!("listening on {}", listener.local_addr().unwrap()); axum::serve(listener, app).await.unwrap(); } async fn handler() -> Html<&'static str> { Html("<h1>Hello, World!</h1>") }
2. Leapcellダッシュボードでサービスを作成し、新しいリポジトリを接続します。
Leapcellダッシュボードに移動し、New Serviceボタンをクリックします。

「New Service」ページで、フォークしたリポジトリを選択します。

リポジトリにアクセスするには、LeapcellをGitHubアカウントに接続する必要があります。
接続されると、リポジトリがリストに表示されます。
3. 作成時に以下の値を指定します。
Rustはコンパイル言語であるため、cargo build --releaseを使用してRustアプリケーションをビルドします。
この例では、プロジェクト名がappであるため、./target/release/appにコンパイルされます。
開始コマンドは、cargo run --releaseではなく、./target/release/appである必要があります。これは、cargo runが.cacheファイルを書き込み、Leapcell環境がそのパスへのファイルの書き込みをサポートしていないためです。
独自のアプリを使用している場合は、コマンドがプロジェクトと一致していることを確認してください。appをプロジェクト名に置き換え、正しい開始コマンド(例:./target/release/myapp)を指定します。
| フィールド | 値 |
|---|---|
| ランタイム | Rust (任意のバージョン) |
| ビルドコマンド | cargo build --release |
| 開始コマンド | ./target/release/app |
| ポート | 8080 |
これらの値を対応するフィールドに入力します。

4. アプリへのアクセス:
デプロイされると、デプロイメントページにfoo-bar.leapcell.devのようなURLが表示されます。サービスページに表示されているドメインにアクセスします。

継続的デプロイメント
リンクされたブランチへのすべてのプッシュは、自動的にビルドとデプロイをトリガーします。失敗したビルドは安全にキャンセルされ、次のデプロイが成功するまで現在のバージョンが実行されたままになります。
Leapcellでデプロイを開始しましょう!


