teratail新年度特別企画 - 学習チュートリアル 応用編1

スケーラブルなインフラ構築を始めよう

チュートリアルをはじめるなら

無料クーポンでさくらのクラウドを触ってみよう!

※無料クーポンの配布期間は終了いたしました。

本チュートリアルは、teratail新年度応援企画「 インフラ技術を極めろ!クラウドマスター認定試験 」の一部として作成されました。

teratail新年度応援企画、ここからは応用編です。

※なお、入門編で構築したものと応用編で構築するものは、まったく別構成となり、入門編で作成したものは応用編では使いません。入門編で構築した環境が不要であれば、それぞれサーバやスイッチは削除してください。

応用編のゴール

入門編ではサーバやスイッチを作成し、ローカルネットワークを通して安全に通信できる環境を構築しました。また、コンソール画面を通して各サーバの操作をしました。応用編は「VPCルータ」を使い、実際に近いサービス環境を構築します。そして、SSHを使ったサーバへのログインや、様々な設定をします。以下の画像が応用編にて構築するシステムの全体像です。

また、応用編1~3で作成する範囲は下図のようになります。

応用編1では「ルータ+スイッチ」を作成したあと、サーバをスケールできる環境を作るために「ロードバランサ」を作成します。
応用編2「ロードバランサを動かしてみよう」ではサーバ作成前の準備作業として公開鍵認証用のキーペア作成・サーバへの通信を制限しセキュリティを高めるパケットフィルタの作成、その後2台のWebサーバを作成し、ロードバランサ経由でWebページにアクセスします。
応用編3「セキュアなDB接続環境を整えよう」では、ローカルネットワーク用のスイッチを作成し、WebサーバとDBサーバを接続します。DBサーバのメンテナンスおよびインターネット接続用にVPCルータを作成し、リモートアクセスVPNを使用してDBサーバにSSHログインします。最後にさくらのクラウド独自の機能「シンプル監視」を利用して、Webサーバの監視を行います。

ルータ+スイッチの作成

ルータ+スイッチとは

ルータ+スイッチとは、インターネットとクラウドとを繋ぐ「ルータ機能」と、サーバを接続する「スイッチ機能」が1つになっている機能です。さくらのクラウドにて標準提供されているインターネット接続である「共有セグメント」よりも高速なインターネット回線帯域が利用できることと、セグメント単位でグローバルIPアドレスを固定で確保できることが特徴です。そして、入門編で使用したスイッチと同様に、複数のサーバや機器を接続できます。

【Column】クラウドのルータ+スイッチとは?

さくらのクラウドの開発コンセプトは、仮想的なデータセンターを扱えるようにすること。データセンターで物理サーバを扱う一般的なハウジングの場合は、サーバ間の接続をスイッチに束ね、その上にインターネットと内部ネットワークを接続するルータを置きます。

さくらのクラウドの場合、ハウジングのルータにあたるのが「ルータ+スイッチ」の機能です。これは入門編で使用した共有セグメントと同様の役割ですが、ルータ+スイッチは上位版です。100Mbps以上の回線帯域の選択、複数のIPアドレスも利用できます。そのため、スケーラブルなウェブサービスの構築には必須の機能と言えるでしょう。

ルータ+スイッチの作成

それでは、実際にルータ+スイッチを作成しましょう。ゴールの図と比較しますと、インターネットに接続するルータ+スイッチが必要です。

まずコントロールパネルにアクセスし、左メニューの「スイッチ」をクリックし、右上の「追加」をクリックします。

それから「名前」には「ルータ+スイッチ」を入力します。

画面を下に進めますと「ルータ」の項目があります。ここは「はい」をクリックします。

そうしますと、次の図のようにルータ+スイッチ専用の項目が増えます。プリフィックス(IPアドレスの範囲)や帯域幅を選択できます。プリフィックスは「/28(16IP)」、帯域幅は「100Mbps共有」を選択し、右下の作成ボタンをクリックします。

作成が完了しますと、マップ機能で確認します。共有セグメントのネットワークとは別に、新しく「ルータ+スイッチ」が作成されているのが分かります。

ルータ+スイッチのIPアドレスの確認

以降の作業で、ルータ+スイッチに割り当てられたグローバルIPアドレスをロードバランサやサーバの設定に利用します。ルータ+スイッチの詳細画面を参照し、あらかじめ割り当てるIPアドレスを決めておきます。

左メニューの「スイッチ」をクリックし、作成したルータ+スイッチの行をダブルクリックします。

ルータ+スイッチの詳細画面で、「IPアドレス」タブをクリックします。表になっている部分の1~11が利用可能なIPアドレスです。本チュートリアルでは以下のように割り当てていきます。

# IPアドレス 概要
1 xxx.xxx.xxx164 ロードバランサのIPアドレス
2 xxx.xxx.xxx165 ロードバランサのVIP
3 xxx.xxx.xxx166 web01のIPアドレス
4 xxx.xxx.xxx167 web02のIPアドレス

チュートリアル中にIPアドレスがわからなくなったときは、この画面に戻って確認するようにしてください。また、テキストエディタ等にメモしておいても良いかもしれません。

ロードバランサの作成

ロードバランサの役割と必要性

ロードバランサは拡張性(スケーラビリティ)と高可用性(ハイアベイラビリティ)という、2つの重要な役割を持ちます。

1つめの拡張性とは、ウェブサイトやデータベースなどの成長に合わせて拡張できること。ロードバランサを日本語で「負荷分散装置」と訳すように、ロードバランサの拡張性があればウェブサーバの能力が不足しても容易に拡張できます。

2つめの高可用性とは、故障が発生してもサービスが停止しないこと。あるいは、サービスを停止せずに保守や修理ができます。

