4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSのPython実行環境の選択肢

4
Last updated at Posted at 2025-12-22

はじめに

Pythonのバッチ処理を作成する機会が多いので、AWS上でPythonバッチを動かす際の選択肢と、それぞれの特徴・選び方について解説します。

1. AWSでPythonバッチを動かす主なサービス

AWSでPythonバッチを動かす際によく使われるサービスは以下の3つです。

  • Lambda(サーバレス関数実行)
  • Glue(サーバレスETL/バッチ処理)
  • ECS Fargate(コンテナ実行)

2. 各サービスの特徴

Lambda

  • Pythonバージョン
    • 3.14対応(最新)
  • 料金
    • 圧倒的に安い
  • CPU
    • メモリに比例してCPU性能が向上
  • メモリ
    • デフォルト128MB
    • 最大10GB
    • 1MB単位で割り当て可能
  • エフェメラルストレージ
    • デフォルト512MB
    • 最大10GB
    • 1MB単位で割り当て可能
  • 埋め込み型のVScodeエディタで編集可能
    • ディレクトリも作成可能
  • Lambdaレイヤーで任意のモジュールをインポート可能
    • Python 3.13であれば公式のADS SDK for Pandasが利用可能
    • 最新バージョンにもそのうち適用されると思われる
  • 実行時間最大15分の制限あり、小規模バッチ向き
    • デフォルトでタイムアウトが3秒なので注意

Glue Python Shell

  • Pythonバージョン
    • 3.9(2025年10月 EOL)
      • EOLされたがバージョンアップされていない
  • CPU
    • 1/16DPUと1DPUが選択可能
  • メモリ
    • 最大16GB
  • エフェメラルストレージ
    • 20GB
  • Lambdaの制限を超える場合の選択肢
  • EOLとなってしまったのでセキュリティ上使いづらい
    • セキュリティ要件を満たさない場合今後の更新に期待するか他に移行するしか...

Glue(ETL)

  • 最新はPython 3.11(2027年10月 EOL)
  • CPU/メモリ
    • 様々な種類を選択可能
  • エフェメラルストレージ
    • ローカルディスク(/tmp)は利用不可
  • 分散処理前提のため、Worker数2以上でしか動作しない
    • PySpark等の分散処理前提でスクリプトを書かなければ、1ワーカーは遊休リソースとなる

ECS Fargate

  • 任意のPythonバージョン・ライブラリ利用可
  • CPU/メモリ/エフェメラルストレージ
    • 様々な種類を選択可能
  • DockerFile作成が必要
  • カスタマイズ性高いが構築はやや面倒

3. サービス比較表

Lambda Glue ECS(Fargate)
実行時間上限 15分 無制限 無制限
メモリ(最大) 10GB Pythonshell:16GB / Glue:128GB 120GB
起動時間 即時 30秒程度 数分
コスト 最小
定期実行方法 EventBridge Glueトリガー/Glueのスケジューラ EventBridge
構築/運用負荷
ローカルディスク 最大10GB Pythonshell:20GB / Glue:使えない 20GB~200GB

4. サービス選定フローチャート

python.drawio.png

  • これ以外にも以下に応じて選定してください
    • コスト
    • 管理のしやすさ
    • 処理規模・要件
      • 特にEOLが許容できるか

5. まとめ

AWS上でのPythonの実行環境の選択肢はLambda、Glue(Python Shell含む)、ECSの主に3つです。要件に合わせて選択しましょう。

  • 軽量バッチ:Lambda
  • 重い処理:Glue
  • カスタマイズ重視:ECS Fargate
  • まずはLambda→Glue→ECSの順で検討

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?