teratail新年度特別企画 - 学習チュートリアル 入門編2

ローカルネットワークを構築しよう

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

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

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

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

teratail新年度応援企画、入門編2です。

入門編1「クラウドでのインフラ構築を始めよう」では、「NICの追加」と「スイッチの作成」を行いました。入門編2では、サーバをもう1台用意し、ローカルネットワークで接続しましょう。

入門編のゴールを再確認

今回のゴールを復習しておきましょう。2台のサーバを安全に接続するため、ローカルネットワーク用のスイッチを介して接続します。その一方で、ウェブサーバ用の1台はグローバル側のネットワークに繋がっている構成です。詳しくは次の図をご覧ください。

2台目のサーバを新規作成

さっそく2台目のサーバを超入門編「サーバを作って動かしてみよう」と同様の手順で作成しましょう。左サイドメニューから「サーバ」を選択し、右上の「追加」を押します。

スペックは、超入門編と同じように「CPU:1個、メモリ:1GB、ディスク:SSD 20GB、NIC:1個、OS:CentOS 7.3 64bit」とします。下図のように、OSは「CentOS」、「サーバプランを選択」は「1 GB / 1 仮想コア」のプランを選択してください。

ディスクプランも前回同様「20 GB SSDプラン」を選択します。
そして、ここからはローカルネットワークに接続するサーバを作成するために、超入門編でのサーバ作成とは一部の手順が異なります。「接続先のネットワーク」は「スイッチ」を選択します。すると、どのスイッチに接続するかを選択できます。この中から、先ほど作った「192.168.0.0/24セグメント用」を選択してください。

続いて「サーバの設定」の部分です。IPアドレスはローカルネットワーク内のIPアドレス「192.168.0.2」を設定します。ネットマスクは「24」と記入します(ゲートウェイの記入は不要です)。それから管理ユーザ(root)のパスワードを入力しましょう。公開鍵は「無し」のままにします。最後にホスト名を「db-server」とし、作成ボタンを押せば完了です。

サーバの作成が完了したら、マップ画面を確認してみましょう。左サイドメニューから「マップ」をクリックしてください。次の図のように「192.168.0.0/24セグメント用」の下にサーバが1台追加されています。

マップ機能を通してネットワーク作成

マップ画面からは、完成図に近づいているのが確認できます。あとはweb-serverとスイッチ(192.168.0.0/24セグメント用)を繋げましょう。先ほど少し紹介しましたが、サーバとスイッチの接続はマウス操作のみでとても簡単にできます。

まずはweb-serverの電源がOFF(停止中)であることを確認します。もしOFFになっていなければ、超入門編「サーバを作って動かしてみよう」で説明した手順でシャットダウンしてください。そして、web-serverにNICを追加した際にできた●をマウスでドラッグし、青いスイッチ「192.168.0.0./24セグメント用」まで線を引っ張り、繋げてください。

すると、下図のように確認のポップアップが表示されます。「更新」をクリックすると接続を開始します。

接続が完了したら、マップは下図のようになります。

グローバル側のサーバ(web-server)のローカル側IPアドレス設定

ネットワーク構成ができたところで、いよいよ最後のステップです。

サーバとスイッチが繋がり、db-serverにはローカルのIPアドレスを与えました。しかし、まだweb-serverのローカルネットワーク側のIPアドレスを設定していないため、web-serverとdb-serverは通信できません。LANケーブル、サーバ、スイッチは繋がっていますが、ネットワークの設定がまだ残っています。

この状況を”手紙”で例えるならば、手紙をweb-serverからdb-serverに送ろうとする時、どちらも同じ道路では(ローカルに)繋がっている”状態です。しかし、送り先にあたる住所(IPアドレス)が分からないので届けられない状況です。

サーバ間で通信ができるように、web-serverのローカル側にもIPアドレスを設定しましょう。設定するIPアドレスは入門1で決めた【192.168.0.1】にします。

web-serverは停止中ですので、マップ画面から起動します。サーバをクリックし、メニューの電源操作にある起動ボタンを押します。それから起動が終わるまで待ちます。左上の更新ボタンを押し、サーバの上部が緑色になっていれば起動している状態です。

web-serverのコンソール画面を操作する

あとはサーバ上でIPアドレスを設定します。この設定はどのようにしたらよいでしょうか。さくらのクラウドには「コンソール」機能があり、コントロールパネル上から作成したサーバのコンソール画面を表示・操作できます。この機能を使用してweb-serverにログインし、設定を行います。

電源操作と同様に、マップ上のweb-serverをクリックしてください。すると「コンソール」というメニュー項目が出ますので、そちらをクリックします。

すると、次のような画面が別ウィンドウで表示されます。これがコンソール機能の画面で、仮想サーバのコンソールを直接操作できる機能です。黒い領域にカーソルを合わせると、図のように「ここをクリックしてHTML5モードで接続」との吹き出しが出ますので、クリックしてください。

クリック後は、このコンソール画面に対してキーボードやマウスから操作を行えるようになります。下図のように、黒い領域の上に「切断」や「ペースト」などのボタンが表示されればOKです。