クラウドの時代になるまで、負荷分散にはサーバ構築とネットワーク構築に長けているエンジニアが必要でした。ですが現在は、サーバ構築やネットワーク構築もコントロールパネル上で設定を完結できます。さらに、ロードバランサも設定できますので、設定の敷居がグッと下がったと言えるでしょう。

ロードバランサの作成手順

それでは、実際にコントロールパネルからロードバランサを作成しましょう。なお、さくらのクラウドでは、ロードバランサなどサーバやスイッチ以外の機器を「アプライアンス」(装置の意味)と呼びます。

左メニューの「ロードバランサ」をクリックし、右上の「追加」をクリックします。

次の画面では、それぞれ以下の項目を指定します。

  • 接続先スイッチ…「ルータ+スイッチ」を選びます。
  • 名前…ここでは「ロードバランサ」を入力します。
  • その他の項目は、デフォルト(初期状態)のままにします。
  • IPアドレスには、デフォルトで#1(xxx.xxx.xxx.164)

※IPアドレスには、デフォルトで#1(xxx.xxx.xxx.164)のIPアドレスが入力されているため変更は不要です。もし違うIPが設定されている場合は、#1のIPアドレスをドロップダウンメニューから選んで次へ進みます。

最後に、画面を下にスクロールすると、右下に「作成」がありますのでクリックします。あとは作成完了するまでお待ちください。(画面に「作成完了」が表示されたあとも、マップ上の表示への反映は時間がかかる場合があります。)

【Column】さくらのクラウドの「ロードバランサ」各プラン

ロードバランサはスペック(性能)と冗長化の有無により、4つのプランがあります。

  • 標準プラン(冗長化なし)←応用編はこちらを選択
  • 標準プラン(冗長化あり)
  • ハイスペックプラン(冗長化なし)
  • ハイスペックプラン(冗長化あり)

「冗長化なし」を選択された場合でも、ロードバランサが収容されているホストサーバに障害が発生した場合、自動で他のホストサーバで再起動します。「冗長化あり」を選択された場合は、常に2台のロードバランサが稼働しており、障害が発生しますと速やかに切り替わります。

【Column】冗長化時のVRIDは重複しないように注意

ロードバランサの設定画面には「VRID」というパラメータがあります。これは、ネットワーク上の各仮想ルータを識別するための仮想ルータ識別子(VirtualRouterIDentifier)です。そのため、同一の「スイッチ」または「ルータ+スイッチ」に接続する各アプライアンスで、VRIDを重複しないように設定する必要がありますのでご注意ください。

ロードバランサのVIP設定

ロードバランサのアプライアンスを追加したら、VIP(仮想IPアドレス)を追加します。ロードバランサにおけるVIPとは、外からのトラフィックを受け付けるIPアドレスです。ロードバランサを冗長化構成にすると、どちらか片方がVIPを持ちます。障害発生時にはもう片方にVIPを切り替えられるため、可用性を高められます。

VIPを追加するには、左メニューの「ロードバランサ」をクリックし、作成したロードバランサの行をダブルクリックします。

そして、「VIP設定」のタブをクリックし、「追加」をクリックします。

「VIPアドレス」にはルータ+スイッチに割り当てられたグローバルIPアドレスのうち、使用していないIPアドレスを1つ選択して入力します。「###ルータ+スイッチのIPアドレスの確認」にて、ロードバランサのVIPには#2(xxx.xxx.xxx.165)を使用すると決めておきましたので、#2のIPアドレスを入力します。また、ポート番号は80と入力してください。

VIPを作成すると、作成時に指定したVIPのタブが表示されます。クリックして詳細を開きます。

そして、応用編2の「ロードバランサを動かしてみよう」で作成する予定のウェブサーバ2台のIPアドレスを指定します。登録するIPアドレスは「###ルータ+スイッチのIPアドレスの確認」にて決めた#3(xxx.xxx.xxx.166)および#4(xxx.xxx.xxx.167)を使用します。監視方法は「tcp」を選び、「有効」が選ばれたまま「追加」をクリックします。

次の画像のように、2つのIPアドレスの追加後、画面右上の「反映」をクリックします。

以上でロードバランサの準備が整いました。次回のチュートリアルではウェブサーバを作成し、ロードバランサによってアクセスが振り分けられるのを確認しましょう。

ここまでの内容を理解できているか確かめよう!

閉じる

第1問/3

応用編1チェックテスト

さくらのクラウドにおける「共有セグメント」と「ルータ+スイッチ」の違いを説明した文章のうち、誤っている説明を選択してください。

以下から回答を選択してください

閉じる

第2問/3

応用編1チェックテスト

「ロードバランサ」の冗長化を設定時、接続している「スイッチ」または「ルータ+スイッチ」で重複できないパラメータを選択してください。

以下から回答を選択してください

閉じる

第3問/3

応用編1チェックテスト

ロードバランサの役割として正しくないものはどれでしょう?

以下から回答を選択してください

解説

ルータ+スイッチにはサーバを直接接続することができます。

解説を閉じる

解説

VRIDは仮想ルータの識別子です。同じネットワーク上で ID が重複してしまうと、ネットワーク上で同じ機器とみなされてしまい、正しく通信できなくなる場合もあります。

解説を閉じる

解説

ロードバランサの管理下にあるサーバにて停止を伴うメンテナンスを行った場合、メンテナンスにより停止している以外のサーバにトラフィックを振り分けサービスを停止することなくメンテナンスを行うことができます。そのため管理下のサーバが全て停止した状態にならないよう注意してください。

解説を閉じる

閉じる

解答結果

第1問
×不正解 解説を見る
第2問
×不正解 解説を見る
第3問
×不正解 解説を見る

次のチュートリアルにも挑戦してみよう!

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る