api-gateway-configuration について
マイクロサービス構成向けの API ゲートウェイ設計・設定ガイドです。ゲートウェイの役割を整理し、Kong、Nginx、AWS API Gateway の設定例を示します。
主な機能
- 01リクエストルーティングと負荷分散
- 02認証と認可
- 03レート制限とスロットリング
- 04リクエストとレスポンスの変換
- 05ログ記録とモニタリング
- 06SSL 終端
活用シーン
- 01マイクロサービス用 API ゲートウェイの設計
- 02サービスルートと負荷分散の設定
- 03ゲートウェイでの認証とレート制限
- 04HTTPS、ログ、ヘルスチェックの設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ secondsky/ claude-skills --skill api-gateway-configurationインストール後、Claude Code で/api-gateway-configurationを入力して読み込まれたか確認します。
詳細
API ゲートウェイの構成
マイクロサービスアーキテクチャ向けに API ゲートウェイを設計、構成します。
ゲートウェイの役割
- リクエストのルーティングと負荷分散
- 認証と認可
- レート制限とスロットリング
- リクエスト/レスポンスの変換
- ログ記録とモニタリング
- SSL 終端
Kong の構成(YAML)
_format_version: "3.0"
services:
- name: user-service
url: http://user-service:3000
routes:
- name: user-routes
paths: ["/api/users"]
plugins:
- name: rate-limiting
config:
minute: 100
policy: local
- name: jwt
- name: order-service
url: http://order-service:3000
routes:
- name: order-routes
paths: ["/api/orders"]
Nginx の構成
upstream backend {
server backend1:3000 weight=5;
server backend2:3000 weight=5;
keepalive 32;
}
server {
listen 443 ssl;
location /api/ {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache_valid 200 1m;
}
location /health {
return 200 'OK';
}
}
AWS API Gateway(SAM)
Resources:
ApiGateway:
Type: AWS::Serverless::Api
Properties:
StageName: prod
Auth:
DefaultAuthorizer: JWTAuthorizer
Authorizers:
JWTAuthorizer:
JwtConfiguration:
issuer: !Sub "https://cognito-idp.${AWS::Region}.amazonaws.com/${UserPoolId}"
ベストプラクティス
- ゲートウェイレベルで認証する
- グローバルなレート制限を実装する
- リクエストのログ記録を有効にする
- バックエンドにヘルスチェックを使用する
- 戦略的にレスポンスキャッシュを適用する
- エラーでバックエンドの詳細を決して公開しない
- 本番環境では HTTPS を強制する
コメント
Markdown 対応