「web-server login:」とログイン・プロンプト画面が表示されています。まず「root」と入力し、続いてサーバ作成時に設定した管理者パスワードを入力します(パスワードの文字は画面に表示されません)。ログインが成功すると、コマンドを入力できます。

コマンドを入力しきます。まずは、ip addr showと入力しましょう。ip addr xxx等のコマンドは、IPアドレスやネットワークデバイスの表示・操作をするコマンドです。

なにやら文字がいっぱい出てきました。画面には大きく分けて「1: lo」、「2: eth0」、「3: eth1」と、3つの情報が表示されています。

「1: lo」は、ループバックアドレスです。これは対象サーバ(web-server)自身を指す特殊なIPアドレスです。つまり、ここで表示されるのは自分自身の情報です。一般的にループバックアドレスは【127.0.0.1】が使われます。表示された情報の中にも【127.0.0.1】が出ています。

また、「2: eth0」や「3: eth1」は、それぞれ1つのNICを表しています。NICを増やすとさらにeth2、eth3…のように増え、それぞれの情報が表示されます。

なお、ぼかしをかけていますが「2: eth0」にはマップ上のweb-serverにも記載してあるグローバルのIPアドレスが表示されています。これは、最初にweb-serverを作成した際に、接続先をインターネット(共有セグメント)に設定したため、その共有セグメントのIPアドレスが作成と同時に「2: eth0」に割り当てられたものです。

そして、まだIPアドレスが割り当てられていない「3: eth1」がローカルネットワーク側のNICを表します。このeth1に対してweb-serverのローカル側のIPアドレス【192.168.0.1】を設定していきましょう。

eth1にIPアドレスを付与するには、

    nmcli connection add type ethernet con-name local-eth1 ifname eth1 ip4 192.168.0.1/24 gw4 192.168.0.254

というコマンドを入力します。このnmcliコマンドはネットワーク設定を行うためのもので、eth1 ip4 192.168.0.1/24 でNICのプライベートIPアドレスを指定しています。

なお、上記のような長いコマンドを入力する際は、ペースト機能を使いましょう。コンソール画面の上の方にある「ペースト」ボタンから「文字列…」をクリックし、画面に表示されるプロンプトにコマンドを貼り付けてください。

下図のようにポップアップが表示されるので、ここに文字列を貼り付け、青い「ペースト」ボタンをクリックすることで、コマンドの貼り付け完了です。

IPアドレスの付与に成功したら下図のように「Connection ‘local-eth1’ (ランダムな文字列) succsessfully added」と表示されます。

そして再度、ip addr showコマンドを入力してみましょう。すると下図のように表示されます。

赤線を引いた部分に注目してください。先ほどはなかった部分が追加されました。こちらが表示していればweb-serverのIPアドレスが、192.168.0.1に設定できたことになります。

ローカルサーバ間の疎通をpingで確認してみる

さて、ローカルのIPアドレスの設定が終わったので、これでweb-serverとdb-serverが通信できるようになりました。超入門編の「サーバを作って動かしてみよう」でも使用したpingコマンドを使って確認します。
今立ち上げているweb-serverのコンソールからping 192.168.0.2と入力し、db-serverに向けてpingしてみましょう。下の図のようになれば成功です。
(※pingは、Ctrl+Cで中断できます。もし止まらない場合は、コンソールのメニューの Ctrl ボタンをクリックし、キー入力を開始を押してから c を入力します。

このようにローカルからしか接続できないサーバがあれば、セキュリティ上インターネットに接続したくないデータベースやデータ保管の用途で使えるようになります。

まとめ

いかがだったでしょうか? 最後の方はコンソールによる設定で少し複雑なコマンドも出てきました。とはいえ、入門編を通してGUIだけでも思っていた以上に簡単に構築が進められたのではないでしょうか。他にもGUI操作でいろいろ作り変えができるので、ぜひ好きに触り、色々な構成をお試しください。

これで入門編は以上です。次回からいよいよ応用編!実際の業務でも使えるレベルの本格的なインフラを構築します。さっそく次に進んでみましょう。

※今回作成したサーバは、起動したままにしておくと料金が発生してしまうので、特に必要なければシャットダウンしておきましょう。また、応用編では構成が異なりますので、環境が不要であれば、それぞれサーバやスイッチの削除をお願いします。

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

閉じる

第1問/3

入門編2チェックテスト

CentOS 7において、IPアドレスの情報を表示するときに使うコマンドはどれでしょう?

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

閉じる

第2問/3

入門編2チェックテスト

次のうち、ループバックアドレスの説明として正しいものはどれでしょう?

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

閉じる

第3問/3

入門編2チェックテスト

CentOS 7において、IPアドレスを追加するコマンドとして正しいものはどれでしょう?

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

解説

ip コマンドは"インターネットのポート"を管理するコマンドです。そして、情報を表示するには ip addr show を実行します。これは ip a と省略できます。

解説を閉じる

解説

自分自身に SSH 接続する場合や、ウェブサーバやデータベースに接続する場合にも127.0.0.1を使います。これがループバックアドレスです。

解説を閉じる

解説

add を指定すると、新しく IP アドレスを追加します。up はインターフェースの有効化、show は表示、modify は設定変更です。

解説を閉じる

閉じる

解答結果

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

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

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