カテゴリ: Quarkus 更新日: 2026/03/06

QuarkusをAWS Lambdaで動かす最小構成を完全解説!初心者向けサーバーレスJava入門

QuarkusをAWS Lambdaで動かす最小構成
QuarkusをAWS Lambdaで動かす最小構成

先生と生徒の会話形式で理解しよう

生徒

「Quarkusって最近よく聞くんですが、AWS Lambdaみたいなサーバーレスでも動くんですか?」

先生

「動きますよ。しかも起動が速いので、Javaでサーバーレスをやりたい人には相性がとても良いです。」

生徒

「AWS Lambdaで動かすには、難しい設定が必要ですか?」

先生

「最小構成であれば、意外とシンプルです。今回は初心者でも迷わない形で説明していきましょう。」

1. QuarkusとAWS Lambdaの基本関係

1. QuarkusとAWS Lambdaの基本関係
1. QuarkusとAWS Lambdaの基本関係

Quarkusは、Javaで高速に起動するアプリケーションを作るためのフレームワークです。 AWS Lambdaは、サーバーを用意せずにコードだけを実行できるサーバーレス環境です。 この二つを組み合わせることで、Javaでもコールドスタートの遅さを感じにくいサーバーレス構成を実現できます。 特にQuarkusは、AWS Lambda Javaランタイムやカスタムランタイムと相性が良く、 クラウドネイティブ、マイクロサービス、サーバーレスといったキーワードと強く結びついています。

2. 開発環境に必要なもの

2. 開発環境に必要なもの
2. 開発環境に必要なもの

QuarkusをAWS Lambdaで動かす最小構成を試すために、事前にいくつか準備が必要です。 JavaはLTSであるJava17が推奨され、ビルドツールはMavenを使います。 AWS側ではAWSアカウントとIAM権限が必要になります。 また、AWS CLIをインストールしておくと、デプロイ作業がスムーズになります。 これらはサーバーレス開発やクラウド学習でも頻繁に使われる基本要素なので、 早めに慣れておくと今後の学習が楽になります。

3. Quarkusプロジェクトの最小構成作成

3. Quarkusプロジェクトの最小構成作成
3. Quarkusプロジェクトの最小構成作成

まずはQuarkusのプロジェクトを作成します。 AWS Lambda向けには、専用のエクステンションを追加するだけで対応できます。 最小構成ではREST APIを一つだけ持つシンプルな構造にします。 以下は、Lambda上で呼び出される最小のハンドラクラス例です。


package org.example;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class HelloLambda implements RequestHandler<Object, String> {

    @Override
    public String handleRequest(Object input, Context context) {
        return "Hello Quarkus on AWS Lambda";
    }
}

4. application.propertiesの最小設定

4. application.propertiesの最小設定
4. application.propertiesの最小設定

Quarkusでは設定ファイルとしてapplication.propertiesを使います。 AWS Lambda向けの最小構成では、余計な設定は不要です。 Lambdaで動かすことを明示するための設定を入れることで、 QuarkusがLambda環境向けに最適化されます。


quarkus.lambda.handler=org.example.HelloLambda

5. MavenでビルドしてLambda用成果物を作成

5. MavenでビルドしてLambda用成果物を作成
5. MavenでビルドしてLambda用成果物を作成

次にMavenを使ってビルドします。 Quarkusでは、Lambda用のJarファイルを簡単に生成できます。 最小構成では、通常のパッケージングコマンドを実行するだけです。 ビルドが完了すると、AWS Lambdaにアップロード可能なJarが生成されます。 これはJavaサーバーレス開発において大きなメリットです。


mvn clean package

6. AWS Lambdaへのデプロイ手順

6. AWS Lambdaへのデプロイ手順
6. AWS Lambdaへのデプロイ手順

AWSマネジメントコンソールからLambda関数を作成します。 ランタイムはJavaを選択し、ハンドラにはQuarkusで指定したクラスを設定します。 作成後、ビルドしたJarファイルをアップロードするだけで実行可能になります。 この手軽さが、AWS LambdaとQuarkusを組み合わせる大きな魅力です。 サーバー管理が不要なので、学習用途や小規模システムにも向いています。

7. ローカルでの簡易動作確認

7. ローカルでの簡易動作確認
7. ローカルでの簡易動作確認

いきなりAWSにデプロイするのが不安な場合は、 ローカルで簡単なテストコードを書いて動作を確認できます。 以下は、Lambdaハンドラを直接呼び出すシンプルなJavaコード例です。


public class LocalTest {
    public static void main(String[] args) {
        HelloLambda lambda = new HelloLambda();
        String result = lambda.handleRequest(null, null);
        System.out.println(result);
    }
}

Hello Quarkus on AWS Lambda

8. 最小構成で学ぶメリットと注意点

8. 最小構成で学ぶメリットと注意点
8. 最小構成で学ぶメリットと注意点

最小構成でQuarkusをAWS Lambdaで動かすことで、 サーバーレスの基本概念、Java Lambdaの仕組み、ビルドからデプロイまでの流れを一通り体験できます。 一方で、ログ管理や環境変数、セキュリティ設定などは省略されています。 これらは本番運用では重要になるため、 最小構成を理解した後に段階的に学んでいくのがおすすめです。

カテゴリの一覧へ
新着記事
New1
Quarkus
QuarkusのREST APIでJSONレスポンスを返す方法を完全解説!初心者向けJackson・JSON-B入門
New2
Quarkus
Quarkus拡張開発入門!GraalVMネイティブイメージ統合の仕組みを徹底解説
New3
Micronaut
Micronautの@Requiresとは?条件付きBeanの読み込み方法をやさしく解説【DIとアノテーション入門】
New4
Quarkus
Quarkusでマイクロサービス構成を作るプロジェクト設計を完全解説!初心者でも理解できる分割設計の考え方
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkus拡張開発を徹底解説!仕組みから自作エクステンションの作り方まで
No.2
Java&Spring記事人気No2
Java
Javaのコンパイルと実行の流れを解説!JVM・JDK・JREの違いも初心者向けに整理
No.3
Java&Spring記事人気No3
Quarkus
Quarkus入門!GitHub ActionsでCI/CDパイプラインを構築して自動ビルドを実現する方法
No.4
Java&Spring記事人気No4
Java
JavaのString検索方法を完全ガイド!contains・indexOf・startsWith・endsWithを徹底解説
No.5
Java&Spring記事人気No5
Java
JavaのString比較を徹底解説!equalsと==の違い、初心者が陥る罠とは?
No.6
Java&Spring記事人気No6
Java
Java Functionインタフェースの使い方を完全ガイド!map変換と処理チェーンを理解する
No.7
Java&Spring記事人気No7
Quarkus
Quarkus拡張開発入門!自作Extensionを作る基本ステップと仕組みを徹底解説
No.8
Java&Spring記事人気No8
Quarkus
Quarkus拡張開発をマスター!ビルドプロセスの仕組みと内部構造を徹底解説