この記事は何?
- API Gatewayのメソッド(Method)で、メソッドリクエスト(Method Request)で設定する項目と、使用量プランについて調べた結果のまとめです
- メソッドリクエストだけでも内容がいっぱい詰まっているので、その中の
APIキー
部分を書いています
APIキー
は使用量プラン
と関連づいているので、使用量プランについても書いています
APIキーと使用量プランとは?
- API キーを使用する使用量プランの作成と使用
- APIキーはユーザ認証に使う物では無い
- 使用量プランと合わせて、APIキーごとのリクエストの制限を行う
- このキーはこの制限まで、こっちのキーはこの制限まで、みたいな使い方
- 使用量プランとは
- APIキー毎に「1秒あたりのリクエスト数はこれだけ」「一定期間内のリクエスト数はこれだけ」などを設定する
- たとえば、Aプランはここまで使えて、Bプランはここまで使える、みたいなパターンが作れる
作成
- 左ペインの
APIキー
から[アクション]-[APIキーの作成]で作成できる
名前
と説明
を入力する
自動生成
とカスタム
(自分で入力)を選ぶ
- これで生成完了する
APIキー 表示
でキーの文字列が表示できる
編集
名前
と説明
を入力する
- APIキーの
有効/無効
を切り替えできる
プランに関連付ける
使用量プラン
- 使用量プランおよび API キーとは
名前
と説明
を入力する
- APIキーに対しての
スロットリング
とクォータ制限
を定義する
- スロットリング制限: キーごとの、1秒あたりのリクエストの最大数
- レートとバーストについては以下の説明がわかりやすかった
- クォータ制限: ある期間に実行できるリクエストの数
- APIキーが無効またはリクエスト制限に引っかかる場合は
InvalidKeyParameter
がthrowされて、403 Forbidden
が返される
- 使用量プランを、どのAPI/ステージに紐付けるかを入力する
- 右側の「レ」をチェックすると入力内容が一時反映され、スロットリングの設定ができる
- メソッド単位でのレートが設定できるっぽい
- APIキーを紐付ける
- ここでAPIキーを生成することも可能
生成したAPIキーを実際使ってみる
- メソッドリクエストの
APIキーの必要性
をtrueにする
- ステージにデプロイする
- APIキー無しでアクセスしてみる
$ curl https://xxxxxxxx.execute-api.us-east-1.amazonaws.com/dev/postlambda
{"message":"Forbidden"}
$ curl https://xxxxxxxx.execute-api.us-east-1.amazonaws.com/dev/postlambda --header 'x-api-key:xxxxxxxxyyyyyyyyzzzzzzzzaaaaaaaabbbbbbbb'
{"statusCode":200,"body":"\"Hello Elastic!\""}
次回
前回までの記事