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でデプロイを開始しましょう!