1日1%成長する ~AWS API gateway~
AWSの学習メモ
- AWSのblackbaltの動画を15分以上毎日見る
- 動画を簡単にまとめる
AWS API gateway REST API リソースとメソッド 「/」を最上位としたツリー構造にて「リソース」を定義 各リソースに受け付けるHTTPメソッドを指定(パスパラメータの利用も可能) リソース:/ リソース:/pets GET リソース:/{petId} GET、PUT、POST、HEAD リソース:/echo ANY WebSocket API Websocket URL:wss:// Callback URL:https:// 事前定義:$connect、$disconnect、$default メッセージデータ { "action": "join" } -> $request.body.action -> action:joinへ その他の主要機能 APIの認証認可 AWS署名v4 AWS SDKでAPIクライアントSDkを利用 -> 認証したプリンシパルのIAMポリシー上、 このAPI呼び出しを行う権限が認可 Lambdaオーソライザー Bearerトークン or パラメータ付リクエスト -> Lambda認証関数がポリシー&プリンシパルIDを返却 Cognitoオーソライザー ユーザプールで認証を行う取得したトークンをHTTPヘッダーに指定 -> トークン検証 統合タイプ Lambda関数 HTTP public ipがあればAWSもしくはオンプレでもOK Mock 固定の値を応答 AWSサービス VPCリンク NLBを参照する「VPCリンク」を登録しそれを経由してVPC内リソースへアクセス リクエスト/レスポンス変換 - VTL(Velocity Template Language)とJSONPathや予約変数($input等)を利用し記述 - リクエストやレスポンスのデータを別の形式に変換することが可能 APIキーと使用量プラン APIのメータリングとスロットリングを実現 しきい値を超えるとHTTPステータスコード429(too many request) APIキーを「認証」目的にりようしないこと -> 計測のための識別用途のためのものだから