1. 今回の作業概要

AWS本番環境に構築したAPI Gateway・Lambda・RDS PostgreSQL・Amazon Cognitoの連携について、動作確認と不具合調査を実施した。

今回の主な目的は、次の2点。

  1. 本番APIからRDS PostgreSQLへ正常に接続できることを確認する。
  2. GET /api/users/me で発生しているエラーの原因を特定する。

調査の結果、RDS PostgreSQLへの接続とユーザー検索は正常に動作していることを確認できた。

一方、Cognitoからユーザー情報を取得する処理でLambdaがタイムアウトしていることが判明した。

そのため、次回はCognitoへの追加API呼び出しをなくす方向で修正する。


2. 本番APIの動作確認

2-1. 確認対象

今回確認したAPIは次のとおり。

GET /api/users/me

このAPIは、認証済みユーザーの情報をPostgreSQLから取得し、未登録の場合は新しく登録する役割を持つ。

想定している処理は以下。

API Gateway
    ↓
Lambda(Hono)
    ↓
JWT認証
    ↓
RDS PostgreSQL
    ↓
既存ユーザーを検索
    ↓
未登録の場合はユーザーを登録
    ↓
ユーザー情報を返却

2-2. curlによるAPIテスト

本番Cognitoから取得したアクセストークンを使用し、ターミナルからAPIを実行した。

curl -i \
  "<https://99izoki1mg.execute-api.ap-northeast-1.amazonaws.com/api/users/me>" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

最初のテストでは、以下のレスポンスが返された。