FAQ
このページでは、システムの全体像や運用上のよくある質問についてまとめます。
Q1. システム全体の接続構成はどうなっていますか?
A. 以下のような構成になっています。
- フロントエンド: Next.js アプリケーション
- 認証: Amazon Cognito User Pool
- API: Amazon API Gateway (HTTP API) + AWS Lambda (Rust)
- データベース: Amazon Aurora DSQL
認証・認可のフロー
- ユーザーがフロントエンドから Cognito にログインし、ID トークンを取得します。
- フロントエンドは API リクエストの
Authorizationヘッダーに ID トークンを付与します。 - API Gateway の JWT Authorizer がトークンを検証します。
- Lambda がトークン内の
subをcognito_idとして使用し、DB からそのユーザーのデータのみを抽出します。
Q2. API のドキュメント(OpenAPI)はどこで見られますか?
A. 以下の URL から、各種ツールで確認できます。
- Cloudflare Pages:
https://inq-sys-20260602.pages.dev/- この Wiki ページから RapiDoc, Scalar, SwaggerUI 等へのリンクがあります。
OpenAPI の定義ファイル本体 (openapi.yaml) は、GitHub の各リリースページにも添付されています。
Q3. 開発環境と本番環境の違いは何ですか?
A. 主な違いは以下の通りです。
| 項目 | 開発環境 (develop) | 本番環境 (release) |
|---|---|---|
| AWS リージョン | 大阪 (ap-northeast-3) | 東京 (ap-northeast-1) & 大阪 |
| ルーティング | Latency-based (1点) | Latency-based (複数点) |
| ドメイン | develop-api-... |
release-api-... |
| GitHub ブランチ | develop |
release |
Q4. データベースのスキーマを変更するにはどうすればよいですか?
A. 以下の手順で行います。
inquiry-api/liquibase_migrate/changes/配下に新しい SQL ファイルを追加します。inquiry-api/liquibase_migrate/changelog.xmlにそのファイルを追加します。- GitHub にプッシュすると、
inquiry_db_migrate.yamlワークフローが起動し、DSQL に反映されます。 - 反映後、ワークフローが SeaORM エンティティを自動更新してプルリクエストを作成します。
Q5. Wiki を更新しても公開サイトに反映されません。
A. Wiki (Honkit) のデプロイは、現在のところ inquiry_document_cicd.yaml を 手動実行 (workflow_dispatch) することで反映されます。
docs/** のプッシュによる自動反映は、GitHub Actions の実行コストと頻度を考慮して現在は設定されていません。