Memo

メモ > サーバ > サービス: AWS > API Gateway

API Gateway
※APIを作成できる。 ※Lambda関数を実行したり、EC2へアクセスしたりなど、自由に定義できる。 Amazon API Gateway は何をしてるのか | DevelopersIO https://dev.classmethod.jp/articles/what-does-amazon-api-gateway-do/ Amazon API Gatewayとは?基本をわかりやすく解説 | コラム | クラウドソリューション|サービス|法人のお客さま|NTT東日本 https://business.ntt-east.co.jp/content/cloudsolution/column-486.html APIのURLルールは以下のようになる。独自ドメインを割り当てることもできる https://アプリID.execute-api.リージョン.amazonaws.com/ステージ/リソース アプリID ... svai50xfmb など、ランダムな文字列が割り当てられる リージョン ... ap-northeast-1 などのリージョン名 ステージ ... prod, stg, dev, 2, 2.0.1 など。好きなようにいくつでも作成できる 「開発環境用」「本番環境用」など用途に合わせて作成してもいいし、 本番環境でのバージョン管理として 2.0.1 や prod_2.0.1 などバージョンごとにAPIを作成してもいい API Gateway API のホスト名としてカスタムドメイン名を使用する http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/how-to-custom-domains.html API Gateway → 今すぐ始める ■APIの作成 「APIの作成」ボタンを押す。 新しいAPIの作成: 新しいAPI API名: my-api-sample 「APIの作成」ボタンを押すと、メソッドの無いAPIが作成される。 ■メソッドの作成 「アクション」から「メソッドの作成」を選択する。 表示されたセレクトボックスから「GET」を選択し、チェックマークをクリックして決定する。 続いてレスポンスを決定する。 「統合タイプ」で「Mock」を選択し、「保存」をクリックする。 「統合レスポンス」をクリックする。 表の中にある、右向きの三角をクリックする。 「本文マッピングテンプレート」をクリックし、「application/json」をクリックする。 エディタ部分に以下を入力し、下にある「保存」をクリックし、さらに上にある青ボタンの「保存」をクリックする。
{ "message": "foo" }
「←メソッドの実行」をクリックしてメソッドの画面に戻り、 「クライアント」にある「テスト」をクリックし、 さらに「メソッドテスト」画面にある「テスト」をクリックする。 結果として「レスポンス本文」に、上で設定したJSONが表示されていることを確認する。 ■デプロイ 画面左上にある「アクション」から「APIのデプロイ」を選択する。 表示されたダイアログで「デプロイされるステージ」で「新しいステージ」を選択し、 「ステージ名」に「test」と入力して「デプロイ」ボタンを押す。 https://svai50xfmb.execute-api.ap-northeast-1.amazonaws.com/test のようなURLが発行されるので、クリックしてJSONが表示されればOK。 ■HTTPのメソッドを作成 APIとして「my-api-sample」を作成し、メソッドとして「GET」を作成する。 「統合タイプ」で「HTTP」を選択し、「エンドポイントURL」に実在するURLを入力して「保存」をクリックする。 メソッドの実行画面で「テスト」を実行して、設定したURLからのレスポングが表示されていることを確認する。 ■さらに別のメソッドを作成 「アクション」から「リソースの作成」を選択する。 「リソース名」に「sample」と入力する。自動的に「リソースパス」が「/sample」になる。 「リソースの作成」をクリックする。 以降は先と同様の手順で「test2」というステージ名でデプロイする。 https://eqpif1vx08.execute-api.ap-northeast-1.amazonaws.com/test2 https://eqpif1vx08.execute-api.ap-northeast-1.amazonaws.com/test2/sample ステージ名やURL設計をどうすべきかは要勉強 ■Lambda関数のメソッドを作成 「統合タイプ」で「Lambda関数」を選択し、 「Lambdaリージョン」で「ap-northeast-1」を選択し、 「Lambda関数」で「hello-world」を入力する。(既存の関数。) 「Lambda関数に権限を追加する」ダイアログが表示されるので、「OK」をクリックする。 Lambda関数に引数を渡す方法は要勉強。 ■キャッシュ APIを選択 → ステージ → ステージを選択 → 設定 → APIキャッシュを有効化 でキャッシュを利用できるみたい。要検証。

Advertisement