IBM API Connect クラスター環境導⼊ガイド...Web B2B SaaS API Connectの基本構成図...

Post on 25-Jul-2020

3 views 0 download

Transcript of IBM API Connect クラスター環境導⼊ガイド...Web B2B SaaS API Connectの基本構成図...

©2017IBMCorporation

2018/1/29⽇本アイ・ビー・エム株式会社

IBM API Connect クラスター環境導⼊ガイド

© 2017 IBM Corporation2

Disclaimerq 当資料の位置づけ

¦ 当資料は、IBM API Connect での過去の冗⻑化機能の実装例を参考に構成⽅法および考慮点をまとめたものです。

¦ API Connect V5.0.7.2を前提としています。

q 注意事項¦ 当資料に含まれる情報は可能な限り正確を期しておりますが、当資料に記載された

内容に関して何ら保証するものではありません。ここでの記載内容はあくまでも⽀援情報であり、使⽤者の責任において取扱われるものとし、資料の内容によって受けたいかなる損害に関して⼀切の保証をいたしません。

¦ 製品の新しいリリース、修正などによって動作/仕様が変わる可能性がありますので、必ずマニュアル等で最新の情報をご確認ください。

© 2017 IBM Corporation3

⽬次

q API Connectの基本構成図q API Connectの冗⻑化構成と検討ポイント

管理サーバーn 1台 Active-Standby構成n 2台 Actice-Active構成

開発者ポータルn 1台 Active-Standby構成n 3台 Active-Active構成

IBM DataPower Gatewayn 3台 Active-Active構成

q API Connectの冗⻑化構成 トポロジーパターン¦ シングル構成¦ 全コンポーネント冗⻑化構成¦ 実案件での構成例

q API Connectの通信⽅向

© 2017 IBM Corporation4

⽬次

q API Connectの基本構成図q API Connectの冗⻑化構成と検討ポイント

管理サーバーn 1台 Active-Standby構成n 2台 Actice-Active構成

開発者ポータルn 1台 Active-Standby構成n 3台 Active-Active構成

IBM DataPower Gatewayn 3台 Active-Active構成

q API Connectの冗⻑化構成 トポロジーパターン¦ シングル構成¦ 全コンポーネント冗⻑化構成¦ 実案件での構成例

q API Connectの通信⽅向

© 2017 IBM Corporation5

IoT モバイル

Web

B2B

SaaS

API Connectの基本構成図

仮想アプライアンス

ReverseProxy

DMZ

API実⾏環境 等

WebSphere Liberty

ソフトウェア

バックエンドシステム

アプリケーション開発者

IBM DataPowerGateway

(物理/仮想アプライアンス)

SMTPServerソフトウェア

NTPServerソフトウェア管理サーバー

(仮想アプライアンス)

Cloud Manager

API Manager

開発者ポータル(仮想アプライアンス)

:今回のガイド範囲

APIAPI利⽤アプリ

外部 社内取引先

API Connect管理者

© 2017 IBM Corporation6

q 管理サーバーl API ManagerとCloud Managerを提供する

コンポーネントl API Connect全体の設定やAPIの

インターフェースやポリシーの設定と管理、APIの利⽤状況の分析機能を提供

q 開発者ポータルl API利⽤者向けのAPI仕様情報を提供するポータルl 公開されたAPIの仕様確認、アプリケーション

登録などが可能l ブラウザからAPIの呼び出しテストが可能

q IBM DataPower Gatewayl ポリシーに基づきAPIを⾼度に保護・制御するゲートウェイl 実際にAPI呼び出し時のリクエストが通過するコンポーネント

API Connectの各コンポーネントの概要

© 2017 IBM Corporation7

⽬次

q API Connectの基本構成図q API Connectの冗⻑化構成と検討ポイント

管理サーバーn 1台 Active-Standby構成n 2台 Actice-Active構成

開発者ポータルn 1台 Active-Standby構成n 3台 Active-Active構成

IBM DataPower Gatewayn 3台 Active-Active構成

q API Connectの冗⻑化構成 トポロジーパターン¦ シングル構成¦ 全コンポーネント冗⻑化構成¦ 実案件での構成例

q API Connectの通信⽅向

© 2017 IBM Corporation8

q 検討ポイント、制約事項(1/2)¦ 冗⻑化の⽅法

n 管理サーバーの冗⻑化構成にはVMware HA、vMotionを利⽤したActive-Standby構成と管理サーバーの製品機能を利⽤したActive-Active構成が存在する

¦ ロードバランシングn Active-Active構成をとる場合、管理サーバーを複数⽤意したうえで前段に

