20160624 jaws-ug名古屋 第12回 api gateway 事始め
TRANSCRIPT
![Page 1: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/1.jpg)
API Gateway 事始め〜 触って覚えるAPI Gateway 〜
2016/06/24 JAWS-UG名古屋 AWS勉強会 第12回
![Page 2: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/2.jpg)
自己紹介青池 利昭
▷ 兵庫県尼崎市出身
▷ cloudpack 大阪で MSP開発 やってます
▷ お酒が大好きです!!
▷ facebook: aoike.toshiaki
facebookでC3(Can Convenience Club) やってます!
![Page 3: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/3.jpg)
アジェンダ
❏ API Gatewayの特徴
❏ API Gatewayの使い方(ハンズオン)
❏ API Gatewayのハマリどころ
![Page 4: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/4.jpg)
ー API Gatewayの特徴 ー
![Page 5: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/5.jpg)
API Gatewayの特徴
❏ API の作成、配布等をマネージドに管理
❏ APIのステージ、バージョン管理
❏ いろいろと出来るセキュリティ機能
❏ 既存のサービスのフロントエンドにもなる
❏ Lambdaを使えばEC2レスなサービスの作成が可能
etc…
![Page 6: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/6.jpg)
API Gatewayの特徴
何はなくともマネージド!!
![Page 7: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/7.jpg)
API Gatewayの特徴
ロジックに集中出来る
これが重要!!
![Page 8: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/8.jpg)
ー API Gatewayの使い方 ー
![Page 9: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/9.jpg)
API Gatewayの使い方
APIの作成
リソースとメソッドを設定
ステージにデプロイ(ここで初めて外部に公開可能となる)
1
2
3
![Page 10: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/10.jpg)
ー まずは説明 ー
![Page 11: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/11.jpg)
APIの用意
❏ New API(1から自分で作成)
❏ Clone from existing API(既存のAPIからクローンを作成)
❏ Import from Swagger(Swaggerの定義から生成)
❏ Example API(提供されているサンプルを使って作成)
etc…
![Page 12: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/12.jpg)
New API
❏ 自分で一から設定していく
❏ 特に難しいことはない
![Page 13: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/13.jpg)
Clone from existing API
❏ 既存のAPIの複製を作成 実はハマリどころ有り
![Page 14: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/14.jpg)
Import from Swagger
❏ Swagger Spec Fileを取り込んで作成
![Page 15: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/15.jpg)
What is Swagger ?
❏ RESTful APIの記述標準化を目指す規格
![Page 16: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/16.jpg)
RESTful ?❏ RESTの定義に従った REpresentational State Transfer
❏ リソースベースでURIをもってアクセス
❏ HTTPメソッドを利用したCRUD
etc…
![Page 17: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/17.jpg)
Web API❏ よくあるXMLやJSONで結果を返すたりしてくれるサービスなど
❏ RESTといえばだいたいこっちを指している事が多い
etc…
![Page 18: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/18.jpg)
Swaggerのメリット
❏ 仕様書のフォーマットの統一
❏ テキストベースで編集も可能
❏ コードと一緒にバージョン管理が可能
❏ 複製が作りやすい
❏ Swagger UIを利用してAPIの動作確認が出来る
etc…
![Page 19: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/19.jpg)
Example API
❏ サンプルから作成(このサンプルのJSONは編集できない)
![Page 20: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/20.jpg)
Example API
❏ このようにリソースとメソッドが自動で作成される
![Page 21: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/21.jpg)
メソッド
❏ 定義可能なメソッド
代表的なものは利用可能
DELETE PATCH
GET POST
HEAD PUT
OPTIONS
![Page 22: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/22.jpg)
機能
❏ 利用可能な機能
Lambda
HTTP Proxy
Mock
AWS Proxy
![Page 23: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/23.jpg)
ー ここからハンズオン ー
![Page 24: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/24.jpg)
1st Step
![Page 25: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/25.jpg)
1st Step
❏ New API を選択して API name に handson と入力して Create API を押下
![Page 26: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/26.jpg)
Resourceを準備
![Page 27: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/27.jpg)
GET Methodを追加
![Page 28: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/28.jpg)
Mock Integrationを指定して保存
![Page 29: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/29.jpg)
Integration Response を選択
![Page 30: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/30.jpg)
Integration Response を選択
![Page 31: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/31.jpg)
ダミーのレスポンスを返す設定を実施
![Page 32: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/32.jpg)
ここまで出来たら一旦テスト
![Page 33: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/33.jpg)
テストを実行するとMockに設定した値が取得出来る
![Page 34: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/34.jpg)
APIをデプロイ
![Page 35: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/35.jpg)
ステージを設定してデプロイ
![Page 36: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/36.jpg)
デプロイ完了
![Page 37: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/37.jpg)
ブラウザで確認
![Page 38: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/38.jpg)
Lambdaを作成
![Page 39: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/39.jpg)
Lambdaを作成
![Page 40: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/40.jpg)
Lambdaを作成
![Page 41: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/41.jpg)
Lambdaを作成(コードは https://goo.gl/DEKa2c からダウンロードできます)
![Page 42: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/42.jpg)
Lambdaを作成
![Page 43: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/43.jpg)
Lambdaを作成
![Page 44: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/44.jpg)
Lambdaを作成
![Page 45: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/45.jpg)
Lambdaを作成
![Page 46: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/46.jpg)
Lambdaを作成
![Page 47: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/47.jpg)
Mock→Lambdaに変更
![Page 48: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/48.jpg)
Mock→Lambdaに変更
![Page 49: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/49.jpg)
Mock→Lambdaに変更
![Page 50: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/50.jpg)
重要!!
![Page 51: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/51.jpg)
Mock→Lambdaに変更
![Page 52: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/52.jpg)
テスト
![Page 53: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/53.jpg)
APIをデプロイ
![Page 54: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/54.jpg)
ステージを設定してデプロイ
![Page 55: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/55.jpg)
デプロイ完了
![Page 56: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/56.jpg)
ブラウザで確認
❏ キャッシュが効いている場合は値がMockのままになるのでブラウザをスーパーリ
ロードするかセッションを分けてアクセスして下さい。
![Page 57: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/57.jpg)
ー API キーを設定 ー
![Page 58: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/58.jpg)
APIキーを作成
![Page 59: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/59.jpg)
APIキーを作成
![Page 60: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/60.jpg)
APIキーの利用設定
![Page 61: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/61.jpg)
APIキーの利用設定
![Page 62: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/62.jpg)
APIをデプロイ
![Page 63: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/63.jpg)
ステージを設定してデプロイ
![Page 64: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/64.jpg)
デプロイ完了
![Page 65: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/65.jpg)
ブラウザで確認
❏ キャッシュが効いている場合は値がMockのままになるのでブラウザをスーパーリ
ロードするかセッションを分けてアクセスして下さい。
![Page 66: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/66.jpg)
APIキーの確認
![Page 67: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/67.jpg)
APIキーをヘッダに指定してリクエストを送信
❏ リクエストヘッダに x-api-key を追加して API キーを指定すると期待している結果
を得ることができる。
![Page 68: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/68.jpg)
APIキーをヘッダに指定してリクエストを送信
![Page 69: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/69.jpg)
ー CORS (Cross-Origin Resource Sharing) 設定 ー
![Page 70: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/70.jpg)
CORSを有効にする
![Page 71: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/71.jpg)
CORSを有効にする
![Page 72: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/72.jpg)
CORSを有効にする
![Page 73: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/73.jpg)
CORSを有効にする
![Page 74: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/74.jpg)
APIをデプロイ
![Page 75: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/75.jpg)
ステージを設定してデプロイ
![Page 76: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/76.jpg)
デプロイ完了
![Page 77: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/77.jpg)
ー WAF ー
![Page 78: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/78.jpg)
ルールの新規作成
![Page 79: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/79.jpg)
ルールの新規作成
![Page 80: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/80.jpg)
ルールの設定(IP制限)
![Page 81: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/81.jpg)
ルールの設定(IP制限)
![Page 82: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/82.jpg)
ルールの完成
![Page 83: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/83.jpg)
ACLの作成
![Page 84: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/84.jpg)
デフォルトのまま
![Page 85: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/85.jpg)
先に作ったルールを割り当て
![Page 86: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/86.jpg)
ACLを作成
![Page 87: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/87.jpg)
これにてWAFの作成完了
![Page 88: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/88.jpg)
CloudFrontの作成
![Page 89: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/89.jpg)
CloudFrontの作成
![Page 90: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/90.jpg)
CloudFrontの作成
![Page 91: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/91.jpg)
CloudFrontの作成
![Page 92: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/92.jpg)
CloudFrontの作成
![Page 93: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/93.jpg)
CloudFrontの作成
![Page 94: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/94.jpg)
CloudFrontの作成
![Page 95: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/95.jpg)
アクセスしてみる
![Page 96: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/96.jpg)
アクセスしてみる(未許容のIP)
![Page 97: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/97.jpg)
ー API Gatewayのハマリどころ ー
![Page 98: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/98.jpg)
API Gatewayのハマリどころ
❏ APIをクローンしたまま使うとLambdaのアクセス権限が付与されておらずぱっと見
問題無い設定に見えるが動かない
❏ Lambda呼び出しの際に「Invoke with caller credentials」を指定するとリクエスト時
のIAM指定してLambdaを実行出来るが、このIAMにLambdaの実行権限がないと
Lambdaが発火しない
❏ Lambda(Python2.7)をバックエンドにするとRequestデータがJSON形式でないと
発火しない
❏ API Gateway UIの使いにくさ(設定変更時に レ を押さないと反映されない)
etc…
etc…
![Page 99: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/99.jpg)
ー 参考 ー
![Page 100: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/100.jpg)
参考
❏ IP制限できないの?
→ CloudFront(WAF)+ APIキー認証で絞りましょう
→ マッピングテンプレートを使ってSourceIpを取得しコードでブロック
❏ HTTPでアクセスしたい
→ CloudFrontでHTTPからHTTPSにリダイレクトしましょう
❏ 後ろがLambda(Python 2.7)の場合にJson形式以外の値を処理したい
→ マッピングテンプレートを使ってJson形式に変更しちゃいましょう
![Page 101: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/101.jpg)
AWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
❏ http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-
2015-amazon-api-gateway
![Page 102: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/102.jpg)
最後に
![Page 103: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/103.jpg)
cloudpack wants you !!
開発・インフラ・デザイナーを募集しています
https://cloudpack.jp/recruit/
![Page 104: 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め](https://reader031.vdocuments.site/reader031/viewer/2022030310/58f031361a28abc12e8b45bf/html5/thumbnails/104.jpg)
ご清聴ありがとうございました