AWS Chaliceの導入と設定手順
はじめに
AWS Chaliceは、Pythonで簡単にサーバーレスアプリケーションを開発・デプロイできるフレームワークです。AWS LambdaやAPI Gatewayと連携し、少ないコード量でAPIを作成できます。本記事では、AWS Chaliceの導入方法からプロジェクトの作成、ローカル実行、デプロイ手順までを詳しく解説します。加えて、uv
を使った仮想環境の構築手順についても説明します。Chaliceを活用することで、より効率的にサーバーレス開発を進められるようになるでしょう。
公式サイト: https://aws.github.io/chalice/index
1. AWS Chaliceとは?
1-1 AWS Chaliceの概要
AWS Chalice は、AWSが提供するPython向けのサーバーレスフレームワークです。Flaskのようなシンプルな記述で、AWS LambdaやAPI Gatewayを活用したAPIを簡単に作成できます。
1-2 AWS Chaliceのメリット
- 簡単な構築:
chalice new-project
でプロジェクトをすぐに作成可能 - 自動デプロイ:
chalice deploy
でAWS環境に即時反映 - API Gatewayとの連携: ルーティング設定が容易
- ローカルテスト機能:
chalice local
で手軽に動作確認
2. AWS Chaliceの導入
2-1 事前準備(AWSアカウント、IAM設定)
Chaliceを利用するには、AWSアカウントが必要です。また、適切な権限を持つIAMユーザーを作成し、AWS CLI
で認証情報を設定しておきましょう。
aws configure
上記のコマンドで、AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY を設定します。
2-2 uv
を使ったPython環境のセットアップ
AWS ChaliceはPython 3.10以上が推奨されています。今回は uv
を使ってPythonの仮想環境を作成し、Chaliceをインストールします。
Python 3.10 の仮想環境を作成
Python 3.10の仮想環境を作成し、有効化します。
uv venv .venv --python 3.10
# macOS/Linuxの場合
source .venv/bin/activate
# Windowsの場合は以下を実行
.venv\Scripts\activate
2-3 AWS Chaliceのインストール
仮想環境が有効な状態で、以下のコマンドを実行してAWS Chaliceをインストールします。
uv pip install chalice
インストール後、以下のコマンドでバージョンを確認しましょう。
chalice --version
3. AWS Chaliceプロジェクトの作成
3-1 Chaliceプロジェクトの初期化
新しいプロジェクトを作成するには、以下のコマンドを実行します。
chalice new-project myproject
cd myproject
このコマンドにより、myproject
ディレクトリが作成され、必要なファイル群が自動生成されます。
3-2 アプリケーションの作成とローカル実行
アプリのエントリーポイントは app.py
です。以下のように編集しましょう。
from chalice import Chalice
app = Chalice(app_name="myproject")
@app.route("/")
def index():
return {"message": "Hello, AWS Chalice!"}
ローカル環境で動作確認するには、以下のコマンドを実行します。
chalice local
これで、http://localhost:8000/
にアクセスすると、{"message": "Hello, AWS Chalice!"}
のレスポンスが得られます。
4. AWSへのデプロイ手順
4-1 AWS環境へのデプロイ
AWSにデプロイするには、以下のコマンドを実行します。
chalice deploy
実行後、API Gatewayのエンドポイントが出力されます。
4-2 API GatewayとLambdaの連携
デプロイすると、自動的にAWS LambdaとAPI Gatewayが連携します。APIのエンドポイントは以下のようになります。
https://abcd1234.execute-api.us-west-2.amazonaws.com/api/
このURLをブラウザやcurl
で確認すると、デプロイしたAPIの動作を確認できます。
curl https://abcd1234.execute-api.us-west-2.amazonaws.com/api/
5. 開発をスムーズに進めるポイント
5-1 ログの確認とデバッグ方法
AWS CloudWatchを利用すると、Lambdaのログを確認できます。以下のコマンドで直近のログを表示できます。
chalice logs
5-2 CI/CDパイプラインとの統合
GitHub ActionsやAWS CodePipelineを利用すると、デプロイを自動化できます。
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: Install Chalice
run: pip install chalice
- name: Deploy to AWS
run: chalice deploy
まとめ
AWS Chaliceを使うことで、Pythonを用いたサーバーレスAPIを手軽に構築・デプロイできます。仮想環境の管理にはuv
を活用することで、よりスムーズに環境構築が可能です。詳細なドキュメントについては、公式サイト を参照してください。AWS Chaliceを活用して、効率的なサーバーレス開発を始めてみましょう!