0
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?

Lambda API

0
Posted at
  1. API Gateway の「統合リクエスト」の変更
    現在、API Gatewayのバックエンド(統合タイプ)が「HTTP」または「HTTPプロキシ」でEBSのALBを指しているはず。これをLambda用に作り直す必要があるよ。

設定箇所: API Gateway コンソールの「リソース」→「メソッド(GET)」→「統合リクエスト」

変更内容: 統合タイプを 「Lambda 関数」 に変更。

プロキシ統合: Spring Bootのパス(/api/users など)をそのまま活かすなら、**「Lambda プロキシ統合の使用」**にチェックを入れるのが一番楽だよ。これで、リクエスト内容(ヘッダーやクエリパラメータ)が丸ごとLambdaに渡されるようになるんだ。

  1. Lambda 側の「リソースベースのポリシー」設定
    API GatewayがLambdaを呼び出す「許可」を与えてあげないといけないよ。

設定内容: Lambda コンソールの「設定」→「権限」タブにある「リソースベースのポリシー文」。

アクション: lambda:InvokeFunction を許可する。

プリンシパル: apigateway.amazonaws.com を指定。

※API GatewayのコンソールでLambdaを選択して保存すると、自動でこのポリシーを追加してくれることが多いけど、念のため確認してね。

  1. セキュリティグループとVPC設定
    ここが一番のハマりポイントだよ。

LambdaをVPCに入れる場合:

LambdaがDB(RDSなど)にアクセスする必要があるなら、VPC内に配置するよね。

Lambda用セキュリティグループ: 「アウトバウンド(送信)」でDBや外部APIへの通信を許可する。

DB側セキュリティグループ: インバウンド(受信)で「Lambda用セキュリティグループ」からの接続を許可するように書き換える(以前はEBSのセキュリティグループを許可してたはず)。

インバウンド制限:

Lambdaは「呼び出し(Invoke)」で動くから、Lambda自体に「インバウンドのセキュリティグループ」を設定して通信を制限する概念はないんだ(リソースベースポリシーで制限する)。

  1. 経路とターゲットの削除(クリーンアップ)
    移行が完了したら、不要になる設定を外していくよ。

VPC リンク / プライベート統合: もしVPCリンク経由でEBSに繋いでいたなら、これは不要になるよ。

ALB / EBS の削除: 完全にLambdaに寄せたら、EBS環境とそれに関連するロードバランサー(ALB)を停止・削除することでコストを抑えられるね。

  1. 実行ロール (IAM Role) の変更
    EBSのインスタンスプロファイルで許可していた権限(S3へのアクセスやログ出力など)を、Lambdaの 「実行ロール」 に移植してあげる必要があるよ。

基本権限: AWSLambdaVPCAccessExecutionRole(VPCに入れる場合)や AWSLambdaBasicExecutionRole(CloudWatch Logs出力用)は必須

まとめ:チェックリスト
[ ] API Gateway: 統合タイプを「Lambdaプロキシ」に変更

[ ] Lambda: API Gatewayからの Invoke 許可設定(リソースポリシー)

[ ] IAM: Lambda実行ロールに、以前EBSで使っていた権限を付与

[ ] Security Group: DB側の許可リストを「EBS用」から「Lambda用」に差し替え

[ ] API Gateway: 変更後に「デプロイ」を実行してステージを更新

特に、**DBへの接続許可(セキュリティグループの付け替え)**を忘れると、LambdaからDBに繋がらなくてタイムアウトしちゃうから注意してね。

0
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
0
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?