Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
© 2017 IBM Corporation2
IBM Bluemixwww.bluemix.net
ご注意
この資料は日本アイ・ビー・エム株式会社および日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりません。
資料の内容には正確を期するよう注意しておりますが、この資料の内容は2017年6月現在の情報であり、製品の新しいリリース、修正などによって動作/仕様が変わる可能性があります。
当資料は、資料内で説明されている製品の仕様を保証するものではありません。従って、この情報の利⽤またはこれらの技法の実施はひとえに使⽤者の責任において為されるものであり、資料の内容によって受けたいかなる被害に関しても⼀切の補償をするものではありません。
また、IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについてはhttp://www.ibm.com/legal/copytrade.shtmlをご覧ください。
© 2017 IBM Corporation3
IBM Bluemixwww.bluemix.net
Agenda
API 管理とは
Bluemix での提供形態
Native API 管理
API Connect サービス
利⽤方法
運⽤
価格体系
サンプル構成
事例
© 2017 IBM Corporation4
IBM Bluemixwww.bluemix.net
Bluemix 概観
Bluemix PaaS
Bluemix Infrastructure
サービス
アプリプラットフォーム(WAS, Node, …)
セキュリティ
DevO
ps
API管理 Watson IoT Analyticsブロック
チェーン
運⽤管理
…
インターネット
気象ビデオ配信
電話
モバイル通知
メール一斉配信
健康/運動
電子マネー決済
Cloud Foundry コンテナ
Bluemixとは・・・多様なニーズに応えるIBMのクラウド・ソリューション・プラットフォーム
サーバーレス
Cloud Functions
お客様開発のアプリケーションとサービス
オンプレミス
既存IT資産
UNIX系分散Sys
メインフレーム
オフコンお客様ご提供IaaS
© 2017 IBM Corporation6
IBM Bluemixwww.bluemix.net
昔のAPI VS. 今のAPI
Application Programming Interface(API)とは?
プログラマが何らかの機能を実行できるように公開された関数
何かをインプットして、処理して、目的のアウトプットが得られる
アプリケーションA
アプリケーションB
API
コール 結果
アプリケーションA
アプリケーションX
サービス
コール
結果
API
企業内のアプリケーション同士がAPI をコールしてアプリケーションの一部機能を利用
パッケージ製品が機能呼び出しのための独自仕様のAPIを提供
外部のアプリケーションが別の企業のWeb API をコールしてそのサービスを利用
社外から利用しやすいまとまり(単位)でAPI を作る
Gateway
異業種
別企業
昔のAPI 今日のAPI企業を超えてつながる!業界の境界をも越える!
サービスサービスa
d
g h
e
b c
f
i
a
d
g h
e
b c
f
i
Internet
© 2017 IBM Corporation7
IBM Bluemixwww.bluemix.net
API公開のドライバー ビジネス観点
企業の持つデータやサービス
APIとしてWebに公開する
外部の開発者が公開APIを使い
新たなアプリを考案
複数企業のサービスが連携された新しいアプリが誕生!
企業 A
企業 B
アプリの利用により間接的に送客される!
APIエコノミーのバリューチェーン
企業A,Bの
サービスを
購入したい!!
イイね!
© 2017 IBM Corporation8
IBM Bluemixwww.bluemix.net
API公開のドライバー システム観点
Web時代 モバイル&IoT時代
•モノリシック・アプリケーション• HTML, XMLの提供•数年間運⽤
•ブラウザー中心で⼀部システム
•人のクリック頻度でのアクセス
•有線アクセス
Webアプリケーション
HTML XML
• ブラウザーにはHTML• システムにはXML• メッセージサイズ大
• システムのマイクロ・サービス化• JSON形式のAPI公開• 継続的デリバリー
• スマホ、IoT、システムなど多種多様
• ブラウザーの割合低下• 高頻度なアクセス• 数日〜数週間リリース• 無線、3G, 4G
クライアント・アプリ
IoT
モバイル
WebB2B
SaaS
WebアプリケーションAPI API API API API
JSON
• ブラウザー対応のHTMLではなく様々なクライアントに利⽤できる簡単・軽量なREST/JSON
• メッセージサイズ小
© 2017 IBM Corporation9
IBM Bluemixwww.bluemix.net
「API」は巨大市場へ
社会が主導するモメンタム
モバイルデバイスの普及により、APIがこれまで以上に浸透
イノベーションの基盤として認知
モバイル、IoTなど、最新テクノロジーの活⽤が容易
迅速に構築できる
大企業も積極的に関与
https://www.programmableweb.com/news/programmableweb-api-directory-eclipses-17000-api-economy-continues-surge/research/2017/03/13
© 2017 IBM Corporation10
IBM Bluemixwww.bluemix.net
API管理基盤が求められる理由
API
流量制御
API
流量制御
監査ログ
認証
API
ドキュメント
監査ログ
認証
API
流量制御
監査ログ
ドキュメント
API
流量制御
監査ログ
認証
API API API API API
認証
アプリキー
流量制御
キャッシュ
監査ログAP
I管理
/Gate
way
APIポータル
• 周辺機能はGatewayに任せてAPI処理の実装に専念できる!• セキュリティや流量制御もポリシー設定で簡単!• アプリキーでクライアントが管理されているから、誰がAPIを
使っているかも⼀目瞭然!• コード量が少ないからAPIの仕様追加もわりと簡単!
• API処理以外にも認証・変換・キャッシュの実装、大変だ・・・• APIのセキュリティはどうやって確保したらいいんだろう?• このAPIは変えても大丈夫だろうか?誰が使ってるんだろう?• また仕様の追加が必要?コード量が多いから維持・修正も大変
API α API β API γ API δ API θ
APIプロバイダー APIプロバイダー
アプリ開発者アプリ開発者
• APIは確かにあるようだけど、欲しいデータが全然見つからない!• このAPIを使う許可をもらうにはどこに連絡すればいいんだろう?• 業界標準に準拠してないAPIだと、呼び出すだけでも⼀苦労。しかもAPI
毎に認証方法が違う・・・本当に?!
• ポータルを見ればすべてのAPIが見つかる、これは分かりやすい!• APIの利⽤申請もポータルからボタン⼀つで完了!• 業界標準に準拠しているから、呼び出しもツールから簡単!• 同じアクセスキーで必要なAPIにアクセスできる、しかも認証方法も統⼀されていて楽々!
+1
管理されていない “個別実装API” 群 IBM API Connect で管理された “均質なAPI” 群
© 2017 IBM Corporation11
IBM Bluemixwww.bluemix.net
IBM API Connect とは
APIの開発・保守コストを削減し、
公開までの期間を短縮
APIアクセスの
利用状況分析、トレンド把握
API利用企業・開発者向けの
API利用を促進する仕組み
APIにより連携の
セキュリティーを確保できる
API利用企業・開発者ごとの
アクセス管理と流量制御
作成 実行
管理保護
APIの作成・実行・管理・保護を実現する、企業のAPI公開を支える包括的基盤ソリューション
パブリック・クラウド
オンプレミス
© 2017 IBM Corporation12
IBM Bluemixwww.bluemix.net
Bluemix API Connect の機能
DeveloperToolkit
APIサービス(Compute)
データソースを効率的にAPI化するツール
APIランタイム
APIマネージャー
APIのポリシーを管理する
APIオーナー用UI
APIマネージャー
APIゲートウェイ
ポリシーに基づきAPIを高度に保護・制御する
開発者ポータル
API利用者向けのAPI仕様情報を
提供するポータル
開発者ポータル
APIデザイナー
クライアントアプリケーション
IoT
モバイル
Web
B2B
SaaS API呼び出し
分析情報の収集
構成のデプロイ
サーバーランタイム環境 開発ツール
外部
アプリ開発者(API利用者)
社内取引先
ESB
WebService IBM z
API
バックエンドシステム
内部API
内部API
API Connect サービスで提供 Cloud Foundry Node.js を提供
© 2017 IBM Corporation13
IBM Bluemixwww.bluemix.net
Bluemix におけるAPI Connect の構成
Node.js
App
開発者ポータル
APIの利用
API デザイナー
API G
ate
way in
API C
onnect
地域 (米国南部, 英国, シドニー, ドイツ)
API マネージャー
API Connectfor Bluemix
ランタイム
API開発者
アプリ開発者に公開
アプリ開発者開発者ポータルへアクセスAPIのサブスクライブ
他クラウド or オンプレミス
API利用者
開発環境で稼働
© 2017 IBM Corporation14
IBM Bluemixwww.bluemix.net
インターフェースの種類
API デザイナー
APIの作成、公開を行う管理インターフェース
開発環境に導入されるDeveloper Toolkitで提供され、開発環境で稼働
API マネージャー
アプリ開発者へのAPIの公開や追跡を容易にするための管理インターフェース
Bluemix上で稼働
開発者ポータル
API をソーシャル化して、中核的な企業資産の価値を高める新しいアプリケーションの開発を支援する、カスタマイズ可能なポータル
Bluemix上で稼働
© 2017 IBM Corporation16
IBM Bluemixwww.bluemix.net
Bluemix では2つのAPI管理を提供
① Native API 管理
2017/6より、Cloud Foundry ランタイム、Cloud Functions (OpenWhisk)の環境で、Native API 管理の仕組みを提供
簡単にセキュリティ、流量制御等のポリシーを追加可能
② IBM API Connect
従来から提供されているもので、Bluemixサービスの⼀つとして IBM API Connectを提供
機能限定的。Cloud Foundry, Functions等で簡単にAPI公開したい場合に有⽤
様々な環境で稼働するAPIを統合的に管理したい場合に有⽤
お試しAPI管理
統合API管理
© 2017 IBM Corporation17
IBM Bluemixwww.bluemix.net
① Native API 管理
Cloud Foundry ランタイム、Cloud Functions、AppConnectで容易に設定可能
数秒の操作で、APIに関する以下のポリシー項目を設定可能
API Security (API キー)
流量制御
OAuth(特定サービスとのOAuth)
CORS
分析機能
© 2017 IBM Corporation19
IBM Bluemixwww.bluemix.net
(参考)オンプレとの主な違い
ライセンス観点
Node.js、Javaは、Cloud Foundryの契約が別途必要
全てのプランでDataPower GatewayがデフォルトのGateway
Bluemix有償契約には、Secure Gatewayの1接続先が含まれる
機能観点
Cloud Manager Console(CMC)へのアクセスができない
DataPower関連
管理コンソールにアクセスできない
DataPower機能は、Assembleで提供されるポリシーのみの利⽤
OAuthのトークン失効はサポート外
Secure Gatewayを利⽤する場合、アセンブルで切り替え(switch), 操作切り替え(operation switch), if ポリシーが使⽤できない
ログ
Cloud FoundryのNode.jsを除く、各コンポーネントのログ、監査ログの確認はできない
*今後変わる可能性があります。
© 2017 IBM Corporation21
IBM Bluemixwww.bluemix.net
Native API 管理の利⽤方法(1/4)
Cloud Foundry, Cloud Functions のメニューから利⽤開始
1. API定義があればインポートする API仕様が明確になるため、OpenAPI の定義ファイルは、なるべく⽤意した方が良い
© 2017 IBM Corporation22
IBM Bluemixwww.bluemix.net
Native API 管理の利⽤方法(2/4)
2. セキュリティー定義設定アプリケーション認証
APIキー(APIキーと秘密鍵)による認証
Bluemix組織内、組織外でそれぞれキーは5個まで
レート制限
キー単位でAPI呼び出しレートを制限
リーキー・バケット・アルゴリズムを使⽤
例えば、制限が 1 分当たり 10 回の呼び出しに設定されると、1 回の呼び出しは 6 秒ごと(60/10 = 6) に制限される
OAuthユーザー認証
Bluemix アプリケーションID、Facebook, GitHub, Googleで認証を行う
対応する OAuth トークンを、各 API 要求の許可ヘッダーに含める。トークンの認証性が、指定したトークン・プロバイダーを使⽤して検証されます。
CORS設定
ブラウザー・ベースのアプリケーションでAPIを呼び出せるようCORSを有効にする
© 2017 IBM Corporation23
IBM Bluemixwww.bluemix.net
Native API 管理の利⽤方法(3/4)
3. API仕様の確認・テスト
Bluemix組織内ユーザーは、API Explorerタブで、APIの仕様とテストが可能
Bluemix組織外への共有
APIキー作成時に、APIポータル・リンクを提供
© 2017 IBM Corporation24
IBM Bluemixwww.bluemix.net
Native API 管理の利⽤方法(4/4)
4. API利⽤状況の確認・分析要約タブでAPIの利⽤状況が確認可能
直近1時間の統計情報
レスポンス数、平均応答時間、グラフ
直近25件の応答ログの表示
パス、操作、日付時刻、応答時間、キーなど
© 2017 IBM Corporation26
IBM Bluemixwww.bluemix.net
API 公開のステップ
API開発者
API管理者
アプリ開発者(外部 取引先 社内)
API提供側
API利用側
APIデザイナー
APIマネージャー
開発者ポータル
API開発
API仕様とポリシー定義
APIの製品化と公開
APIキー発行と利用登録
API利用分析
1 2
3
4
0
© 2017 IBM Corporation27
IBM Bluemixwww.bluemix.net
API 公開のステップ
API開発者
API管理者
アプリ開発者(外部 取引先 社内)
API提供側
API利用側
APIデザイナー
APIマネージャー
開発者ポータル
API開発
API仕様とポリシー定義
APIの製品化と公開
APIキー発行と利用登録
API利用分析
1 2
3
4
0
© 2017 IBM Corporation28
IBM Bluemixwww.bluemix.net
API 開発の流れ
Developer Toolkitを使⽤してAPIアプリケーション(LoopBack)を開発する
1. ひな形のアプリを生成
2. データ・ソースの定義
3. モデルの定義
データ・ソースの定義 モデルの定義 REST APIの生成
データベース
App
ひな形アプリの生成
© 2017 IBM Corporation29
IBM Bluemixwww.bluemix.net
LoopBack とは
Node.js の Webアプリケーション・フレームワーク
REST APIの作成に特化したOpen Sourceのフレームワーク
モデルを定義するとREST APIが自動生成
モデル:データベースに対するORM(オブジェクト関係マッピング)
様々なデータソースに接続するためのコネクターを提供
もともとはStrongLoop社が提供(2015年にIBMが買収)
© 2017 IBM Corporation30
IBM Bluemixwww.bluemix.net
API の開発
Developer Toolkitのコマンド1つでAPIのひな形が生成
API デザイナーを利⽤し、データ・ソースを定義
様々な種類のデータ・ソースに対するコネクターを提供拡張コネクター: Db2, SOAP, Oracle, MS SQL, SAP HANA
APIの編集画面 データ・ソースの編集画面
© 2017 IBM Corporation31
IBM Bluemixwww.bluemix.net
モデルを作るだけでREST API が生成
モデル探索機能でデータ・ソース定義からモデルを自動で生成可能
モデル探索機能が使⽤可能なDB
MySQL, Oracle, PostgreSQL, SQL Server
LoopBackの機能により、モデルに合わせてREST APIが自動生成
コード生成
OpenAPI(Swagger 2.0)仕様に準拠したAPI記述書
データ・ソースの設定 モデルが自動生成 REST APIが自動生成データベース
コネクターで接続
モデル探索機能
© 2017 IBM Corporation32
IBM Bluemixwww.bluemix.net
(参考)Open API とは
REST APIの仕様や文書を記述するための標準仕様
REST API のインターフェイスを記述するための標準フォーマットと、そのツール群
IBMは、2015/11/05に、The Linux Foundationの協力のもと、Microsoft, Google, Intuit, PayPal, 3Scale, Apigeeらと共にOpenAPIInitiativeを結成
現在の参加企業
© 2017 IBM Corporation33
IBM Bluemixwww.bluemix.net
API の動作確認
ローカルでのAPIのテストもインターフェースから実施可能
ローカルでのAPIの起動 ローカルでのAPIのテスト
© 2017 IBM Corporation34
IBM Bluemixwww.bluemix.net
API 公開のステップ
API開発者
API管理者
アプリ開発者(外部 取引先 社内)
API提供側
API利用側
APIデザイナー
APIマネージャー
開発者ポータル
API開発
API仕様とポリシー定義
APIの製品化と公開
APIキー発行と利用登録
API利用分析
1 2
3
4
0
© 2017 IBM Corporation35
IBM Bluemixwww.bluemix.net
セキュリティー設定
APIの認証方法として3つのセキュリティー定義を作成することが可能
認証方式 説明
API Key (デフォルト)アプリケーションがAPIを呼び出す際に、識別子(クライアントID、クライアント・シークレット)を指定する方式
基本認証 APIへのアクセスを認証する際に、LDAP または認証URLを使⽤する方式
OAuthアプリケーションがAPIを呼び出す際に、トークン・ベースの認証でアクセス制御する方式
3種類から選択
© 2017 IBM Corporation36
IBM Bluemixwww.bluemix.net
API ゲートウェイでの変換(アセンブル)
メッセージ変換やカスタマイズのフローを定義
キャンバス
アセンブリー・フロー
プロパティー・シート
ドラッグ&ドロップで配置
各ポリシーをクリックして詳細を指定
アセンブル機能
✓ 外部APIの呼び出し✓ XML/JSONメッセージ変換✓ XML,JSONデータのValidation✓ レスポンス変換✓ 変数変換(マッピング)✓ 変数の取得・生成✓ エラー制御✓ 複数APIのマッシュアップ✓ レスポンス・キャッシング✓ エラーレスポンスのカスタマイズ✓ 複数のAPIをマッシュアップ✓ JavaScript実行✓ XSLT実行✓ プロトコル変換✓ 分析ログ出力内容変更✓ Operation-switch✓ If✓ Throw
アセンブル機能の例
パレット(ビルトイン・ポリシー)
© 2017 IBM Corporation37
IBM Bluemixwww.bluemix.net
API の動作確認 DataPower ポリシーの実行
DataPowerのアセンブル・ポリシーをローカルでテスト実施
Developer Toolkit とDataPower のDocker コンテナーを組み合わせることが可能
Docker 環境がインストールされ稼働していれば、DataPower のdocker モジュールがダウンロードされ実行される
前提API Connect V5.0.7以上
Docker v1.13以上
Docker Compose V1.11以上
アセンブルでDataPower を選択 ローカルでAPI の起動 Docker のDataPower が稼働
Micro Gateway 表記だが、Docker 上のDataPower が稼働
$ docker psCONTAINER ID IMAGE COMMAND CREATED 8fc94c9d0df9 ibm-apiconnect-toolkit/datapower-api-gateway:1.0.10 "/bin/drouter" 7c96516b0767 ibm-apiconnect-toolkit/datapower-mgmt-server-lite:1.0.10 "node lib/server.js"
docker ps コマンドで確認
© 2017 IBM Corporation38
IBM Bluemixwww.bluemix.net
API の管理体系
API API をリソース単位にまとめたもの
Node.js のアプリケーションに対応
製品 API を公開する単位にまとめたもの
サブスクリプション⽤のプランを作成する単位
プラン含めるAPI とレート制限を指定
アプリ開発者が利⽤登録(配信登録)する単位
© 2017 IBM Corporation39
IBM Bluemixwww.bluemix.net
レート制限
単位時間あたりどれだけの呼び出しを許可するかを設定できる
制限は複数設定可
レート制限に到達した後、アプリケーションによるAPI の呼び出しを拒否する
429 Too Many Requests で返す
© 2017 IBM Corporation40
IBM Bluemixwww.bluemix.net
Bluemix へデプロイ
Node.js
App
ランタイム
Bluemix 上のNode.js アプリとして稼働
注意点:API デザイナーからデプロイするとAPI 仕様、製品、プランはデザイナーでしか変更できない
© 2017 IBM Corporation41
IBM Bluemixwww.bluemix.net
Bluemix 上でAPI を稼働
Cloud Foundry のNode.js アプリケーションとして稼働
通常のCloud Foundry アプリと異なる点ドメイン名が異なる apiconnect-<アプリid>.<組織名>-<space名>.apic.mybluemix.net
API Gateway 経由でないとアクセスできない(API デザイナーでデプロイするタイミングで、TLS プロファイルの定義が追加されるため、ユーザーは意識する必要なし)
© 2017 IBM Corporation42
IBM Bluemixwww.bluemix.net
API 公開のステップ
API開発者
API管理者
アプリ開発者(外部 取引先 社内)
API提供側
API利用側
APIデザイナー
APIマネージャー
開発者ポータル
API開発
API仕様とポリシー定義
APIの製品化と公開
APIキー発行と利用登録
API利用分析
1 2
3
4
0
© 2017 IBM Corporation43
IBM Bluemixwww.bluemix.net
開発者ポータルの機能
API 利⽤者向けに、API 仕様の表示、プランの選択、API キーの発行、API テストなどの機能を提供
- APIの仕様表示- ヘッダー- パラメーター- 応答
ブログ機能 フォーラム機能 サポート機能(チケット発行)
言語ごとのサンプルコード(cURL、Ruby、Python、PHP、Java、Node、Go、Swift)
APIのテスト実行
APIキー(クライアントID)の発行例
プランの選択画面例
プランの選択ボタン
APIキー(クライアントID)
利⽤可能なプラン
リクエスト・レスポンスのサンプル表示
© 2017 IBM Corporation44
IBM Bluemixwww.bluemix.net
開発者ポータルで外部に公開
ユーザーがサブスクライブ可能なAPI 製品がカタログとして表示
製品の可視性やサブスクライブ可能なユーザー設定は編集可能
開発者ポータルのUI はカスタマイズ可能
© 2017 IBM Corporation45
IBM Bluemixwww.bluemix.net
API 公開のステップ
API開発者
API管理者
アプリ開発者(外部 取引先 社内)
API提供側
API利用側
APIデザイナー
APIマネージャー
開発者ポータル
API開発
API仕様とポリシー定義
APIの製品化と公開
APIキー発行と利用登録
API利用分析
1 2
3
4
0
© 2017 IBM Corporation46
IBM Bluemixwww.bluemix.net
利⽤状況の分析
いつ、どのアプリがどのAPI を呼び出したのか
どれくらいの人がこのAPI に利⽤登録しているか
© 2017 IBM Corporation48
IBM Bluemixwww.bluemix.net
可⽤性
複数地域を利⽤した冗長化
API Connect のインスタンス、API のエンドポイントが異なる
プロキシーや負荷分散装置によるリクエストの分散を検討
APIに対するレート制限、OAuth のトークン等を考慮すると、クライアント単位でリクエスト分散を検討
複数地域のインスタンス間で情報共有する仕組みがないため、API 仕様、製品情報はエクスポート、インポートを行う
© 2017 IBM Corporation49
IBM Bluemixwww.bluemix.net
監視・バックアップ
監視
Status ページ (https://console.bluemix.net/status) で確認
各コンポーネントのURL の稼働状況、ping等による確認 API Gateway api.<地域>.apiconnect.ibmcloud.com
API マネージャー <地域>.apiconnect.ibmcloud.com
開発者ポータル <カタログ名>-<組織名>-<space名>.developer.<地域>.apiconnect.ibmcloud.com
APIサーバー apiconnect-<アプリid>.<組織名>-<space名>.apic.mybluemix.net
バックアップ
作成したAPI 仕様、製品はYAML 形式でダウンロード可能
© 2017 IBM Corporation50
IBM Bluemixwww.bluemix.net
API サーバーの負荷対策
Auto-Scaling サービスによる API サーバーの負荷対策ランタイムのインスタンス数を負荷に応じて、自動でスケール
アクセス頻度が高くなった時だけサーバーをスケールアウトすることで、パフォーマンスを確保することが可能
© 2017 IBM Corporation51
IBM Bluemixwww.bluemix.net
外部リソースとの連携 (1/2) API Connect 機能
オンプレミス / クラウド上のシステムをAPI化する場合、インターネット経由でBluemix 上のアプリケーションからリソースへアクセスされる
オンプレミス / クラウド基盤間の通信の安全性はAPI 開発者が担保する必要がある
API Connect では、TLS プロファイルを設定することで外部リソースとの通信保護が可能
API マネージャーで、TLS プロファイルの登録が可能
証明書のアップロード
Pkcs12 形式ファイルのみサポート
© 2017 IBM Corporation52
IBM Bluemixwww.bluemix.net
外部リソースとの連携 (2/2) Bluemix 他サービス
オンプレミス / クラウド上のシステムをAPI 化する場合、インターネット経由でBluemix 上のアプリケーションからリソースへアクセスされる
通信セキュリティーの観点で、Bluemix アプリケーションからのみのアクセスに制限したい場合、以下のサービスを併⽤することを推奨Secure Gateway サービス
セキュア・トンネル(websocketトンネル)で安全かつ容易に拠点間を接続
制約事項:アセンブルで切り替え(switch), 操作切り替え(operation switch), if ポリシーが使⽤できない
https://www.ibm.com/support/knowledgecenter/ja/SSFS6T/com.ibm.apic.toolkit.doc/tapic_pub_secure_gateway.html
Statica サービス(3rd party)
送信元IP アドレスを固定化するためのフォワード・プロキシー・サービス
© 2017 IBM Corporation53
IBM Bluemixwww.bluemix.net
APIフロントエンドのアクセス保護
API Gateway へのアクセス保護
IBM オペレーションチームによって制御
フロントエンドを保護をしたい場合、IBM に連絡
https://www.ibm.com/support/knowledgecenter/ja/SSFS6T/com.ibm.apic.apionprem.doc/task_apionprem_ssl.html
© 2017 IBM Corporation54
IBM Bluemixwww.bluemix.net
運⽤上の注意点
継続的にテストができる仕組み⽤意されることを推奨!
自動でAPI 呼び出し(正常・異常)ができるような仕組み
リクエスト、レスポンスを確認できる仕組み
その理由
連携基盤である
他システムと連携することが前提
マルチテナントで稼働しているため、お客様でログを確認できない
Ticket での問い合わせ
API Connect は、まだまだ進化中
1〜2月間隔でFixがリリース
仕様や挙動が変わる可能性がある
リリース状況の確認
https://developer.ibm.com/apiconnect/bluemix-maint-uk/
他のBluemix サービスと連携している場合、そちらのリリース頻度の影響も併せて受ける
© 2017 IBM Corporation56
IBM Bluemixwww.bluemix.net
API Connect 提供形態
提供形態
API Connect上のAPI運⽤管理
API Connectのランタイム運⽤管理
ハイパーバイザー/OS運⽤管理
仮想アプライアンスBluemix 仮想イメージ物理アプライアンス
仮想イメージサービス
お客様お客様お客様
お客様お客様IBM
お客様IBM
サービス
お客様
IBM
IBM
ハードウェア運⽤管理 お客様IaaSベンダーIBM IBM
お客様
API Connect インスタンス
課金体系
Public Dedicated IaaS オンプレミス
運⽤主体
共有 専有 専有 専有
ロケーション 海外Bluemix拠点 国内可 国内可 お客様サイト
Subscription(月額)サポート費⽤要
Subscription(月額)サポート・構築費⽤要
Subscription(月額)永久ライセンス(買取)
Subscription(月額)永久ライセンス(買取)
外部Gateway管理 不可 利⽤可 利⽤可
Reserved Instance
お客様
IBM
IBM
IBM
サービス
専有
国内可
利⽤可不可
プラットフォーム Bluemix Public Bluemix Dedicated VMWare ESXi VMWare ESXiBluemix Public
Subscription(月額)サポート費⽤要
© 2017 IBM Corporation57
IBM Bluemixwww.bluemix.net
Bluemix Public ライセンスプラン フィーチャー 料金
Lite 月5万 API コールまで非アクティブで30日経過すると削除される
無料
Essentials 月5万 API コールまで 無料
Professional 月10万 API コールごとに料金を請求単⼀部門のプロジェクト⽤
月額8,400円
Enterprise 月10万 API コールごとに料金を請求企業プロジェクトおよび部門間プロジェクト⽤
月額10,500円
Professional 5M 月500万 API コール、超過時は10万APIごとに料金を請求単⼀部門のプロジェクト⽤
月額262,600円超過10万ごと5,250円
Enterprise 25M 月2500万 APIコール、超過時は10万APIごとに料金を請求企業プロジェクトおよび部門間プロジェクト⽤
月額1,051,000円超過10万ごと4,200円
Enterprise 1B 月10億 APIコール、超過時は10万APIごとに料金を請求企業プロジェクトおよび部門間プロジェクト⽤
月額16,801,000円超過10万ごと1,680円
Custom Professional IBM営業担当者と契約されたお客様専⽤のPAGプランで、前払いのものが亡くなった後、月10万APIコールごとに料金を請求単⼀部門のプロジェクト⽤
月額5,607円
Custom Enterprise IBM営業担当者と契約されたお客様専⽤のPAGプランで、前払いのものが亡くなった後、月10万APIコールごとに料金を請求企業プロジェクトおよび部門間プロジェクト⽤
月額4,486円
Native Cloud Foundry, OpenWhisk等で提供されるAPI管理機能API Connectのサブセット
無料
お試しAPI管理
© 2017 IBM Corporation59
IBM Bluemixwww.bluemix.net
構成例:オンプレでAPIを実行する場合
オンプレでAPIを実行
オンプレ側にSecure Gateway Clientの設定が必要(DataPowerも選択可能)
外部向けAPI 内部システム
オンプレミス
tunnel
Secure GatewayAPI Connect
API
API Connectで
API公開
Secure GWによる
セキュアな接続
既存のDBにアクセスする
新規APIを作成
Secure GW用のクライアントは、DataPowerもしくはサーバーにイン
ストール
外部アプリeg. PFMアプリ
SecureGateway
Client
オンプレでAPIを実行
API
SecureGateway
APIConnect
• 無償枠あり• 有償サービス:¥10,200〜/月
• 10万回のAPI呼び出し/月 =¥10,200〜/月
• 無償版あり• 有償サービス:¥10,200〜/月
• GW 5つ - 接続先 5つ – 50GB 通信量 = ¥10,200〜/月
想定利用料
© 2017 IBM Corporation60
IBM Bluemixwww.bluemix.net
構成例:オンプレのDBを利⽤する場合
クラウド上でアプリは実行するが、DBはオンプレを利⽤
オンプレ側にSecure Gateway Clientの設定が必要(DataPowerも選択可能)
外部向けAPI 内部システム
オンプレミス
tunnel
SecureGateway
API Connect
APIAPI
API Connectで
API公開
Secure GWによる
VPN接続
既存のDBにアクセス
する新規APIを作成
Secure GW用のクライアントは、DataPowerもしくはサーバーにイン
ストール
外部アプリeg. PFMアプリ
SecureGateway
Client
Node.js/Javaなど
クラウドでAPIを実行
SecureGateway
APIConnect
• 無償枠あり• 有償サービス:¥10,200〜/月
• 10万回のAPI呼び出し/月=¥10,200〜/月
• 無償版あり• 有償サービス:¥10,200〜/月
• GW 5つ - 接続先 5つ – 50GB 通信量 = ¥10,200〜/月
• 無償枠あり• 有償:¥7,35 GB/時間
• 2GBメモリ=約10,000円/月
Runtime実行環境
想定利用料
© 2017 IBM Corporation61
IBM Bluemixwww.bluemix.net
構成例:全てクラウドで実行する場合
DBはBluemix上に構築する
必要なデータはオンプレからBlumix上にコピーする
外部向けAPI 内部システム
オンプレミス
DBサービスAPIConnect
APIAPI
API Connectで
API公開
既存のDBにアクセス
する新規APIを作成
オンプレのDBからAPI化に
必要なデータをコピーしておく
外部アプリeg. PFMアプリ
Node.js/Javaなど
クラウドでAPIを実行
• 無償枠あり• 有償:データ量や通信量による
• SQL DB (8GBメモリ-500GB-HA無) = ¥26,300/月
DBサービス
APIConnect
• 無償枠あり• 有償サービス:¥10,200〜/月
• 10 万回のAPI呼び出し/月=¥10,200〜/月
• 無償枠あり• 有償:¥7,35 GB/時間
• 2GBメモリ= 約10,000円/月
Runtime実行環境
想定利用料
© 2017 IBM Corporation63
IBM Bluemixwww.bluemix.net
株式会社ゼンリン様: API公開によるデータ・ビジネス拡大
オンプレミスの電子住宅地図DB/ナビ地図DBをIBM API Connectを活⽤することでAPI経由で顧客に公開。新規ビジネス・チャネルの開拓によりデータビジネスを拡大。
Need: 電子住宅地図DB/ナビ地図DBを中心とする派生商品を保有・展開しており必要とされるデータはオンプレミスのデータベースにより管理。通常、これまでデータは紙媒体/DVDで顧客や開発者に対して提供していたが、データを活⽤した新規ビジネス・チャネルの拡大や市場の急激な市場変化にスピーディーに対応するためデジタル化が必要とされた。
Why IBM?: 大量の異業種データを利活⽤、取引が実現可能なハイブリッドクラウド環境を、IBM Bluemixが提供。API開発を高速に行い、お客様が求めるデータ利⽤環境を柔軟かつ迅速に提供します。
Solution: API Connectを⽤いて、• ジオコーディングAPI(住所名称から緯度経度取得)• 道路NW API(緯度経度から周辺・道路属性情報取得)• 施設検索API(緯度経度から周辺の施設情報取得)等をクラウド上でセキュアにAPI公開を実現。
Benefit: API公開後、顧客やパートナーが効率的にデータを発見してアクセス可能となりデータビジネスの拡大に寄与。
SaaS
API
API
電子住宅地図DB
Renovation Innovation
新規ビジネス・チャネル(金融、流通、…)
Data on Cloudパートナー
ナビ地図DB
API
API
API
IBM Bluemix
デジタルITエンタープライズIT
ジオコーディングAPI道路NW API施設検索 API…
マイクロ・サービス・アプリ
オンプレミス クラウド
© 2017 IBM Corporation64
IBM Bluemixwww.bluemix.net
デジタルポスト株式会社様
• サービスをAPIとして提供することで、ハガキ作成ソフトや企業の営業支援システム、販売管理システムとの連携が容易に行えるようになり、ビジネスチャンスが拡大
• 名刺管理、年賀状送付、DM送付などの他社サービスが続々とAPI利用開始
PCユーザーやスマートフォン・ユーザーが年賀状やダイレクトメールの印刷・配送を個別に注文していたが、あらゆるシステムから一貫してデジタルポストの利用を可能にするビジネスモデルを創出したい
課題
効果
© 2017 IBM Corporation65
IBM Bluemixwww.bluemix.net
まとめ
Bluemix の API管理
Cloud Foundry, Cloud Functionsですぐに試せるお試しAPI管理
API Connect による統合API管理
API公開の課題をワンストップで解決
LoopBackによるAPI開発
API デザイナー / API マネージャーによるAPI仕様定義
GatewayによるAPI仕様の実行
開発者ポータルによるAPIの公開
利⽤状況の分析
© 2017 IBM Corporation66
IBM Bluemixwww.bluemix.net
参考情報
Introducing Bluemix Native API Management in CF Apps – The Most Integrated API Tooling on the Market
https://developer.ibm.com/apiconnect/2017/06/01/introducing-bluemix-native-api-management-cf-apps-integrated-api-tooling-market/
Getting Started with Bluemix Native API Management in Bluemix Cloud Foundry.
https://github.com/ibm-apiconnect/getting-started/tree/master/native
Knowledge Center IBM API Connect for Bluemix
https://www.ibm.com/support/knowledgecenter/ja/SSFS6T/mapfiles/getting_started_bluemix.html