softlayerクラウド デザインパターン解説
TRANSCRIPT
© IBM Corporation 1
Presented by:
SoftLayerクラウド
デザインパターン解説
2015年9月2日
高良 真穂
日本IBM株式会社
クラウド事業統括
テクニカルサービス 本資料は、発表者によって準備された資料であり
IBMの公式の見解を代表するものではありません。
© IBM Corporation 2 © IBM Corporation 2
自己紹介
高良 真穂 (たから まほ)
勤務先
日本アイ・ビー・エム
クラウド事業統括
テクニカル・サービス
ITアーキテクト
担当部長
ウェブ記事
ソフトレイヤー活用ガイド http://www.gg-web.jp/document/
ソフトレイヤー探検隊 https://goo.gl/N7LjGC
冊子本
ソーシャル・ネットワーク
Facebook https://www.facebook.com/maho.takara
Twitter https://twitter.com/MahoTakara
GitHub https://github.com/takara9
Qiita http://qiita.com/MahoTakara
Docker Hub https://hub.docker.com/u/maho/
得意技
たこ焼き作ること
趣味 工作とか
いろいろ
© IBM Corporation 3
インターネット上の日本語公開資料
ソフトレイヤーの活用ガイド
デザイン・パターン: http://gg-web.jp/document/DesignPattern/
一般のクラウドと同じことを、SoftLayerを使ってどの様に実現できるかの観点
で、課題を解決するための設計レベルの指南を得ることができるものです。マネージャー、コンサルタント、アーキテクトの方々が、読みやすく理解できる様に簡潔な文と図で解説する形式です。
コンフィグレーション・ガイド: http://gg-web.jp/document/ConfigGuide/
これまでSoftLayerを使ってシステムを構築してきたノウハウをベースに、実践的な逆引きの手引書になっています。 エンジニアが実現したい事を出発点にして、どの様に実現するのかをガイドしたもので、SoftLayerの仮想サーバー、ベアメタルサーバーの基本的利用方法から、 アプライアンス等FortiGate, NetScaler, QuantaStor,
VMware, Vyatta, EVault などを網羅して、実現する方法を理解しやすく案内しています。
ユースケース: http://gg-web.jp/document/UseCase/
ビジネスの発展によって変化していく課題を、クラウドの特性を利用して、どの様に解決できるのかといったシナリオベースの展開で、 上記のコンフィグレー
ション・ガイドやデザイン・パターンを参照しながら、対応していくストーリとなっています。
今日はパターンを絞って
詳細に解説します
© IBM Corporation 4
セッション内容
• デザインパターンの必要性
• 良く利用するパターン解説 • ロードバランサーによるサーバーの冗長化
• アクティブ・スタンバイ・パターン
• まとめ
© IBM Corporation 5 © IBM Corporation 5
SoftLayerクラウド デザインパターンは、 なぜ必要なのか?
© IBM Corporation 6
デザインパターンの必要性
–オンプレミスは、注文住宅の様なもの
• 好きな様に設計できる
• でも、値段が高い!
• でも、完成まで待たされる
• プロジェクト方式で建築
–クラウドは、プレハブ住宅
• 工場制作部品を現地で組立て
• 生活スタイルを合わせるしかない
• でも、安価で、すぐ使える!
• 既製品を注文するのと同じ
オンプレミスとクラウドの違い
© IBM Corporation 7
デザインパターンの必要性
–クラウドは、自由度に制限を加え自動化を促進した運用
• サーバー構成を規格化画一化することで自動化を進め
• 注文から利用開始までの時間を5分〜2時間以内に短縮
• サーバーLAN構成を単純化することでネットワーク管理を自動化
• クラウドで出来る事には制限がある。オンプレミスの様な自由度は無い
–クラウドの制約と戦うのではく、適用可能な分野に当てはめる
• オンプレミスの自由度を犠牲にして、自動化とスピードを得たのがクラウドという運用
• クラウドの制約を前提として、自動化とスピードで価値を生む分野に適用する
–クラウドと親和性の高い設計パターンが求められていた
• オンプレミスの設計をクラウドに適用するといった不毛な戦いを避ける
• 適切なOSSを前提として、プロビジョニングと同じスピードで構築
© IBM Corporation 8 © IBM Corporation 8
良く利用する デザイン・パターン ロードバランサーによるサーバーの冗長化
© IBM Corporation 9
LBは3つ方式から選択可能
ウェブ・サーバー 共用型/専用型
NetScaler
N+1構成
ウェブ・サーバー
LVS N+1構成
ウェブ・サーバー
ウェブ・サーバー
NetScaler
DNS
①ローカル・ロードバランサー (共用型と専用型)及び、NetScaler ③グローバル・ロードバランサー
②Linux Virtual Server
VIP
VIP
Virtual Servers
Virtual Servers
Virtual Servers
Virtual Servers
Virtual Servers
NetScaler
出典 ソフトレイヤー活用技術情報 デザインパターン
2.1 ロードバランサーによるサーバーの冗長化
https://gg-web.jp/document/DesignPattern/02001/index.html
2.2 データセンターレベルの冗長化
https://gg-web.jp/document/DesignPattern/02002/index.html
注目
© IBM Corporation 10
利用できる各LBの特徴
特徴 LVS
(Linux Virtual Server)
ローカル ロードバランサー (共用型)
ローカル ロードバランサー (専用型)
Citrix NetScaler VPX
グローバル・サーバー
ロードバランス GSLB NetScaler VPX
適用範囲 DC内 DC内 DC内 DC内 DC間
共用/専用 専用 共用 専用 共用 共用
VIP数 Public アドレス 1,2,4,8,16 から選択
Publicアドレス 1
Public アドレス 1,2,4,8,16 から選択
Public アドレス 1,2,4,8,16 から選択
Public アドレス 1,2,4,8,16 から選択
HA構成 可能 なし 可能 可能 可能
SSLオフロード 不可 可能 可能 可能 可能
オートスケール との連動
不可 可能 可能 不可 不可
能力 仮想サーバー に依存
同時250〜 2500接続
同時15000〜150000接続
10Mbps〜1000Mbps
10Mbps〜1000Mbps
費用 OSSのため
サーバー費のみ $50〜
$2500 $999〜 $3998
$299〜 $1999
$499〜 $1999
その他 特徴
サーバー間の 負荷分散に適用可
低価格 AutoScale連動
高負荷対応 AutoScale連動
WAF, GSLBなども利用可
SLB,WAFなども 利用可
注目
© IBM Corporation 11 © IBM Corporation 11
今日はLVS利用の
デザインパターンに注目して詳細に解説します
ちょっと、その前に
LAN表記の説明
© IBM Corporation 12
ここでネットワークの表示について
Public LAN Private LAN
コリジョン
ドメイン
10Base/5
現在のスイッチLANイメージ
Network
Switch Network
Switch
Network
Switch
Network
Switch
Network
Switch
Network
Switch
Frontend
Customer
Router
Backend
Customer
Router
25年前のLAN
セグメント IPネットワーク
アドレス =
抽象化された
表現として便利だが。。。
(ちと古臭スギ)
ユーザー毎にVLANとIPネットを付与し、メディア上に混在する
10Mbps
10Gbps 10Gbps
40Gbps 40Gbps
由来は
コレ
SOFTLAYER
現在は
コレ
© IBM Corporation 13
ここでネットワークの表示について
Network
Switch Network
Switch
Network
Switch
Network
Switch
Network
Switch
Network
Switch
Frontend
Customer
Router
Backend
Customer
Router
Public ネットワーク Private ネットワーク VLANとIPネット
が複数含まれる
VLANとIPネット
が複数含まれる
Public VLAN
IP Subnet-B
IP Subnet-A
Private VLAN
IP Subnet-Y
抽象化
© IBM Corporation 14
LVSを利用するための準備
Public VLAN
Primary Subnet
Private VLAN
Primary Subnet
sjc01.bcr02a.1491 sjc01.fcr02a.1529
Subnet
のビュー
VLANのビュー
仮想サーバー
10.91.85.128/26 192.155.223.64/29
–仮想サーバー(Debian 8.x 64bit)のオーダーでVLANが自動割当
© IBM Corporation 15
LVS用サーバーのLAN環境
仮想サーバー
mh01
mh02
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
178
134
© IBM Corporation 16
LVS用サーバーのLAN環境
仮想サーバー
mh01
mh02
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
178
134
67
70
© IBM Corporation 17
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
Primary Subnetは全て予約済み
ウェブ・サーバー
LVS N+1構成 VIP
VIP
Virtual Servers
Virtual Servers
勝手に使っちゃダメ 課題 このPublic IP
アドレスは何処
から調達する?
© IBM Corporation 18
VIP は Portable Public から割当
ウェブ・サーバー
LVS N+1構成 VIP
VIP
Virtual Servers
Virtual Servers
Network -> IP Management -> Subnets -> Order IP address
© IBM Corporation 19
VIP は Portable Public から割当 追加サブネットのサイズを設定 VLANと紐付け設定
利用目的他
連絡先を設定
© IBM Corporation 20
VIP は Portable Public から割当
オーダー処理が完了すると、
VLANにポータブルIPアドレスが
追加されているのが確認できる
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
Portable Subnet
198.23.109.56/30
VLAN1529に追加
されたので上記の
様に表記しておく
© IBM Corporation 21
VIP用サブネットの準備完了
仮想サーバー
mh01
mh02
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
178
134
67
70
Portable Subnet
198.23.109.56/30
© IBM Corporation 22
LVSのVIP設定
mh01
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
178
134
67
70
Portable Subnet
198.23.109.56/30
keepalived
LVS
VIP
eth
1 eth
0
mh02
keepalived
LVS
eth
1
eth
0
VIP
VIP 198.23.109.58
LVSとHA化ソフトのインストールはコレだけ 設定はこれだけ
mh02は
BACKUPにする
VIPの設定
ポータブルIPから自身で割当て
© IBM Corporation 23
LVS DRの設定
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
Portable Subnet
198.23.109.56/30
VIP VIP 198.23.109.58
LVS#1
LVS#2
WebAPサーバー#1〜#3
• ダイレクト・ルーティングでは、keepalived.confにWebAPサーバーのPublic IPアドレスを割り当てる
• リダイレクトされたパケットを受け取る様にWebAPサーバーのループバックにVIPを設定する
VRRP
keepalived.conf
/etc/network/interfaces
© IBM Corporation 24
LVS DRの通信の流れ
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
Portable Subnet
198.23.109.56/30
VIP VIP 198.23.109.58
LVS#1
LVS#2
WebAPサーバー#1〜#3
VIPに出されたリクエストは、WebAPサーバーに転送されて、WebAPサーバーから直接応答される
リダイレクト
リクエスト
レスポンス
© IBM Corporation 25
LVS NATの設定
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
Portable Subnet
198.23.109.56/30
VIP
VIP 198.23.109.58
LVS#1
LVS#2
WebAPサーバー#1〜#3
WebAPサーバーにPrivate
IP を利用したい場合に便利であるが、
Private側にポータブル・
サブネットが必要かつ、全サーバーはポータブル・サブネットに接続する必要がある
VRRP
Portable Subnet
10.91.174.128/26
VIP
VRRP
VIP 10.91.174.134
keepalived.conf 続き keepalived.conf
© IBM Corporation 26
LVS NATの通信フロー
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Public VLAN
Primary Subnet
sjc01.fcr02a.1529
192.155.223.64/29
Portable Subnet
198.23.109.56/30
VIP
VIP 198.23.109.58 LVS#1
LVS#2
WebAPサーバー#1〜#3
NATは、WebAPのプライベートIPに出さないために利用される。 このため、WebAPサーバーからのレスポンスをLVSのPrivate側VIPに送る必要がある
VRRP
Portable Subnet
10.91.174.128/26
VIP
VRRP
VIP 198.23.109.58
リダイレクト
リクエスト
to VIP
レスポンス
レスポンス
to VIP
© IBM Corporation 27
水平分散 LVS パターンのまとめ
DR方式は簡単に使え、WebAPサーバーから直接応答を返すので、料金と負荷で有利
– DR (ダイレクトルーティング)方式
• VIPでリクエストを受けて、WebAPサーバーからレスポンスを返す
– 帯域プールを利用しなくても無料枠を使えるのでお得
– レスポンスがLVSのサーバーを通らないので負荷が軽い
– WebAPサーバーのループバックI/FにVIPを登録しなければならない
– WebAPにもパブリックIPアドレスが必要
– NAT (ナット)方式
• VIPでリクエストを受けて、VIPのアドレスでレスポンスを返す
– WebAPサーバーはプライベート・アドレスが使える
– 通信料金はLVSだけに掛ってしまう。 (帯域プールの利用が必要かも?)
– WebAPサーバーのループバックI/FにVIPを登録しなければならない
– プライベートIPのポータブル・サブネット
• サーバー全てに、追加のポータブル・サブネットの設定
• LVSはプライベートIP側にもVIPの設定
• WebAPサーバーのデフォルトGWは、LVSのプライベート側VIPを設定
おすすめ
© IBM Corporation 28 © IBM Corporation 28
仮想で
HA構成なら
別ハードに載せたいよね!
© IBM Corporation 29
基本は、出来るだけ分散させてデプロイするんだけど。。。
せめて確認したいよね。。。
Xenサーバー
管理LANの
IPアドレス Xenサーバー
管理LANの
IPアドレス
KVM Console
をクリックすると
VNCクライアントの
ポップアップが表示
© IBM Corporation 30
仮想
サーバー
5902
仮想
サーバー
5901
物理サーバーが、同じか異なるかは、
KVM Console の IPアドレスを手がかりに判別できる
Xen Server 10.3.14.205
仮想
サーバー
5900
物理サーバー
仮想
サーバー
5907
仮想
サーバー
5908
Xen Server 10.3.14.223
仮想
サーバー
5909
物理サーバー
VNCポート番号
物理サーバーの
管理LAN IPアドレス
このIPアドレスで
異なる物理サーバー
に載っているのが判る
© IBM Corporation 31 © IBM Corporation 31
良く利用する デザイン・パターン アクティブ・スタンバイのサーバーの冗長化
© IBM Corporation 32
text
アクティブ・スタンバイ構成
–データベース・サーバーは、システムの単一障害点となるため、必須の構成
–仮想サーバーとベアメタルの両方に適用できる方法でなければならない
MySQLサーバー
待機サーバー
相互監視
VIP
VIP
WebAPサーバー
障害時は、VIPが
移動する事によって
クライアントは
処理を継続できる
iSCSI (エンデュランス・ストレージ,
パフォーマンス・ストレージ)
データ領域
主サーバー
© IBM Corporation 33
text
アクティブ・スタンバイ構成
– VIPは同じ様にポータブル・サブネットから割り当てる必要がある
– WebAPサーバーの10.0.0.0のゲートウェイからポータブル・サブネットへのルーティングを通す為には、VLANs SPANの設定が必須
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Portable Subnet
10.91.174.128/26
WebAPサーバー#1〜#3
MySQLサーバー
待機サーバー
相互監視 VIP
VIP
iSCSI (エンデュランス・ストレージ,
パフォーマンス・ストレージ)
データ領域
主サーバー
© IBM Corporation 34
text
アクティブ・スタンバイ構成
– VLANs Spanは、VLAN間の疎通だけでなく、プライベート・サブネット間の疎通にも必要なので、必ずONにする
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Portable Subnet
10.91.174.128/26
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Portable Subnet
10.91.174.128/26
デフォルトではOFF
同じVLAN内の異なるサブネットでも疎通できない
ONにすると
プライベート・サブネット間の疎通が許可される
© IBM Corporation 35
text
iSCSIの設定
– iSCSI として パフォーマンス・ストレージ、または、エンデュランス・ストレージが利用できる
– Heartbeat からは、サービスを持っている時だけ、ファイルシステムをマウントする様に設定して、コンカレント・アクセスさせない
– iSCSIのインストールは、以下のウェブページを参考に
• ソフトレイヤー活用ガイド -> コンフィグレーションガイド -> 1 基礎編
– 1.6.6 パフォーマンス・ストレージを利用するには?
• http://www.gg-web.jp/document/ConfigGuide/01006_6/index.html
– 1.6.7 エンデュランス・ストレージを利用するには?
• http://www.gg-web.jp/document/ConfigGuide/01006_7/index.html
© IBM Corporation 36
text
アクティブ・スタンバイのHAソフトウェアの導入
– HAソフトウェアは、Linux Distribution のリポジトリから導入することで、数分以内に利用できる
–設定ファイルは3種類 ha.cf, haresources, authkeys
Private VLAN
Primary Subnet
sjc01.bcr02a.1491
10.91.85.128/26
Portable Subnet
10.91.174.128/26
MySQLサーバー
待機サーバー
相互監視 VIP
VIP
iSCSI (エンデュランス・ストレージ,
パフォーマンス・ストレージ)
データ領域
主サーバー
インストールはコレだけ
このひな形を
/etc/heartbeatに
展開して設定して
も良い
© IBM Corporation 37
text
アクティブ・スタンバイのHAソフトウェアの導入
–必須設定は、同じファイルを設定する
アクティブ・スタンバイのノードを登録
クラスタのメンバー間の稼働確認用
クラスタのメンバー間の認証に利用
クラスタのメンバー (uname –n で表示される文字列)
主サーバー
VIP iSCSIディスクのマウント
パラメータ サービス
© IBM Corporation 38
text
VIPの確認
– VIPは ip addr コマンドで確認できる
–プライマリ・サーバーをhaltすると、バックアップサーバーへVIPが起動、ファイルシステムをマウント、MySQLが起動して処理が継続する
© IBM Corporation 39
まとめ • デザインパターンの必要性
• クラウドの制約に逆らわず、効果的な適用ができる為
• 良く利用するパターン解説 • ロードバランサーによるサーバーの冗長化
• LVSは安価で高性能、設定も簡単、HA構成
• Linuxディストリビューションに含むソフトを利用
• ダイレクト・ルーティングがお勧め
• アクティブ・スタンバイ・パターン
• iSCSIディスクを共用ディスクとして、高可用性構成
• VIP、ファイルシステムとサービスの待機系へ移動
• Linuxディストリビューションに含むソフトを利用