さくらのクラウド導入セミナー(2016.10) 第二部 活用編
Post on 08-Jan-2017
160 views
TRANSCRIPT
さくらのクラウド活用編- さくらのクラウド導入セミナー・個別相談会(2016.10) -
2016年10月18日(火)
さくらインターネット株式会社
Technology Evangelist 前佛雅人
@zembutsu_works
直近のアップデート情報
アップデート情報
3
「データベースアプライアンス」(プレビュー版)の提供開始「DHCP」でグローバル IP アドレスの割り当てに対応(共有セグメント)「シンプル監視」のメール通知をグラフィカルに(HTML選択オプションを追加)「ウェブアクセラレータ」でTXTレコードを使ったドメイン認証に対応コントロールパネル機能改善
2016年 8月
「ブリッジ接続」の提供開始「ウェブアクセラレータ」のベータ版を提供開始「自動バックアップ」のベータ版を提供開始「割引パスポート」の提供開始メール配信サービス「SendGrid」の「さくらのクラウドユーザー向け特別プラン」提供開始パブリックスタートアップスクリプトに「Drupal for CentOS 7」を追加
2016年 7月
ハイブリッド接続は専用サーバ、ハウジングに加え、新たに「さくらのVPS」にも対応サーバ作成画面をリニューアルコントロールパネルの機能改善「イベントログ機能」の正式提供を開始
2016年 9月
「ウェブアクセラレータ」の正式提供を開始2016年10月
ウェブアクセラレータの基礎知識
4
ウェブアクセラレータとは
国内向けWebコンテンツ高速配信オリジンサーバ上のコンテンツをキャッシュし、国内最大級のバックボーン・ネットワークを通し高速配信できるサービス
アクセス集中負荷を回避サーバの代わりにウェブアクセラレータが応答
大量のアクセスが集中して、サーバでエラーが発生したり応答できなくなる状況を回避できる仕組み
必要なファイルのみ設定ウェブサーバ上で設定をすることにより、どのファイルをキャッシュする・しないかを選べる
5
ウェブアクセラレータの機能
対応プロトコルHTTP, HTTPS ※ HTTP/2 対応
設置拠点国内 IDC
配信ファイル種別制限なし
ファイルサイズ制限キャッシュは 200 MiB まで
対応オリジンサーバさくらのクラウド
さくらの VPS
さくらの専用サーバ
コントロールパネルダッシュボードでキャッシュ状況表示
機能の有効化・無効化
キャッシュ削除用画面
APIキャッシュ削除用のクラウド API を提供
6
ウェブアクセラレータを使うには
さくらのクラウドのコントロールパネルからコントロールパネル上の「ホーム」にある「ウェブアクセラレータ」のメニューを選択
特別なお申し込みや手続きは一切不要
画面上の設定ウェブアクセラレータでサイト登録
サーバ上の設定コンテンツをサーバにアップロード
ウェブサーバ側でキャッシュを有効化する設定
7
ウェブアクセラレータの料金
無償利用枠アカウントごとに 500 GiB まで無償でご利用可能(初回のみ・有効期限なし)
トラフィック従量課金
5円/1GiB (税込み)※ 1GiB 未満の端数は切り捨てての請求(例: 1.5GiB ご利用の場合は 1GiB 扱い)
課金対象ウェブアクセラレータから、アウトバウンド側のトラフィックのみ課金対象
インバウンド側(ウェブアクセラレータへの)通信は無償
8
ウェブアクセラレータ
オリジンサーバ
課金対象アウトバウンド
無料インバウンド
インターネット利用者
お支払い方法
ご利用料金はクラウドと合算ウェブアクセラレータのご利用料金は、さくらのクラウドのご利用料金に合算
ダッシュボードで利用状況確認
9
サービス比較
10
ウェブアクセラレータ コンテンツ配信サービス
対応プロトコル HTTP、HTTPS (HTTP/2対応) HTTP、HTTPS
ファイルサイズ 1ファイル200MiBまで 制限なし
オリジンサーバ 必要(サーバでキャッシュ設定も) 不要
コントロールパネル あり(キャッシュ削除 API) あり(キャッシュ削除 API)
料金500GiB の無償利用枠以降は、 5円/1GiB(税込)※ 1GiB 未満は切り捨てて計算
データ転送量+ストレージ使用料
ご利用開始まで コントロールパネルからすぐ利用可 ヒアリング後、5営業日程度
https://www.sakura.ad.jp/function/etc/cdn/http://cloud-news.sakura.ad.jp/webaccel/
ウェブアクセラレータの使い方
11
設定の流れ
①コンテンツのアップロードとウェブサーバでキャッシュ設定
②コントロールパネル上で有効化
12
ウェブアクセラレータ
オリジンサーバ
①アップロード
②キャッシュ有効化設定
.jpg
.png
オリジンサーバ上の設定
キャッシュ有効化Apache の httpd.conf または .htaccess での設定例:
・ ファイル拡張子が「.gif」「.jpeg」「.jpg」「.png」「.ico」に対し、Cache-Controlヘッダを有効化・ キャッシュ期間を1日( 86,400 秒)で指定
アクセスポートの公開オリジンサーバは「133.167.4.0/24」からの HTTP (80/tcp) およびHTTPS (443/tcp) からの通信許可が必要です
※サービス公開時点の情報であり、今後は接続元 IP アドレスが増える場合があります
13
<Files ~ “¥.(gif|jpe?g|png|ico)$”> Header set Cache-Control “s-maxage=86400, public”
</Files>
コントロールパネル上での設定
さくらのクラウドのアカウント登録まずアカウントをご登録いただきます(会員登録がお済みであれば、不要)
コントロールパネル上でメニューを確認
14
サイト登録の流れ(サブドメインの場合)
【サイト一覧】で をクリックします。
登録画面で、以下の項目を設定します。
• 名前 … コントロールパネル上で表示する名前
• ドメイン種別 … 独自ドメインもしくは、サブドメイン(webaccel.jp)を選択※ここでは「サブドメイン」を選択
• オリジンサーバ … ウェブサーバの IP アドレスを指定
入力後、 をクリックします。
15
有効化ボタンをクリック
初期状態ではキャッシュが「無効」です。
ボタンをクリックして、キャッシュを有効にします。
16
URL編集
ウェブアクセラレータの FQDN に変更画像やファイルなどのデータをキャッシュするには、HTML や CSS の URL をウェブアクセラレータの【公開ホスト FQDN】に書き換える必要があります。
サブドメイン例:
変更前 <img src=“/sample.png” />
変更後 <img src=“https://emfhe56b.user.webaccel.jp/sample.png” />17
動作確認
ブラウザからサイトを表示して確認HTML などを書き換えたあとは、サイトをブラウザで表示します。初回表示時はウェブアクセラレータからオリジンサーバにアクセスがあります。その後、キャッシュ指定をした対象のファイルであれば、ウェブアクセラレータ上にキャッシュします。
コントロールパネルで確認ダッシュボードと使用量実績で、キャッシュの状況を確認します。
18
サイト情報の更新
サイト一覧からサイト情報の変更メニューの【サイト一覧】から対象サイトの を選ぶと、以下の設定情報を変更できます。
• 名前の変更 … 一覧で表示する名前を変更• オリジンサーバ … IP アドレスの変更
ウェブアクセラレータの状態変更詳細から【ステータス】列にある「有効」「無効化」ボタンを押すことで、キャッシュ設定の有効・無効化の切り替えを行えます。
削除からサイト情報を削除できます。削除後も「使用料実績」や「ダッシュボード」上で情報をご確認いただけます。
19
Q&A
気になる所はありますか?
20
ロードバランサの基礎知識
ロードバランサ(負荷分散)の役割
サーバの性能をスケール1台のサーバでは処理能力に限界があるが、同じサービスを提供するサーバを同一ネットワーク上に並べると、サービスのスケールアウト(拡大)やスケールイン(縮小)が可能になる
障害発生時のサービス継続複数のサーバでリクエストを分散しているため、ロードバランサ側でサーバの障害を把握できれば、対象サーバを負荷分散対象から切り離せるサービス利用者は問題を意識せずに、サービスの利用を継続できる
負荷分散手法さくらのクラウドは DSR(Direct Server Return)方式であり、VRRP を用いた冗長化に対応
そのほかにも、DNS ラウンドロビン、ウェブサーバのリバースプロキシ設定といった手法がある
22
さくらのクラウドのロードバランサ
ロードバランサ・アプライアンス同一の性能を持つ機械を追加し、負荷を分散することをスケールアウトと呼ぶ
さくらのクラウドは仮想的にスイッチやサーバを組みあわせてネットワークを組めるため、スケールアウトが早い
スケールアウトによる負荷分散は、クラウドの利点をより活用できる
クローン機能同じ内容のディスクの複製が簡単なので
ロードバランサと組みあわせてスケールアウトしやすい
23
構成例1
ルータ+スイッチでウェブサーバの負荷分散
24
構成例2
スイッチでデータベースの負荷分散
25
ロードバランサ導入の流れ
1. ルータ+スイッチ、またはスイッチの作成共用セグメントには、ロードバランサを設置できないため、スイッチの作成が必要
2. 実サーバ上でのネットワーク設定DSR 構成でロードバランシング設定を有効化するため、一般的な DSR 構成と同じ設定が必要
• ループバック用アドレスを lo:0 デバイスに追加
• ループバック用アドレスが ARP リクエストに応答しないよう kernel パラメータ設定
3. コントロールパネル上での設定ロードバランサの追加と、実サーバやソーリーサーバ設定の追加と反映
26
仕様
27
構成 L4 ロードバランサ DSR(Direct Server Return)方式
分散方式 リーストコネクション(重み付け無し)
スティッキーセッション 非対応
ロードバランサの冗長化 VRRPを用いた冗長化に対応
仮想IPアドレス(VIP)xポート番号 最大4個まで
設定可能な実サーバ数 最大40台
性能目安(最大値)
標準プラン
送信トラフィック: 100Mbps受信トラフィック: 100Mbpsセッション数: 4,000セッション毎秒接続数: 100cps程度
ハイスペックプラン
送信トラフィック: 1Gbps受信トラフィック: 500Mbpsセッション数: 10,000セッション毎秒接続数: 3,000cps程度
ロードバランサ・アプライアンス料金
28
プラン 月額料金(税込) 日割料金(税込) 時間割料金(税込)
標準プランシングル構成 2,571 円 129 円 12 円
冗長構成 5,142 円 259 円 25 円
ハイスペックプランシングル構成 4,860 円 243 円 24 円
冗長構成 9,720 円 486 円 48 円
VIPに関する設定
29
VIPアドレス ロードバランサが受け持つ仮想IPアドレスを設定
ポート番号仮想IPアドレスで着信を受けるポート番号を設定設定値は1~65535の整数値
チェック間隔(秒)
実サーバの死活監視を実行する間隔を設定設定値は10以上の整数値
ソーリーサーバ バランシング先が全てダウン状態となった場合の誘導先を設定
• VIPの設定は、IPアドレスとポート番号の組み合わせです。HTTP(80番)とHTTPS(443番)の両方に対応する場合は、2個消費します。
• VIPの設定は4個が上限ですので、HTTP/HTTPS両対応の場合はグローバルIPアドレスは2個までとなる計算です。
構成例
30
ロードバランサ Webサーバ
ルータ+スイッチの専用ネットワーク・セグメント
コントロールパネルにログイン
http://cloud.sakura.ad.jp/ にアクセス
31
コントロールパネルにログイン
会員IDとパスワードを入力し、ログイン
ハンズオンでは、こちらを使用します 32
ログイン後の画面管理系メニュー ユーザ@会員ID ログアウト
サービスの選択
質問以外のコンパネのバグレポートや機能要望など
33
1. ルータ+スイッチ作成
34
①左メニューの[スイッチ]をクリック②右上の[追加]をクリック
①
②
35
④
⑤
③分かりやすい[名前]をつけます④[ルータ]の項目は、[はい]を選択します
36
⑤
⑥
⑤[プリフィックス]は、[/28 (16 IP) ]を選択します⑥[帯域幅]は、[100Mbps共有]を選びます⑦[作成]をクリックします
⑦
⑧しばらく待ちます
37
⑨完了したら、[スイッチ]の画面で一覧に表示されます。
さくらのクラウド一覧画面での基本操作
38
一つを選択する場合1
複数選択する場合
一つを選択する場合2
・行を右クリックする・行の1番右の下向きの▲をクリックする右の図のようなプルダウンメニューが出て、希望する操作を選択できます。
・行をダブルクリックする「詳細」画面に遷移します。詳細画面に行きたい場合に便利です。
・①左のチェックボックスをチェックし、②右上のメニューを選択作成・削除などの作業を一括実行できます。一つを選択して、詳細画面の移動もできます。
①
①
①
②
2. ロードバランサの作成
39
①
40
先ほど作成したルータ+スイッチを選択
可用性向上のため冗長化を選択します。
5: LB1 #1 のIPアドレスを選択
6: LB1 #2 のIPアドレスを選択
2: ゲートウェイ のIPアドレスを選択
xxx.xxx.xxx.5
xxx.xxx.xxx.6
xxx.xxxx.xxx.2
41
3. ロードバランサに VIP 追加
42
①該当行をダブルクリックします
②VIP設定をクリックします
43
「9: LB1-VIP1」のIPアドレスを記入
「80」を記入
10〜60を記入
今回は無記入
xxx.xxx.xxx.9
サーバ作成方法について
3つの方法1. まず1台目:普通に作ります(スタートアップスクリプト lb-dsr利用)
普通に作成する分、初期設定作業が必要です。
2. 2台目:サーバをクローンします
動作中の01サーバなどを元に、サーバをクローンします。動作中のサーバから作成するので設定がほぼ不要です。
3. 3台目:アーカイブから作成します
設定が終わったサーバのディスクをアーカイブとして保存し、そのアーカイブから新サーバを構築。
アーカイブから設定するので設定は最小限かつ、コピー元の品質が一定。
それぞれメリットとデメリットがあります。
44
それぞれの作成方法の利点・欠点
普通に作る方法もっとも一般的な方法
各種の設定を都度行う必要があるため、都度、手間が発生
クローン(複製機能)を使う方法現時点でのサーバのクローンが作成できるので、設定漏れなどは起きにくい
データベースなどの動作しながらコピーが不安な場合(データの完全性を保証したい場合)は、電源を停止した状態でのコピーを推奨
アーカイブを使う方法セキュリティアップデート・設定変更などを毎回実行するのは大変ですが、アーカイブを使えば便利
クローンが都度ディスクを作成するのに対し、アーカイブから作成されるサーバのディスクは常に均一
45
4.1 サーバ作成(普通に作成)
46
①左メニューの[サーバ]をクリック②右上の[追加]をクリック
①②
③[シンプルモード]のチェックを外す
⑤ディスク作成画面ではCentOS 6.xのアーカイブを選択(その他はデフォルト)
④[サーバプラン]は以下の通り選択
47
⑥[スイッチに接続]を選択⑦先ほど作成したスイッチ[Switch1]を選択
⑥
⑧サーバに関する諸設定
⑦
web01 のIPアドレスを選択
管理サーバのパスワードを入力CentOSなのでrootユーザのパスワードです
対象サーバのホスト名を入力ここでは、web01と入力
xxx.xxx.xxx.9
xxx.xxx.xxx.2
48
⑨[配置するスタートアップスクリプト]で[[public] lb-dsr] を選択します。⑩[ロードバランサのVIP]に、[7: LB1-VIP1]のIPアドレスを入力します。
[7: LB1-VIP1] のIPアドレスを入力※ここは選択肢は出てきません
⑨
⑩ xxx.xxx.xxx.7
49
⑪サーバの情報[名前]を入力※その他は任意入力項目※この情報はコンパネでの表示項目です
⑫ 1番右下にある、[作成]をクリック
Web01
しばらく待ちます
マップ画面
50
[マップ]画面で、作成した構成をグラフィカルに確認できます今回は右図のようになります。
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 51
具体的な設定内容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
52
4.1.2 最小限のサーバ設定
サーバにsshでログインする
ウェブサーバでサーバ名を表示するページ設置
設定を確認
ブラウザでアクセスをしてサイト表示を確認
53
54
※ここからはSSH接続してコマンドライン上でサーバの操作を行います本スライドではTeraTermを使用した際の例を記載します
①[ホスト]にWebサーバのグローバルIPアドレスを入力
②[セキュリティ警告]が表示されますが、チェックボックスにチェックが入っていることを確認し[続行]をクリック
③ユーザ名にrootパスワードはサーバ作成時に入力したパスワードを入力する
④ログインに成功すると、右のようにプロンプトが表示されます
55
[root@web01 ~]# yum install httpd[root@web01 ~]# chkconfig --list httpdhttpd 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 httpdhttpd 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.localuname -n > /var/www/html/index.html
コンテンツを用意
ウェブサーバをインストール・起動・有効化
アーカイブの仕様
詳細仕様を公開していますCentOS6
http://cloud-news.sakura.ad.jp/2016/06/24/centos68-changelog/
CentOS7
http://cloud-news.sakura.ad.jp/2016/07/01/centos72-changelog/
56
4.2 サーバをコピー(クローン)
57
①左メニューの[サーバ]をクリック②web01(コピー元)の行の右端の下向き▲をクリックして、クローンをクリック
①
②
①
③[シンプルモード]のチェックは外れています※クローン時はご利用いただけません。
58
④[サーバプラン]は以下の通り選択 ⑤ディスクはweb01用のものが固定
⑥web02用のIPアドレス、パスワード、ホスト名を入力※今回はスタートアップスクリプトを選択しません
⑦「6.サーバの情報」の名前を「Web02」にする
⑧[作成]をクリック
59
4.3 サーバをアーカイブから作成
60
web01web-
masterweb02 web03
アーカイブを作成
アーカイブからディスクを作成
クローンと異なり、アーカイブを元に新しいサーバ用のディスクと何度でも作成可能
4.3.1 アーカイブを作るには
サーバを停止(必須ではありません)今回はweb01をマスターにしてアーカイブを作成します
アーカイブを作るサーバを停止します(必須ではない)
サーバをアーカイブからサーバを作成作成したアーカイブを元にサーバを作成します
サーバのIPアドレスをこれにしてください
61
62
①サーバを停止②ディスクをアーカイブにコピー
63
[web-master]と入力します
64
4.3.2 アーカイブからサーバ作成
65
①左メニューの[サーバ]をクリック②右上の[追加]をクリック
①②
③[シンプルモード]のチェックを外す
⑤ディスク作成画面ではマイアーカイブを選択し、マイアーカイブ選択では、[web-master]のアーカイブを選択(その他はデフォルト)
④[サーバプラン]は以下の通り選択
66
⑥[スイッチに接続]を選択⑦先ほど作成したスイッチ[Switch1]を選択
⑥
⑧サーバに関する諸設定
⑦
web03 のIPアドレスを選択
管理サーバのパスワードを入力CentOSはrootのパスワード
対象サーバのホスト名を入力ここでは、web03と入力します
Web03
xxx.xxxx.xxx.xxx
xxx.xxxx.xxx.xxx
67
⑨サーバの情報[名前]を入力※その他は任意入力項目※この情報はコンパネでの表示項目です
⑩ 1番右下にある、[作成]をクリック
Web03
3つのサーバ作成方法を比較
2台目と3台目のサーバは、初期設定をしていません1台目で初期設定を終えており、残りのサーバはディスクをコピーしたら作業が不要でした。
また、トップページは起動時に各サーバに合わせて自動で生成するようにしました(ハンズオン用の設定のため、実運用では別の設定が必要です)。
68
動作確認
web01~web03の各ホストのIPアドレスを表示ブラウザでアクセスすると、それぞれのホスト名を画面上に表示します。
69
マップを確認
70
Tip:サーバとディスクの収容先
サーバのホストの収容先確認サーバは再起動すると別ホストになる可能性がある
新規で作ると別の所になる可能性がある
メンテや障害で移動する場合はある
ディスクの収容先確認サーバは再起動すると別ホストになる可能性がある
新規で作ると別の所になる可能性がある
メンテや障害で移動する場合はある
71
5.1 ロードバランサに実サーバを追加
72
ホストを追加後、[反映]ボタンをクリックすると、設定が有効化
5.2 実サーバの設定確認
73
↑コネクション数
↑ステータスDOWNだと何らかのトラブルが発生している
6.1 ブラウザで再読み込みを繰り返す
複数のサーバをランダムに表示画面にホスト名が表示されます。
ロードバランサーの仕様リーストコネクション(最小接続)方式です。
スティッキーセッション(パーシステンス)は対応していません。
パーシステンスについてさくらのクラウドのロードバランサはL4LBです。
L4でのパーシステンスは非常に偏りが出やすく、かつIPアドレスがランダムに変わる環境ではそもそも維持ができないため採用していません。
L7LBでは対応可能ですが、現状の対応予定はありません。
74
6.2 サーバ停止
作業サーバの停止を行います。サーバ一覧から対象サーバをシャットダウン後、ロードバランサの VIP をブラウザでリロードします。表示は変わりましたか?
ロードバランサの実サーバ一覧画面の状況は変わりましたか?
解説停止したサーバの状態は[ DOWN ]とロードバランサから見なされるため、アクセルは割り振られなくなります。
75
構成例
76
ロードバランサ Webサーバ
ルータ+スイッチの専用ネットワーク・セグメント
GSLB(広域負荷分散アプライアンス)
77
GSLB料金
78
月額料金(税込) 日割料金(税込) 時間割料金(税込)
540 円 27 円 3 円
質疑応答何か気になるところはありますか?