Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

さくらのクラウドハンズオン~ロードバランサ編~

2,150 views

Published on

ハンズオン配付資料

Published in: Technology
  • Be the first to comment

さくらのクラウドハンズオン~ロードバランサ編~

  1. 1. さくらのクラウド体験ハンズオン - ロードバランサ編 - 2016年9月27日(火) さくらインターネット株式会社 Technology Evangelist 前佛雅人 @zembutsu_works
  2. 2. 本日の内容 14:30~15:00 開場 15:00~15:30 さくらのクラウドご紹介 ロードバランサの基礎知識 15:30~15:40 ログイン&休憩 15:40~17:00 ハンズオン 17:00~ 質疑応答・閉会 2
  3. 3. さくらのクラウド
  4. 4. さくらインターネットをご存知ですか? 新しい社会のインフラを支えながら、最先端のサービスを構築 4
  5. 5. さくらのクラウド 開発者志向のシンプルなクラウド 何の変哲もない IaaS 型クラウドを圧倒的なパフォーマンスで提供 2011年12月、サービス提供開始 高い自由度 高性能サーバをスケールアウト ネットワークも自由に組める 仮想データセンタ 「インスタンス」よりも「サーバ」という概念を大切にしたい 5
  6. 6. ブラウザで仮想データセンタを操作 東京第1ゾーン、石狩第1・第2ゾーン、Sandbox 6
  7. 7. 特長 わかりやすいコントロールパネル 初期費用無料 すぐにサーバを作成 API 専用サーバ連携 VPS からの移行 堅牢な設備とセキュリティ 安定の高速ネットワーク 障害発生のリスク回避 保守対応の運用負担を軽減 7
  8. 8. サーバ/ディスク  サーバ作成・プラン変更 (東京94種類、石狩42種類)  SSD標準ディスクの追加・変更  アーカイブ、ISO イメージ  スタートアップスクリプト …etc セキュリティ  インターネット VPN  ファイアウォール機能  SSL 証明書  改ざん通知  WAF (SiteGuard Lite) ネットワーク  スイッチ  VPC ルータ機能  ブリッジ接続(ゾーン間接続)  ハウジングや専用サーバとも連携  専用スイッチ …etc オプションサービス  DNS  シンプル監視  オブジェクト・ストレージ  クラウド型メール配信サービス (SendGrid) 負荷分散  ロードバランサ  冗長構成ロードバランサ  ハイスペックプラン  GSLB(広域負荷分散) インターフェース  コントロールパネル  コントロールパネル(英語版)  さくらのクラウド API  Saklient(APIライブラリ) アクセス制御  コントロールパネルの二段階認証  〃 ユーザ・アカウント機能  〃 ユーザごとのアクセスレベル  ハイブリッド接続  プライベートリンク サービス間接続 8
  9. 9. 料金体系 初期費用ゼロ、1日10時間以上は一定料金 例:石狩リージョン、1 CPU、1GBメモリ、20GB SSD の場合 2410 10 10 9 97 9
  10. 10. リソース単位のシンプルな料金体系 20日までは日割り料金で、以降は月額料金固定 サーバでは、ネットワーク・トラフィック課金やI/Oに応じた追加料金は不要 料金は、サーバとディスクの基本料金と、アプライアンスの費用 + 10
  11. 11. 割引パスポート 利用権のご購入で、最大20%割引 11
  12. 12. 詳細資料 最新情報は SlideShare をご覧ください さくらインターネット株式会社アカウント http://www.slideshare.net/sakura_pr [さくらのクラウド] ウェブアクセラレータ紹介資料 シンプル監視アプライアンス導入ガイド 12
  13. 13. ロードバランサの基礎知識
  14. 14. ロードバランサ(負荷分散)の役割 サーバの性能をスケール 1台のサーバでは処理能力に限界があるが、同じサービスを提供するサーバを同一ネットワーク上に並べると、 サービスのスケールアウト(拡大)やスケールイン(縮小)が可能になる 障害発生時のサービス継続 複数のサーバでリクエストを分散しているため、ロードバランサ側でサーバの障害を把握できれば、対象サーバ を負荷分散対象から切り離せる  サービス利用者は問題を意識せずに、サービスの利用を継続できる 負荷分散手法 さくらのクラウドは DSR(Direct Server Return)方式であり、VRRP を用いた冗長化に対応 そのほかにも、DNS ラウンドロビン、ウェブサーバのリバースプロキシ設定といった手法がある 14
  15. 15. さくらのクラウドのロードバランサ ロードバランサ・アプライアンス 同一の性能を持つ機械を追加し、負荷を分散することをスケールアウトと呼ぶ さくらのクラウドは仮想的にスイッチやサーバを組みあわせてネットワークを組めるため、スケールアウトが早い スケールアウトによる負荷分散は、クラウドの利点をより活用できる クローン機能 同じ内容のディスクの複製が簡単なので ロードバランサと組みあわせてスケールアウトしやすい 15
  16. 16. 構成例1 ルータ+スイッチでウェブサーバの負荷分散 16
  17. 17. 構成例2 スイッチでデータベースの負荷分散 17
  18. 18. ロードバランサ導入の流れ 1. ルータ+スイッチ、またはスイッチの作成 共用セグメントには、ロードバランサを設置できないため、スイッチの作成が必要 2. 実サーバ上でのネットワーク設定 DSR 構成でロードバランシング設定を有効化するため、一般的な DSR 構成と同じ設定が必要 • ループバック用アドレスを lo:0 デバイスに追加 • ループバック用アドレスが ARP リクエストに応答しないよう kernel パラメータ設定 3. コントロールパネル上での設定 ロードバランサの追加と、実サーバやソーリーサーバ設定の追加と反映 18
  19. 19. 仕様 19 構成 L4 ロードバランサ DSR(Direct Server Return)方式 分散方式 リーストコネクション(重み付け無し) スティッキーセッション 非対応 ロードバランサの冗長化 VRRPを用いた冗長化に対応 仮想IPアドレス(VIP)xポート番号 最大4個まで 設定可能な実サーバ数 最大40台 性能目安(最大値) 標準プラン 送信トラフィック: 100Mbps 受信トラフィック: 100Mbps セッション数: 4,000セッション 毎秒接続数: 100cps程度 ハイスペックプラン 送信トラフィック: 1Gbps 受信トラフィック: 500Mbps セッション数: 10,000セッション 毎秒接続数: 3,000cps程度
  20. 20. 料金 20 プラン 月額料金(税込) 日割料金(税込) 時間割料金(税込) 標準プラン シングル構成 2,571 円 129 円 12 円 冗長構成 5,142 円 259 円 25 円 ハイスペックプラン シングル構成 4,860 円 243 円 24 円 冗長構成 9,720 円 486 円 48 円
  21. 21. VIPに関する設定 21 VIPアドレス ロードバランサが受け持つ仮想IPアドレスを設定 ポート番号 仮想IPアドレスで着信を受けるポート番号を設定 設定値は1~65535の整数値 チェック間隔 (秒) 実サーバの死活監視を実行する間隔を設定 設定値は10以上の整数値 ソーリーサーバ バランシング先が全てダウン状態となった場合の誘導先を設定 • VIPの設定は、IPアドレスとポート番号の組み合わせです。HTTP(80番)とHTTPS(443番)の両方に 対応する場合は、2個消費します。 • VIPの設定は4個が上限ですので、HTTP/HTTPS両対応の場合はグローバルIPアドレスは2個 までとなる計算です。
  22. 22. ハンズオン http://www.slideshare.net/ sakura_pr/
  23. 23. 本ハンズオンの構成 23 ロードバランサ Webサーバ ルータ+スイッチの専用ネットワーク・セグメント
  24. 24. コントロールパネルにログイン http://cloud.sakura.ad.jp/ にアクセス 24
  25. 25. コントロールパネルにログイン 会員IDとパスワードを入力し、ログイン ハンズオンでは、こちらを使用します 25
  26. 26. ログイン後の画面管理系メニュー ユーザ@会員ID ログアウト サービスの 選択 質問以外の コンパネの バグレポートや 機能要望など 26
  27. 27. 会員IDとアカウント 27 会社・団体・個人 会員ID コントロールパネル 契約の管理 請求の管理 レンタルサーバーの管理 ドメインの契約 さくらのVPS コントロールパネル さくらのクラウド コントロールパネル サーバの管理 DNSの管理 サーバの管理 DNSの管理 請求の管理(アカウント)
  28. 28. さくらのクラウドとアカウント 28 会社・団体・個人 全ての権限を持つ アカウントA さくらのクラウド コントロールパネル アカウントB アカウントC アクセスレベル(IaaS) 作成・削除 編集 パワー 閲覧 不可 アカウント権限 オブジェクトストレージ(OS) ウェブアクセラレータ(WA) イベントログ(EL) 請求情報(BI) ┗API Key A1 ┗API Key B1 ┗API Key C1 ユーザX ユーザY ユーザZ ┗A:作成 | OS,WA,EL,BI ┗B:作成 | OS,WA,EL,BI ┗C:作成 | OS,WA,EL,BI ┗A:閲覧 | EL,BI ┗B:閲覧 | EL,BI ┗C:閲覧 | EL,BI ┗A:作成 | OS,WA,EL,BI ┗B:閲覧 | - ┗C不可 | - 会員ID
  29. 29. 1. ルータ+スイッチ作成 29 ①左メニューの[スイッチ]をクリック ②右上の[追加]をクリック ① ②
  30. 30. 30 ④ ⑤ ③分かりやすい[名前]をつけます ④[ルータ]の項目は、[はい]を選択します
  31. 31. 31 ⑤ ⑥ ⑤[プリフィックス]は、[/28 (16 IP) ]を選択します ⑥[帯域幅]は、[100Mbps共有]を選びます ⑦[作成]をクリックします ⑦ ⑧しばらく待ちます
  32. 32. 32 ⑨完了したら、[スイッチ]の画面で一覧に表示されます。
  33. 33. さくらのクラウド一覧画面での基本操作 33 一つを選択する場合1 複数選択する場合 一つを選択する場合2 ・行を右クリックする ・行の1番右の下向きの▲をクリックする 右の図のようなプルダウンメニューが出て、 希望する操作を選択できます。 ・行をダブルクリックする 「詳細」画面に遷移します。 詳細画面に行きたい場合に便利です。 ・①左のチェックボックスをチェックし、 ②右上のメニューを選択 作成・削除などの作業を一括実行できます。 一つを選択して、詳細画面の移動もできます。 ① ① ① ②
  34. 34. IPアドレスの管理 /28 の IP アドレスを管理しましょう 1. ネットワークアドレスを確認します。 スイッチ一覧から対象のスイッチの[詳細]を選び、[ルータ]タブ を開き、情報を確認します。 2. 16個の IP アドレスを記入します。 3. 随時作業にあわせて更新します。 34
  35. 35. 2. ロードバランサの作成 35 ①
  36. 36. 36 先ほど作成したルータ+スイッチを選択 可用性向上のため冗長化を選択します。 5: LB1 #1 のIPアドレスを選択 6: LB1 #2 のIPアドレスを選択 2: ゲートウェイ のIPアドレスを選択 xxx.xxx.xxx.5 xxx.xxx.xxx.6 xxx.xxxx.xxx.2
  37. 37. 37
  38. 38. 3. ロードバランサに VIP 追加 38 ①該当行をダブルクリックします ②VIP設定をクリックします
  39. 39. 39 「9: LB1-VIP1」のIPアドレスを記入 「80」を記入 10〜60を記入 今回は無記入 xxx.xxx.xxx.9
  40. 40. サーバ作成方法について サーバは学習のため3つの方法で作ります 1. まず1台目:普通に作ります(スタートアップスクリプト lb-dsr利用) 普通に作成する分、初期設定作業が必要です。 2. 2台目:サーバをクローンします 動作中の01サーバなどを元に、サーバをクローンします。動作中のサーバから作成するので 設定がほぼ不要です。 3. 3台目:アーカイブから作成します 設定が終わったサーバのディスクをアーカイブとして保存し、そのアーカイブから新サーバを構築。 アーカイブから設定するので設定は最小限かつ、コピー元の品質が一定。 それぞれメリットとデメリットがあります。 40
  41. 41. それぞれの作成方法の利点・欠点 普通に作る方法 もっとも一般的な方法 各種の設定を都度行う必要があるため、都度、手間が発生 クローン(複製機能)を使う方法 現時点でのサーバのクローンが作成できるので、設定漏れなどは起きにくい データベースなどの動作しながらコピーが不安な場合(データの完全性を保証したい場合)は、電源を停止した 状態でのコピーを推奨 アーカイブを使う方法 セキュリティアップデート・設定変更などを毎回実行するのは大変ですが、アーカイブを使えば便利 クローンが都度ディスクを作成するのに対し、アーカイブから作成されるサーバのディスクは常に均一 41
  42. 42. 4.1 サーバ作成(普通に作成) 42 ①左メニューの[サーバ]をクリック ②右上の[追加]をクリック ① ② ③[シンプルモード]のチェックを外す ⑤ディスク作成画面ではCentOS 6.x のアーカイブを選択(その他はデフォルト) ④[サーバプラン]は以下の通り選択
  43. 43. 43 ⑥[スイッチに接続]を選択 ⑦先ほど作成したスイッチ[Switch1]を選択 ⑥ ⑧サーバに関する諸設定 ⑦ web01 のIPアドレスを選択 管理サーバのパスワードを入力 CentOSなのでrootユーザの パスワードです 対象サーバのホスト名を入力 ここでは、web01と入力 xxx.xxx.xxx.9 xxx.xxx.xxx.2
  44. 44. 44 ⑨[配置するスタートアップスクリプト]で[[public] lb-dsr] を選択します。 ⑩[ロードバランサのVIP]に、[7: LB1-VIP1]のIPアドレスを入力します。 [7: LB1-VIP1] のIPアドレスを入力 ※ここは選択肢は出てきません ⑨ ⑩ xxx.xxx.xxx.7
  45. 45. 45 ⑪サーバの情報[名前]を入力 ※その他は任意入力項目 ※この情報はコンパネでの表示項目です ⑫ 1番右下にある、[作成]をクリック Web01 しばらく待ちます
  46. 46. マップ画面 46 [マップ]画面で、作成した構成をグラフィカルに確認できます 今回は右図のようになります。
  47. 47. 4.1.1 lb-dsrスタートアップスクリプト lb-dsr スタートアップスクリプトで実施する内容 • sysctl.confの設定追加 • ループバックアドレスの追加 • 対応OS:CentOS6 具体的な設定内容1 ● sysctl.confの設定追加 ループバックアドレスに設定した仮想IPアドレスでARPリクエストに応答しないようにカーネルパラメータを設定します。 /etc/sysctl.confファイルに以下の2行の設定を追記します。 net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 追記後、sysctl.confの設定内容を反映します。 # sysctl -p 47
  48. 48. 具体的な設定内容2 ● ループバックアドレスの追加 新たにlo:0デバイスを作成し、仮想IPアドレス(今回の構成例では203.0.113.8)を設定します。/etc/sysconfig/network- scripts/ifcfg-lo:0ファイルを新規に作成し、以下の内容を記載します。 DEVICE=lo:0 IPADDR=203.0.113.8 NETMASK=255.255.255.255 作成後、lo:0デバイスを有効化します。 # ifup lo:0 ifconfigコマンドで設定が有効化されていることを確認します。 # ifconfig lo:0 lo:0 Link encap:Local Loopback inet addr:203.0.113.8 Mask:255.255.255.255 UP LOOPBACK RUNNING MTU:16436 Metric:1 48
  49. 49. 4.1.2 最小限のサーバ設定 サーバにsshでログインする ウェブサーバでサーバ名を表示するページ設置 設定を確認 ブラウザでアクセスをしてサイト表示を確認 49
  50. 50. 50 ※ここからはSSH接続してコマンドライン上でサーバの操作を行います 本スライドではTeraTermを使用した際の例を記載します ①[ホスト]にWebサーバの グローバルIPアドレスを入力 ②[セキュリティ警告] が表示されますが、 チェックボックスに チェックが入っている ことを確認し[続行]を クリック ③ユーザ名にroot パスワードはサーバ 作成時に入力したパ スワードを入力する ④ログインに成功 すると、右のよう にプロンプトが 表示されます
  51. 51. 51 [root@web01 ~]# yum install httpd [root@web01 ~]# chkconfig --list httpd httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@web01 ~]# chkconfig --level 3 httpd on [root@web01 ~]# chkconfig --list httpd httpd 0:off 1:off 2:off 3:on 4:off 5:off 6:off [root@web01 ~]# service httpd start ※以下の工程は、ハンズオンの分かりやすさのための工程で通常は必要はありません ※ホスト名をトップページに表示するようにします [root@web01 ~]# uname -n > /var/www/html/index.html ※再起動時にホスト名をトップページに書き込むようにします(サーバ複製用) [root@web01 ~]# echo "uname -n > /var/www/html/index.html" >> /etc/rc.local ※以下のように設定が反映しているのを確認します。 [root@web01 ~]# tail -1 /etc/rc.local uname -n > /var/www/html/index.html コンテンツを用意 ウェブサーバをインストール・起動・有効化
  52. 52. アーカイブの仕様 詳細仕様を公開しています CentOS6 http://cloud-news.sakura.ad.jp/2016/06/24/centos68-changelog/ CentOS7 http://cloud-news.sakura.ad.jp/2016/07/01/centos72-changelog/ 52
  53. 53. 4.2 サーバをコピー(クローン) 53 ①左メニューの[サーバ]をクリック ②web01(コピー元)の行の右端の下向き▲を クリックして、クローンをクリック ① ② ① ③[シンプルモード]のチェックは外れています ※クローン時はご利用いただけません。
  54. 54. 54 ④[サーバプラン]は以下の通り選択 ⑤ディスクはweb01用のものが固定 ⑥web02用のIPアドレス、パスワード、ホスト名 を入力 ※今回はスタートアップスクリプトを選択しません ⑦「6.サーバの情報」の名前を「Web02」にする ⑧[作成]をクリック
  55. 55. 55
  56. 56. 4.3 サーバをアーカイブから作成 56 web01 web- master web02 web03 アーカイブを作成 アーカイブからディスクを作成 クローンと異なり、アーカイブを元に新しいサーバ用のディスクと何度でも作成可能
  57. 57. 4.3.1 アーカイブを作るには サーバを停止(必須ではありません) 今回はweb01をマスターにしてアーカイブを作成します アーカイブを作るサーバを停止します(必須ではない) サーバをアーカイブからサーバを作成 作成したアーカイブを元にサーバを作成します サーバのIPアドレスをこれにしてください 57
  58. 58. 58 ①サーバを停止 ②ディスクをアーカイブにコピー
  59. 59. 59 [web-master]と入力します
  60. 60. 60
  61. 61. 4.3.2 アーカイブからサーバ作成 61 ①左メニューの[サーバ]をクリック ②右上の[追加]をクリック ① ② ③[シンプルモード]のチェックを外す ⑤ディスク作成画面ではマイアーカイブを選択し、 マイアーカイブ選択では、[web-master]のアーカ イブを選択(その他はデフォルト) ④[サーバプラン]は以下の通り選択
  62. 62. 62 ⑥[スイッチに接続]を選択 ⑦先ほど作成したスイッチ[Switch1]を選択 ⑥ ⑧サーバに関する諸設定 ⑦ web03 のIPアドレスを選択 管理サーバのパスワードを入力 CentOSはrootのパスワード 対象サーバのホスト名を入力 ここでは、web03と入力します Web03 xxx.xxxx.xxx.xxx xxx.xxxx.xxx.xxx
  63. 63. 63 ⑨サーバの情報[名前]を入力 ※その他は任意入力項目 ※この情報はコンパネでの表示項目です ⑩ 1番右下にある、[作成]をクリック Web03
  64. 64. 3つのサーバ作成方法を比較 2台目と3台目のサーバは、 初期設定をしていません 1台目で初期設定を終えており、残りのサーバはディスクをコピーしたら作業が不要でした。 また、トップページは起動時に各サーバに合わせて自動で生成するようにしました(ハンズオン用の設定のため、 実運用では別の設定が必要です)。 64
  65. 65. 動作確認 web01~web03の各ホストのIPアドレスを表示 ブラウザでアクセスすると、それぞれのホスト名を画面上に表示します。 65
  66. 66. マップを確認 66
  67. 67. Tip:サーバとディスクの収容先 サーバのホストの収容先確認 サーバは再起動すると別ホストになる可能性がある 新規で作ると別の所になる可能性がある メンテや障害で移動する場合はある ディスクの収容先確認 サーバは再起動すると別ホストになる可能性がある 新規で作ると別の所になる可能性がある メンテや障害で移動する場合はある 67
  68. 68. 5.1 ロードバランサに実サーバを追加 68 ホストを追加後、[反映]ボタンを クリックすると、設定が有効化
  69. 69. 5.2 実サーバの設定確認 69 ↑コネクション数 ↑ステータス DOWNだと何らかのトラブルが発生している
  70. 70. 6.1 ブラウザで再読み込みを繰り返す 複数のサーバをランダムに表示 画面にホスト名が表示されます。 ロードバランサーの仕様 リーストコネクション(最小接続)方式です。 スティッキーセッション(パーシステンス)は対応していません。 パーシステンスについて さくらのクラウドのロードバランサはL4LBです。 L4でのパーシステンスは非常に偏りが出やすく、かつIPアドレスがランダムに変わる環境ではそもそも維持が できないため採用していません。 L7LBでは対応可能ですが、現状の対応予定はありません。 70
  71. 71. 6.2 サーバ停止 作業 サーバの停止を行います。サーバ一覧から対象サーバをシャットダウン後、ロードバランサの VIP をブラウザで リロードします。表示は変わりましたか? ロードバランサの実サーバ一覧画面の状況は変わりましたか? 解説 停止したサーバの状態は[ DOWN ]とロードバランサから見なされるため、アクセルは割り振られなくなります。 71
  72. 72. 本ハンズオンの構成 72 ロードバランサ Webサーバ ルータ+スイッチの専用ネットワーク・セグメント
  73. 73. 質疑応答 何か気になるところはありますか?
  74. 74. リファレンス • ロードバランサ | さくらのクラウドニュース http://cloud-news.sakura.ad.jp/load-balancer/ • ロードバランサ – さくらのサポート情報 https://help.sakura.ad.jp/hc/ja/articles/206208781- %E3%83%AD%E3%83%BC%E3%83%89%E3%83%90%E3%83%A9%E3%83%B3%E3%82%B5 • ロードバランサとクローン機能を使ってお手軽にスケールアウトしてみよう – 「楽しいさくらのクラウド」(12) http://knowledge.sakura.ad.jp/beginner/3529/ • 【TIPS】ロードバランサにソーリーサーバを追加 | さくらのクラウドニュース http://cloud-news.sakura.ad.jp/2016/04/14/loadbalancer-add-sorry/ • GSLB(広域負荷分散アプライアンス) | さくらのクラウドニュース http://cloud-news.sakura.ad.jp/gslb/ 74
  75. 75. ありがとうございました 75

×