API Gatewayを作成する

作成したLambdaをAPIとして提供できるようにAPI Gatewayの作成方法をご説明します。

※こちらで紹介する設定値はあくまでも参考となります。
必要に応じてパラメータは変更をご検討ください。

事前準備

以下事項が完了していることを確認してください。

1. API Gateway作成

1-1. マネジメントコンソールへのログイン

①AWSマネジメントコンソールへのログインページにアクセスします。

②アカウントID、ユーザー名、パスワードを入力してAWSマネジメントコンソールへログインします。

1-2. API Gatewayコンソールへの遷移

①上部の検索バーに「APIGateway」と入力して、検索結果に表示される「API Gateway」をクリックします。

1-3. API Gatewayの作成

①APIタイプを選択画面でREST APIの「構築」をクリックします。


②「新しいAPI」にチェックを入れ、適当なAPI名を入力後、「APIの作成」をクリックします。

1-4. API設定

①アクションから「リソースの作成」をクリックします。


②適当なリソース名を入力し「リソースの作成」をクリックします。


③アクションから「メソッドの作成」をクリックします。


④表示されたセレクトメニューから「POST」をクリックします。
※他のHTTPメソッドを利用したい場合はそちらを選択下さい。
※詳しいHTTPメソッドの内容はこちらをご参照ください。


⑤Lambdaプロキシ統合にチェックを入れ、Lambdaリージョンは「ap-northeast-1」を選択します。
Lambda関数にAPIとして実行したいLambda関数名を入力し、「保存」をクリックします。


⑥「OK」をクリックします。


⑦アクションから「APIのデプロイ」をクリックします。


⑧デプロイされるステージに「新しいステージ」をクリックします。


⑨適当なステージ名を入力し「デプロイ」をクリックします。


⑩これでデプロイ完了です。API呼び出しするURLが自動的に作成されます。
ただ、このまま呼び出してもLambda側がAPI呼び出しに対応できていないので、修正を加えます。

2. Lambda修正

2-1. Lambdaコンソールへの遷移

①上部の検索バーに「Lambda」と入力して、検索結果に表示される「Lambda」をクリックします。

2-2. API化対応

①APIで呼び出すLambda関数をクリックします。

②APIからの呼び出しに対応できるようにソースコードを修正し、上部の「Deploy」をクリックします。
【修正前】

【修正後】

3. API実行

3-1. 実行テスト

①実際にAPI利用者として、APIにリクエストを送りLambdaを実行します。
LambdaのAPI化にて、POSTリクエストのidで渡したインスタンスIDをもとにEC2の情報を参照し返答するようにしています。
以下のコマンドでAPIにリクエストを投げることができます。
$ curl -X POST https://[1-3. API Gatewayの作成⑩のURL] -d "{\"id\":\"検索したいインスタンスID\"}"
※AWSアカウント情報などが入っているのでマスクしています。

②返ってきたレスポンスが読みづらい場合は、JSON整形ツールで整形することが可能ですのでご利用ください。