LoginSignup
2
4

More than 5 years have passed since last update.

AWS APIGatewayを設定する

Last updated at Posted at 2018-10-03

AWS APIGatewayを設定する方法について記載
(単純にアクセスするとLambda経由でJSONを返すものになります。)

1.APIの作成

AWSコンソールのサービスから「API」を開いて「APIの作成」ボタンをクリック

API名を記載して「APIの作成」をクリック
(エンドポイントはとりあえず「リージョン」を設定)

2.リソースの作成

作成したAPIを開いて、アクションから「リソースの作成」をクリック

リソース名を指定(エンドポイントURLの最後に/でつけられる名前になります。)して「リソースを作成」をクリック

3.メソッドの作成

リソースのアクション > メソッドを作成 をクリック

タブからGETを選択、右のチェックをクリック

統合タイプで「Lambda関数」を選択、
LambdaリージョンでLambda関数を作成しているリージョンを選択、
作成したLambda関数名を指定、「保存」をクリック
(Lambda関数は何かJSONを返すものを作成しておく。)

Lambda関数に権限を付与する画面が出るので「OK」をクリック

APIの一連の流れができるので、「テスト」をクリック
メソッドテストが開くので「テスト」クリックする。
想定しているJSONファイルが帰って来ればテストは成功

4.ステージへデプロイ

左メニュー > リソース > アクション > APIのデプロイを選択

デプロイされるステージに「新しいステージを」選択、ステージ名を入力して「デプロイ」をクリック
(初回に左メニュー > ステージから作成することができないっぽい?)

左メニュー > ステージ を選択すると、作成したリソースが表示されている、GETをクリックするとエンドポイント(URL)が確認できる。
クリックしてJSONがかえって来れば正常。

4.API Keyの追加

このままだとアクセスし放題なのでAPI Keyを追加する。

左メニュー > APIキー   > アクション から「APIキーの作成」をクリック

名前を指定して、自動生成のままで、「保存」をクリック

APIキーが作成される、作成したキーをクリックすると、
情報が表示される。APIキーを確認するには中央「APIキー」横の「表示」をクリックする。

左メニュー > 使用量プラン >  「作成」ボタンをクリック

使用量プラン名を指定、スロットリングはアクセス数の制限を行うための数値を指定、「次へ」をクリック。(バースト5000とか、各自の状況に合わせてください)

「APIステージの追加」をクリックして、作成したAPI名、ステージ名を設定、
「次へ」をクリック

「APIキーを使用量プランに追加」をクリック、先ほど作成したAPIキー名を指定、横のチェックマークをクリック。

これで、APIキーが設定できたので、API側のAPIキーの設定を変更します。

左メニュー > API > から作成したAPIを選択

GETをクリックするとAPIのフローがヒュオジされるので、「メソッドリクエスト」をクリック

「API キーの必要性」をtrueに変更、横のチェックをクリック

アクションから「APIのデプロイ」をクリック、先ほど作ったステージにデプロイ

これで、APIキーを付与しないとアクセスできなくなります。

APIキー付きでアクセスできるか確認する際は、ターミナルから以下のように--headerにx-api-keyを付与して行なってください。

curl https://xxxxxxx.execute-api.ap-northeast-1.amazonaws.com/prod/ --header 'x-api-key:APIキー'

以上

参考

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4