ロードバランサーが必要となるn Active-Standby構成の場合、負荷分散をする必要がないため前段へのロー

ドバランサーの配置は不要n 前段にロードバランサーの配置する場合、管理サーバーが提供するヘルス

チェックAPIを利⽤することができる参考:REST API 呼び出しによる管理サーバーのヘルス・チェック・データの取得https://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.install.doc/load_balancing_health_api.html

¦ ライセンスn Active-Standby構成の場合、Standby側のサーバーのライセンスは不要

冗⻑化構成と検討ポイント(管理サーバー)

© 2017 IBM Corporation9

q 検討ポイント、制約事項(2/2)¦ 障害時のダウンタイム

n Active-Standby構成の場合、障害発⽣時のダウンタイムが発⽣するn Active-Active構成の場合、ダウンタイムは発⽣しない

¦ 管理サーバーがダウンした際のサービスへの影響n 公開したAPI定義の情報はIBM DataPower Gateway上にキャッシュさ

れるため、API⾃体の呼び出しは可能DataPowerの再起動時、管理サーバーがダウンしているとDataPower上のキャッシュがクリアされるため、API呼び出しが不可となる

n API Manger、Cloud Managerへのアクセスが不可n Developer Portalへのサインイン不可n ダウンしている間の分析ログの⽣成が不可※ バージョン5.0.6.3および5.0.8以降では、管理サーバーダウン中もIBM

DataPower Gatewayが起動していれば以下に⽰す⼀定量のログはバッファーすることが可能。5.0.7.2ではバッファー不可。l データ・レコードが6,000レコードl データ・サイズが64,000KB

冗⻑化構成と検討ポイント(管理サーバー)

© 2017 IBM Corporation10

q Active-Standby構成

冗⻑化構成と検討ポイント(管理サーバー)

通常時 障害時

物理筐体物理筐体

APIManager

#1Active

API Connect管理者

物理筐体物理筐体

APIManager

#1Down

APIManager

#1Active

VMの機能によりテイクオーバー

API Connect管理者

© 2017 IBM Corporation11

q Active-Active構成

物理筐体物理筐体

APIManager

#1

Down

APIManager#2(Primary)

Active

物理筐体物理筐体

APIManager#1(Primary)

Active

APIManager

#2(Secondary)

Active

同期

冗⻑化構成と検討ポイント(管理サーバー)

通常時 障害時

LoadBalancer LoadBalancer

Secondaryにログインした場合でも構成情報の更新はPrimaryにされ、Secondaryに同期される

API Connect管理者 API Connect管理者

© 2017 IBM Corporation12

q 検討ポイント、制約事項(1/2)¦ 冗⻑化の⽅法

n 開発者ポータルの冗⻑化構成にはVMware HA、vMotionを利⽤したActive-Standby構成と開発者ポータルの製品機能を利⽤したActive-Active構成が存在する

n Active-Active構成の場合Split Brainの検出のために最低3台による冗⻑化構成が必須となる

参考:Knowledge Centerではサーバー稼働率が50%を超えないとサービスが稼働しないと記載ありhttps://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.install.doc/tapim_portal_setup_cluster.html

¦ ロードバランシングn Active-Active構成をとる場合、開発者ポータルを複数台⽤意したうえで前段にロード

バランサーが必要となるn Active-Standby構成の場合、負荷分散する必要がないため前段にロードバランサーの

配置は不要n 前段にロードバランサーを配置する場合、開発者ポータルが提供するヘルスチェック

APIを利⽤することができる参考:REST API 呼び出しによる開発者ポータルのヘルス・チェック・データの取得https://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.install.doc/tapim_portal_cluster_health_check.html

¦ ライセンスn Active-Standby構成の場合、Standby側のサーバーのライセンスは不要

冗⻑化構成と検討ポイント(開発者ポータル)

© 2017 IBM Corporation13

q 検討ポイント、制約事項(2/2)¦ 障害時のダウンタイム

n Active-Standby構成の場合、障害発⽣時のダウンタイムが発⽣するn Active-Active構成の場合、ダウンタイムは発⽣しない

¦ 開発者ポータルダウン時のサービスへ影響n IBM DataPower Gateway経由で公開しているAPI⾃体の呼び出しは可

能n 開発者ポータルへのアクセスが不可

¦ 冗⻑化構成を⾏わない場合の検討事項n 冗⻑化構成を⾏わない場合、ダウン時はロードバランサーの機能などに

よりSorryサーバーへの転送を⾏うことを検討する

冗⻑化構成と検討ポイント(開発者ポータル)

© 2017 IBM Corporation14

物理筐体物理筐体

