Skip to content
This repository was archived by the owner on Feb 17, 2026. It is now read-only.
This repository was archived by the owner on Feb 17, 2026. It is now read-only.

1 API Gateway #69

Description

@laysakura

質問3: 複数のSAMアプリケーションとAPI Gatewayの管理に関するベストプラクティス
複数のSAMアプリケーションを管理する場合、以下の3つのアプローチが考えられます:

  1. 各アプリケーションが独自のAPI Gatewayを持つ(現在の方法)
    メリット:

アプリケーション間の独立性が高い
ローカル開発が容易(各チームが自分のAPIを完全に制御できる)
デプロイの影響範囲が限定的
デメリット:

AWS リソースの重複(コスト増加)
複数のAPIエンドポイントをクライアントが管理する必要がある
共通機能(認証など)の重複実装
2. 共有API Gatewayを使用し、各アプリケーションがエンドポイントを追加
メリット:

リソースの効率的な使用
単一のエンドポイントでクライアント管理が容易
共通機能の一元管理
デメリット:

アプリケーション間の依存関係が生じる
ローカル開発が複雑になる
デプロイの調整が必要(複数チーム間)
3. ハイブリッドアプローチ
開発環境では独立したAPI Gateway、本番環境では共有API Gatewayを使用する方法です。

メリット:

開発の容易さと本番環境のリソース効率のバランスが取れる
チーム間の独立性を保ちながら、本番環境では統合管理できる
デメリット:

環境間の差異が生じる
設定とデプロイプロセスが複雑になる
推奨アプローチ
ローカル開発の容易さを重視するなら、ハイブリッドアプローチが最適と考えられます:

開発環境:各アプリケーションが独自のAPI Gatewayを持つ
本番環境:共有API Gatewayを使用し、各アプリケーションは特定のパス(例:/log-analysis、/other-app)を担当
これにより、開発の独立性を保ちながら、本番環境ではリソースを効率的に使用できます。実装方法としては、環境変数やパラメータを使用して、環境ごとにデプロイ設定を切り替えることができます。

また、API Gateway v2(HTTP API)を使用すると、コスト削減とパフォーマンス向上が期待できます。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions