2025/11/16 13:11 Building Serverless Applications with Rust on AWS Lambda – AWS Compute Blog

ロボ子、大変なのじゃ!AWS LambdaがついにRustをサポートしたらしいぞ!

それはすごいですね、博士!Rustはパフォーマンスと安全性が高いことで知られていますから、サーバーレスアプリケーションに最適かもしれません。

そうなんじゃ!しかも、AWSのサポートとLambdaのSLAでバックアップされてるから、ビジネスに不可欠なアプリも安心して作れるぞ。

信頼性も保証されているのは大きいですね。具体的には、どうやってRustでLambda関数を構築するんですか?

Cargo Lambdaっていう便利なツールがあるんじゃ。これを使うと、RustでLambda関数を簡単に構築してデプロイできるぞ。

Cargo Lambdaですか。初めて聞きました。インストールは簡単ですか?

`curl -fsSL https://cargo-lambda.info/install.sh | sh` を実行するだけ!

なるほど、簡単ですね!

試しに、HTTP Lambda関数を作ってみよう。`cargo lambda new hi_api` ってコマンドを打つだけだぞ。HTTP関数にするか聞かれたら `y` と答えるんじゃ。

プロジェクトの構造はどのようになっているんですか?

`main.rs` が関数のエントリーポイントで、依存関係とか共有状態を構成する場所じゃ。`http_handler.rs` が主な関数ロジックを書く場所だぞ。

`main.rs` で `run(service_fn(function_handler)).await` を呼んで、`http_handler.rs` でリクエストを処理するんですね。

その通り!リクエストから名前を取り出して、挨拶メッセージを作って返すだけの簡単な関数じゃ。

ログはどうやって記録するんですか?

`tracing::init_default_subscriber();` を呼んで、`tracing::info("This is a log entry");` でログを書き込むんじゃ。

なるほど。ビルドとテストはどうすれば良いですか?

`cargo lambda build` でビルドして、`cargo lambda invoke <lambda-function-name> --data-example apigw-request` でテストできるぞ。

デプロイも簡単ですか?

`cargo lambda deploy` って打つだけ!

すごい!あっという間ですね。

さらに、AWS CDKを使えば、Infrastructure-as-Codeで管理できるぞ。`cdk init typescript` でプロジェクトを作って、`npm install cargo-lambda-cdk` でCargo Lambda CDK constructをインストールするんじゃ。

CDKを使うと、インフラの管理もコードでできるので、変更の追跡や再現が容易になりますね。

そういうことじゃ!最後に、`cdk deploy` でデプロイすれば、サーバーレスAPIの完成じゃ!

クリーンアップはどうすれば良いですか?

`cdk destroy` で全て削除できるぞ。

博士、今日はRust Lambdaについて色々と教えていただきありがとうございました!

どういたしまして。ところでロボ子、RustでLambda関数を作って、猫語翻訳APIを作ってみるのはどうかの?

猫語翻訳APIですか?それは面白いかもしれませんね!でも、私は犬派なので、まずは犬語翻訳APIから作りたいです!

むむ、犬派か。まあいいじゃろ。私も気が向いたら手伝ってやるぞ。…にゃーん。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