DeveloperPortal

#1Active

物理筐体物理筐体

DeveloperPortal

#1Down

DeveloperPortal

#1Active

VMの機能によりテイクオーバー

q Active-Standby構成

冗⻑化構成と検討ポイント(開発者ポータル)

通常時 障害時

API Connect管理者アプリケーション開発者

API Connect管理者アプリケーション開発者

© 2017 IBM Corporation15

q Active-Active構成

物理筐体 物理筐体物理筐体

DeveloperPortal

#1

Down

DeveloperPortal

#2 (Primary)

Active

DeveloperPortal

#3 (Primary)

Active

同期同期

物理筐体 物理筐体物理筐体

DeveloperPortal

#1(Primary)

Active

DeveloperPortal

#2 (Primary)

Active

DeveloperPortal

#3 (Primary)

Active

同期 同期同期

冗⻑化構成と検討ポイント(開発者ポータル)

通常時 障害時

LoadBalancer LoadBalancer

※CLIは各サーバーに個別ログイン※CLIは各サーバーに個別ログイン

※Webアクセス ※Webアクセス

API Connect管理者アプリケーション開発者

API Connect管理者アプリケーション開発者

© 2017 IBM Corporation16

q 検討ポイント、制約事項¦ IBM DataPower Gatewayがダウンした際のサービスへ影響

n 公開しているAPIの呼び出しが不可となるn サービスへの影響が⼤きいため、Active-Activeによるクラスタリングを⾏

うことを推奨

¦ ロードバランサーの配置n IBM DataPower Gatawayにはセルフバランシング機能が含まれるため、

冗⻑化構成にした場合でもGatewayの前段にロードバランサーを配置しない構成が可能

n IBM DataPower GatewayにはヘルスチェックAPIの機能はないため、TCPレベルでの確認に留めるか、ヘルスチェックAPIで確認する場合は作り込みを⾏う必要がある

¦ OAuthによる認証認可を⾏う場合(トークン失効をDataPower Gatewayの機能で実現する場合)n トークン失効情報をGateway内に保持する場合、失効情報の共有のため最

低3台による冗⻑化構成が必須となる参考:Knowledge Centerではサーバー稼働率が50%を超えないとフェイルオーバーしないと記載ありhttps://www.ibm.com/support/knowledgecenter/ja/SS9H2Y_7.6.0/com.ibm.dp.doc/quotaenforcement_peergroup_failover.html

冗⻑化構成と検討ポイント(IBM DataPower Gateway)

© 2017 IBM Corporation17

q Active-Active構成

冗⻑化構成と検討ポイント(IBM DataPower Gateway)

物理筐体 物理筐体物理筐体

DataPowerGateway

#1

Down

DataPowerGateway

#2

Active

DataPowerGateway

#3

Active

同期同期

物理筐体 物理筐体物理筐体

DataPowerGateway

#1

Active

DataPowerGateway

#2

Active

DataPowerGateway

#3

Active

同期 同期同期

通常時 障害時

LoadBalancer LoadBalancer

※管理者は各サーバーに個別ログイン※管理者は各サーバーに個別ログイン

API 利⽤アプリ API 利⽤アプリ

© 2017 IBM Corporation18

⽬次

q API Connectの基本構成図q API Connectの冗⻑化構成と検討ポイント

管理サーバーn 1台 Active-Standby構成n 2台 Actice-Active構成

開発者ポータルn 1台 Active-Standby構成n 3台 Active-Active構成

IBM DataPower Gatewayn 3台 Active-Active構成

q API Connectの冗⻑化構成 トポロジーパターン¦ シングル構成¦ 全コンポーネント冗⻑化構成¦ 実案件での構成例

q API Connectの通信⽅向

© 2017 IBM Corporation19

q 最⼩構成

トポロジーパターン

開発者ポータル

管理サーバーReverseProxy

アプリケーション開発者

API実⾏環境 等

WebSphere Libertyソフトウェア

冗⻑化なし1台構成

冗⻑化なし1台構成

IBMDataPowerGateway

API利⽤アプリ

冗⻑化なし1台構成

© 2017 IBM Corporation20

q 全コンポーネント冗⻑化構成

トポロジーパターン

開発者ポータル

管理サーバー

IBMDataPowerGateway

ReverseProxyアプリケーション開発者

Active-Active3台構成

Active-Active2台構成

Active-Active3台構成

LoadBalancer

DataPowerのセルフバランシング機能により代替可能

LoadBalancer

LoadBalancer

API実⾏環境 等

WebSphere Libertyソフトウェア

API利⽤アプリ

ReverseProxyでロードバランスの機能を利⽤

