Submit Search
20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
3 likes
1,151 views
T
Toshiaki Aoike
2016/06/24 JAWS-UG名古屋 第12回 登壇資料
Internet
Read more
1 of 104
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
More Related Content
PPTX
10分でわかるOpenAPI V3
Kazuchika Sekiya
PPTX
React meetup 3_eight
Hideharu Okuma
PDF
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
PDF
A 1-2 One ASP.NET - ASP.NET Web Stack
GoAzure
PDF
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
Yusuke Murata
PDF
スマホアプリ開発者のためのWeb api開発入門の入門
Kenyu Miura
PDF
JAWSUG初心者支部 AWSの勉強の仕方
Takuro Sasaki
PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
10分でわかるOpenAPI V3
Kazuchika Sekiya
React meetup 3_eight
Hideharu Okuma
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
A 1-2 One ASP.NET - ASP.NET Web Stack
GoAzure
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
Yusuke Murata
スマホアプリ開発者のためのWeb api開発入門の入門
Kenyu Miura
JAWSUG初心者支部 AWSの勉強の仕方
Takuro Sasaki
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
What's hot
(20)
PDF
ReactNativeを語る勉強会
yohei sugigami
PDF
ドローンの安全運転をささえるLambda
真吾 吉田
PDF
軽量ASP.NETフレームワークNancy
Narami Kiyokura
PDF
スキスキIonic
Kon Yuichi
PDF
2016/05/01 Visual Studio with Cordova
miso- soup3
PPTX
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
PPTX
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
kazuki matsumura
PDF
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
PDF
Svgアニメーションを実装してみよう 20150207
Kanako Kobayashi
PPTX
社内LTネタ ReactNative
Oguri Toru
PPTX
Editorlt
Masaki Suzuki
PDF
Realm,rx swift,repro を使ってみて
Daisuke Nagata
PDF
DevLove Kansai AWS
Takuro Sasaki
PDF
軽量フレームワークNancy
Narami Kiyokura
PDF
Directiveで実現できたこと
Kon Yuichi
PDF
React Native 入門
Seiichi Okumiya
PPTX
kintoneの大規模フロントエンド開発とツール
Yasuharu Sakai
PPTX
AWS Lambdaのテストで役立つ各種ツール
Masaki Suzuki
PDF
grpc-gateway を試してみた fukuoka.go#11
Yutaka Tachibana
PPTX
React NativeでTwitterクライアントを作ってみよう
dcubeio
ReactNativeを語る勉強会
yohei sugigami
ドローンの安全運転をささえるLambda
真吾 吉田
軽量ASP.NETフレームワークNancy
Narami Kiyokura
スキスキIonic
Kon Yuichi
2016/05/01 Visual Studio with Cordova
miso- soup3
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
kazuki matsumura
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
Svgアニメーションを実装してみよう 20150207
Kanako Kobayashi
社内LTネタ ReactNative
Oguri Toru
Editorlt
Masaki Suzuki
Realm,rx swift,repro を使ってみて
Daisuke Nagata
DevLove Kansai AWS
Takuro Sasaki
軽量フレームワークNancy
Narami Kiyokura
Directiveで実現できたこと
Kon Yuichi
React Native 入門
Seiichi Okumiya
kintoneの大規模フロントエンド開発とツール
Yasuharu Sakai
AWS Lambdaのテストで役立つ各種ツール
Masaki Suzuki
grpc-gateway を試してみた fukuoka.go#11
Yutaka Tachibana
React NativeでTwitterクライアントを作ってみよう
dcubeio
Ad
Similar to 20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
(20)
PDF
Jawsug chiba API Gateway
Takuro Sasaki
PDF
Serverless for VUI
真吾 吉田
PPTX
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DeNA
PPTX
EC-CUBE API プラグイン勉強会
Kentaro Ohkouchi
PPTX
Fun tech14-alibaba cloud api gateway-swagger
AnzaiKumiko
PDF
AWSによるサーバーレスアーキテクチャ
真吾 吉田
PPTX
Web API を気軽に使えるツールやサービスのご紹介
CData Software Japan
PPTX
アウトプットはスキルアップもするしトクもする
Mitsuhiro Yamashita
PDF
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
PDF
仮想通貨取引所 bitbank の IaC の導入と実践
bitbank, Inc. Tokyo, Japan
PDF
"Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ :kong 製品整理、優位性
Junji Nishihara
PPTX
Swagger jjug ccc 2018 spring
kounan13
PPTX
APIモック3分クッキング
政雄 金森
PDF
サーバーレスの今とこれから
真吾 吉田
PDF
AWSで開発するサーバレスAPIバックエンド
暁 三宅
PDF
Talk: serverless-express
HiroyukiTakakura
PDF
Whats ACI API?
Takao Setaka
PDF
Going Serverless, Building Applications with No Servers
Keisuke Nishitani
PPTX
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
PDF
Azureをフル活用したサーバーレスの潮流について
真吾 吉田
Jawsug chiba API Gateway
Takuro Sasaki
Serverless for VUI
真吾 吉田
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DeNA
EC-CUBE API プラグイン勉強会
Kentaro Ohkouchi
Fun tech14-alibaba cloud api gateway-swagger
AnzaiKumiko
AWSによるサーバーレスアーキテクチャ
真吾 吉田
Web API を気軽に使えるツールやサービスのご紹介
CData Software Japan
アウトプットはスキルアップもするしトクもする
Mitsuhiro Yamashita
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
Kazuya Sugimoto
仮想通貨取引所 bitbank の IaC の導入と実践
bitbank, Inc. Tokyo, Japan
"Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ :kong 製品整理、優位性
Junji Nishihara
Swagger jjug ccc 2018 spring
kounan13
APIモック3分クッキング
政雄 金森
サーバーレスの今とこれから
真吾 吉田
AWSで開発するサーバレスAPIバックエンド
暁 三宅
Talk: serverless-express
HiroyukiTakakura
Whats ACI API?
Takao Setaka
Going Serverless, Building Applications with No Servers
Keisuke Nishitani
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
Azureをフル活用したサーバーレスの潮流について
真吾 吉田
Ad
20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
1.
API Gateway 事始め 〜
触って覚えるAPI Gateway 〜 2016/06/24 JAWS-UG名古屋 AWS勉強会 第12回
2.
自己紹介 青池 利昭 ▷ 兵庫県尼崎市出身 ▷ cloudpack
大阪で MSP開発 やってます ▷ お酒が大好きです!! ▷ facebook: aoike.toshiaki facebookでC3(Can Convenience Club) やってます!
3.
アジェンダ ❏ API Gatewayの特徴 ❏
API Gatewayの使い方(ハンズオン) ❏ API Gatewayのハマリどころ
4.
ー API Gatewayの特徴
ー
5.
API Gatewayの特徴 ❏ API
の作成、配布等をマネージドに管理 ❏ APIのステージ、バージョン管理 ❏ いろいろと出来るセキュリティ機能 ❏ 既存のサービスのフロントエンドにもなる ❏ Lambdaを使えばEC2レスなサービスの作成が可能 etc…
6.
API Gatewayの特徴 何はなくともマネージド!!
7.
API Gatewayの特徴 ロジックに集中出来る これが重要!!
8.
ー API Gatewayの使い方
ー
9.
API Gatewayの使い方 APIの作成 リソースとメソッドを設定 ステージにデプロイ(ここで初めて外部に公開可能となる) 1 2 3
10.
ー まずは説明 ー
11.
APIの用意 ❏ New API(1から自分で作成) ❏
Clone from existing API(既存のAPIからクローンを作成) ❏ Import from Swagger(Swaggerの定義から生成) ❏ Example API(提供されているサンプルを使って作成) etc…
12.
New API ❏ 自分で一から設定していく ❏
特に難しいことはない
13.
Clone from existing
API ❏ 既存のAPIの複製を作成 実はハマリどころ有り
14.
Import from Swagger ❏
Swagger Spec Fileを取り込んで作成
15.
What is Swagger
? ❏ RESTful APIの記述標準化を目指す規格
16.
RESTful ? ❏ RESTの定義に従った
REpresentational State Transfer ❏ リソースベースでURIをもってアクセス ❏ HTTPメソッドを利用したCRUD etc…
17.
Web API ❏ よくあるXMLやJSONで結果を返すたりしてくれるサービスなど ❏
RESTといえばだいたいこっちを指している事が多い etc…
18.
Swaggerのメリット ❏ 仕様書のフォーマットの統一 ❏ テキストベースで編集も可能 ❏
コードと一緒にバージョン管理が可能 ❏ 複製が作りやすい ❏ Swagger UIを利用してAPIの動作確認が出来る etc…
19.
Example API ❏ サンプルから作成(このサンプルのJSONは編集できない)
20.
Example API ❏ このようにリソースとメソッドが自動で作成される
21.
メソッド ❏ 定義可能なメソッド 代表的なものは利用可能 DELETE PATCH GET
POST HEAD PUT OPTIONS
22.
機能 ❏ 利用可能な機能 Lambda HTTP Proxy Mock AWS
Proxy
23.
ー ここからハンズオン ー
24.
1st Step
25.
1st Step ❏ New
API を選択して API name に handson と入力して Create API を押下
26.
Resourceを準備
27.
GET Methodを追加
28.
Mock Integrationを指定して保存
29.
Integration Response を選択
30.
Integration Response を選択
31.
ダミーのレスポンスを返す設定を実施
32.
ここまで出来たら一旦テスト
33.
テストを実行するとMockに設定した値が取得出来る
34.
APIをデプロイ
35.
ステージを設定してデプロイ
36.
デプロイ完了
37.
ブラウザで確認
38.
Lambdaを作成
39.
Lambdaを作成
40.
Lambdaを作成
41.
Lambdaを作成(コードは https://goo.gl/DEKa2c からダウンロードできます)
42.
Lambdaを作成
43.
Lambdaを作成
44.
Lambdaを作成
45.
Lambdaを作成
46.
Lambdaを作成
47.
Mock→Lambdaに変更
48.
Mock→Lambdaに変更
49.
Mock→Lambdaに変更
50.
重要!!
51.
Mock→Lambdaに変更
52.
テスト
53.
APIをデプロイ
54.
ステージを設定してデプロイ
55.
デプロイ完了
56.
ブラウザで確認 ❏ キャッシュが効いている場合は値がMockのままになるのでブラウザをスーパーリ ロードするかセッションを分けてアクセスして下さい。
57.
ー API キーを設定
ー
58.
APIキーを作成
59.
APIキーを作成
60.
APIキーの利用設定
61.
APIキーの利用設定
62.
APIをデプロイ
63.
ステージを設定してデプロイ
64.
デプロイ完了
65.
ブラウザで確認 ❏ キャッシュが効いている場合は値がMockのままになるのでブラウザをスーパーリ ロードするかセッションを分けてアクセスして下さい。
66.
APIキーの確認
67.
APIキーをヘッダに指定してリクエストを送信 ❏ リクエストヘッダに x-api-key
を追加して API キーを指定すると期待している結果 を得ることができる。
68.
APIキーをヘッダに指定してリクエストを送信
69.
ー CORS (Cross-Origin
Resource Sharing) 設定 ー
70.
CORSを有効にする
71.
CORSを有効にする
72.
CORSを有効にする
73.
CORSを有効にする
74.
APIをデプロイ
75.
ステージを設定してデプロイ
76.
デプロイ完了
77.
ー WAF ー
78.
ルールの新規作成
79.
ルールの新規作成
80.
ルールの設定(IP制限)
81.
ルールの設定(IP制限)
82.
ルールの完成
83.
ACLの作成
84.
デフォルトのまま
85.
先に作ったルールを割り当て
86.
ACLを作成
87.
これにてWAFの作成完了
88.
CloudFrontの作成
89.
CloudFrontの作成
90.
CloudFrontの作成
91.
CloudFrontの作成
92.
CloudFrontの作成
93.
CloudFrontの作成
94.
CloudFrontの作成
95.
アクセスしてみる
96.
アクセスしてみる(未許容のIP)
97.
ー API Gatewayのハマリどころ
ー
98.
API Gatewayのハマリどころ ❏ APIをクローンしたまま使うとLambdaのアクセス権限が付与されておらずぱっと見 問題無い設定に見えるが動かない ❏
Lambda呼び出しの際に「Invoke with caller credentials」を指定するとリクエスト時 のIAM指定してLambdaを実行出来るが、このIAMにLambdaの実行権限がないと Lambdaが発火しない ❏ Lambda(Python2.7)をバックエンドにするとRequestデータがJSON形式でないと 発火しない ❏ API Gateway UIの使いにくさ(設定変更時に レ を押さないと反映されない) etc…
99.
ー 参考 ー
100.
参考 ❏ IP制限できないの? → CloudFront(WAF)+
APIキー認証で絞りましょう → マッピングテンプレートを使ってSourceIpを取得しコードでブロック ❏ HTTPでアクセスしたい → CloudFrontでHTTPからHTTPSにリダイレクトしましょう ❏ 後ろがLambda(Python 2.7)の場合にJson形式以外の値を処理したい → マッピングテンプレートを使ってJson形式に変更しちゃいましょう
101.
AWS Black Belt
Tech シリーズ 2015 - Amazon API Gateway ❏ http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech- 2015-amazon-api-gateway
102.
最後に
103.
cloudpack wants you
!! 開発・インフラ・デザイナーを募集しています https://cloudpack.jp/recruit/
104.
ご清聴ありがとうございました
Download