© 2017 IBM Corporation21

q 実構成例

トポロジーパターン

ReverseProxy

アプリケーション開発者

管理サーバー

管理サーバー

VMHA

Active-Standby2台構成

IBMDataPowerGateway

Active-Active3台構成

LoadBalancer

DataPowerのセルフバランシング機能により代替可能

Active-Standby2台構成

VMHA

開発者ポータル

開発者ポータル

※外部公開している場合は、Active-Active構成も検討する

API実⾏環境 等

WebSphere Libertyソフトウェア

API利⽤アプリ

© 2017 IBM Corporation22

⽬次

q API Connectの基本構成図q API Connectの冗⻑化構成と検討ポイント

管理サーバーn 1台 Active-Standby構成n 2台 Actice-Active構成

開発者ポータルn 1台 Active-Standby構成n 3台 Active-Active構成

IBM DataPower Gatewayn 3台 Active-Active構成

q API Connectの冗⻑化構成 トポロジーパターン¦ シングル構成¦ 全コンポーネント冗⻑化構成¦ 実案件での構成例

q API Connectの通信⽅向

© 2017 IBM Corporation23

API Connectの通信⽅向外部 内部ゾーン

アプリ開発者

DMZ

API利用企業システム

1

開発者ポータル

Dev Portal

13

担当者・管理者・運用者・内部利用者

6

5

API管理

API管理

API Manager

Cloud Manager

12

910

負荷分散

SMTP

14 14

7

8

負荷分散

4

3

バックエンドシステム

2

DNS

NTP

Syslog

16

15

17

業務トランザクション

xxxx

xxxx

サーバー間通信

管理作業

API Connectコンポーネント

ノード

外部サーバー

DataPower Gateway

DataPower Gateway

11

IDG管理コンソール

DataPower Gateway

ReverseProxy

負荷分散

1615 17

1615 17

© 2017 IBM Corporation24

API Connectの通信⽅向No. 通信の内容 From 中継機器 To プロトコル ポート 備考

1 API要求 / 応答 API利⽤アプリ 負荷分散装置 DataPower Gateway HTTPS 443

2 API要求/応答 DataPower Gateway FW バックエンドシステム HTTPS 443

3,4 API Manager, Cloud ManagerAPI管理 CLIコンソール

担当者 負荷分散装置 API管理 HTTPSSSH

44322

5 IDG 管理IDG CLIコンソール

担当者 DataPower Gateway HTTPSSSH

909022

6 開発者ポータル開発者ポータル CLIコンソール

担当者 開発者ポータル HTTPSSSH

44322

7 構成のプル/分析のプッシュ DataPower Gateway FW API管理 HTTPS 2443/9443 ※1

8 構成のプッシュ API管理 FW DataPower Gateway HTTPS 443/5550 ※1

9 構成のプッシュ API管理 負荷分散装置 開発者ポータル HTTPSSSH

244322

10 構成のプル/API呼び出しの実⾏ 開発者ポータル 負荷分散装置 API管理 HTTPS 443/2443

11 DataPower Gateway 間通信 DataPower Gateway DataPower Gateway ハートビート 5550 ※2

※1:製品機能で負荷分散を実施可能※2:IPマルチキャスト通信

© 2017 IBM Corporation25

API Connectの通信⽅向No. 通信の内容 From 中継機器 To プロトコル ポート 備考

12 API Manager 間通信 API管理 API管理 構成データ同期分析データ複製トポロジー管理その他

11526/215269600443/90222443

13 開発者ポータル間通信 開発者ポータル 開発者ポータル クラスター通信

SSHWebトラフィックその他

3306/4567/4568/4444/3086522443/802443

14 SMTPサービス利⽤ API管理開発者ポータル

SMTPサーバー SMTP 25 ※3

15 DNSサービス利⽤ API管理開発者ポータルDataPower Gateway

DNSサーバー DNS 53

16 NTPサービス利⽤ API管理開発者ポータルDataPower Gateway

NTPサーバー NTP 123

17 syslog転送 API管理開発者ポータルDataPower Gateway

syslogサーバー UDP 514 ※4

※3:1つのIPアドレス/ホスト名しか登録できない※4:API管理は1つのIPアドレス/ホスト名しか登録できない

© 2017 IBM Corporation26

q API Connect Knowledge Centerhttps://www.ibm.com/support/knowledgecenter/ja/SSMNED

q DataPower Gateways Knowledge Centerhttps://www.ibm.com/support/knowledgecenter/ja/SS9H2Y

q API Connect システム要件https://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.install.doc/overview_apimgmt_requirements.html

参考情報