オープンソースカンファレンス2021
Fukuoka セミナープログラム
2021/11/20 14:00 〜 14:45

検証環境におけるLinuxサーバー構築～実際の現場で求められる技術を紹介～

インターノウス株式会社（LPI-Japanアカデミック認定校）

竹本 季史© LPI-Japan / EDUCO all rights reserved.

会社紹介、自己紹介◼会社紹介：インターノウス株式会社⚫人材紹介サービス、人材派遣/SESサービス、IT未経験者の教育及び就職支援サービス、法人研修サービス⚫未経験からインフラエンジニアやプログラマーになりたい方へ、無料で研修と就職支援サービスを行っています。
https://engineercollege.jp/lp/◼自己紹介：竹本 季史(たけもと ときふみ)⚫IT業界で約10年間勤務後、インターノウス株式会社エンジニアカレッジ講師。
⚫これまで約800人を未経験者からエンジニアに養成。Linuxサーバー(メール、OpenSSH、シェルスクリプト、DB、監視、演習)を担当。
⚫LinuCレベル1バージョン10.0の差分教材で「仮想マシン・コンテナの概念と利用」を執筆。
© LPI-Japan all rights reserved.

2

LinuCレベル１／レベル２ Version10.0とは◼LinuCとはクラウド時代の即戦力エンジニアであることを証明するLinux技術者認定✓現場で「今」求められている新しい技術要素に対応• オンプレミス／仮想化・コンテナを問わず様々な環境下でのサーバー構築• 他社とのコラボレーションの前提となるオープンソースへの理解• システムの多様化に対応できるアーキテクチャへの知見✓全面的に見直した「今」身につけておくべき技術範囲を網羅
今となっては使わない技術やコマンドの削除、アップデート、新領域の取り込み✓Linuxの範疇だけにとどまらない領域までカバー
セキュリティや監視など、ITエンジニアであれば必須の領域もカバー© LPI-Japan all rights reserved.

3

クラウドを活用できるITエンジニアに必須の技術がまとまっている
AWSなどのパブリッククラウドを活用するための技術

AWSなどのパブリッククラウドを活用するための技術間が欠けている状態

仮想マシン／コンテナ技術、クラウドセキュリティ、アーキテクチャ、ほかオンプレミスのサーバーサイドLinux技術

オンプレミスのサーバーサイドLinux技術【今まで／その他】

Version10.0© LPI-Japan all rights reserved.

4本セミナーについて◼本セミナーについて⚫初級インフラエンジニアの仕事のひとつとして挙げられるのが「検証環境におけるサーバー構築」です。これからインフラエンジニアの仕事を始められる方向けの内容です。
⚫本セミナーでは初めての仕事として、検証環境に新たなサーバーを追加するまでをテーマとします。
⚫技術的なことだけではなく、どのように初めての仕事を進めていくとスムーズかについても取り扱っていきます。
⚫プロジェクトによって用語や実施順序は変わる可能性がありますので、必ず現場で確認してください。
⚫本セミナーに該当するLinuCレベル1の試験範囲は、「主題1.07：ネットワークの基礎」となります。

© LPI-Japan all rights reserved.

5

新たなミッションが与えられました

検証環境に新たなWebサーバーを追加してください

何すればいいんだろ。。
上司は自分の仕事で忙しそう。。

© LPI-Japan all rights reserved.

6

自分に抽象化と具体化の質問をしましょう
抽象化
目的が分かる

自分に抽象化と具体化の質問をすることで、何を明確にするべきかが分かる
お客様が求めていることは？
上司が求めていることは？
いつまでに？

行動できる全体の予定は？

どんな結果を出すのか？

今週の予定は？

どんな検証をするのか？

今日の予定は？
具体化

何をするのか？

検証環境って何？

どんなサーバーを準備するのか？
今、自分が行う作業は？
© LPI-Japan all rights reserved.

7

ITインフラの構築の位置づけ⚫ITインフラにおける構築とは、設計の後、運用の前の段階となります。

設計

構築

運用

© LPI-Japan all rights reserved.

8検証環境と本番環境2つの構築環境

検証環境

本番環境

⚫本番環境になるべく近づけた環境⚫一部の機器や機能がないこともあり⚫構築手順書の作成のための検証⚫本番環境を想定したテストの実施⚫お客様がサービスを利用する環境⚫サービス開始以降は運用チームが運用⚫サービス開始後に変更を加える場合はまず、検証環境でテストを行ってから© LPI-Japan all rights reserved.

9

サーバーを追加する場所について既存の検証環境の場所はどこでしょうか？

社内検証環境データセンタ⚫ 入りやすい⚫ 最近少ないかも⚫ カスタマイズ性高い⚫ プライベートクラウ
ドの場合もあり⚫入館のハードル高い⚫カスタマイズ性中くらい⚫プライベートクラウドの場合もあり

パブリッククラウドサービス⚫ そもそも入館できない⚫ カスタマイズ性低い⚫ 便利© LPI-Japan all rights reserved.

10サーバーを追加する形態について
既存の検証環境のサーバーはどのような形態でしょうか？

物理マシン

仮想マシン

コンテナ

⚫ 最近少ない（と思われる）⚫ 物理的な配線必要⚫ OSインストール必要⚫ VMware ESXiなどのハイパーバイザ上に作成⚫ テンプレートイメージのインポート(OSインストール不要)⚫ コンテナ用仮想マシン
上に作成⚫ レジストリからコンテナイメージ取得(OSインストール不要)© LPI-Japan all rights reserved.

11

サーバーの場所×形態
本セミナーでは社内検証環境に仮想マシンで新規サーバーを追加します。

物理マシン

仮想マシン

コンテナ

社内検証環境〇〇〇データセンタ〇〇〇パブリッククラウド-〇(AWS EC2など)〇(AWS ECSなど)© LPI-Japan all rights reserved.

12

サーバーを追加するために必要な情報
IPアドレスとサブネット⚫IPアドレスはサーバーの住所、サブネットは住所の範囲となります。
⚫サーバーのIPアドレスは動的(DHCP)ではなく、静的(固定)に割り当てます。
⚫「IPアドレス管理表」などのドキュメントを確認して、未使用のIPアドレスを使用します。

ホスト名⚫ホスト名は追加するサーバーの名前となります。
⚫所属ネットワーク内でユニークとなるように命名規則を確認しましょう。

DNSサーバー
アドレス⚫ホスト名をIPアドレスに変換する名前解決にDNSが用いられます。
⚫所属ネットワーク内にあるDNSサーバーのIPアドレスを調べておきます。

ゲートウェイ
アドレス⚫所属するネットワークから他のネットワークとの通信をする場合は必須です。
出口がひとつであればデフォルトゲートウェイとなります。多くの場合はインターネットと接続するためのルーターのIPアドレスです。

© LPI-Japan all rights reserved.

13

サーバー設定前に集めた情報をまとめる⚫ 想定の場所×形態⚫ サーバーの場所：社内検証環境⚫ サーバーの形態：仮想マシン⚫ 仮想マシン環境⚫ 仮想化ソフトウェア：Virtualbox 6.1.28（実務ではVMware ESXiが多い）⚫ 仮想マシンネットワーク：NATnetwork接続 DHCPなし⚫ OS環境⚫ OS：CentOS7.9⚫ OSの状態：「開発およびクリエイティブワークステーション」の仮想マシンイメージをインポート直後（実務では「最小限のインストール」が多い）

今回割り当てるホスト名とIPアドレス⚫ 追加サーバー設定情報⚫ ホスト名：web02⚫ ドメイン名：engineer.jp⚫ IPアドレス：192.168.255.5/24⚫ ゲートウェイアドレス：192.168.255.1（ゲートウェイを通じてインターネットとの通信が可能）⚫ DNSプライマリアドレス：192.168.255.2⚫ DNSセカンダリアドレス：192.168.255.3© LPI-Japan all rights reserved.

14

追加サーバーの設定および確認項目⚫次の①～④の設定と⑤～⑦の設定確認はサーバーを追加する際に最低限必要となる項目です。主にネットワーク周りの設定となります。
検証環境
192.168.255.0/24①ホスト名設定②IPアドレス設定③DNSサーバーアドレス設定④ゲートウェイアドレス設定

インターネット⑦インターネットとの通信確認
ゲートウェイ192.168.255.1⑤名前解決の確認

新規追加サーバー
web02
192.168.255.5⑥他ホストとの通信確認

DNS
192.168.255.2
192.168.255.3

既存のサーバー群© LPI-Japan all rights reserved.

15

①ホスト名の設定と設定確認# hostname(現在のホスト名を確認する)
localhost.localdomain# hostnamectl set-hostname web02.engineer.jp(ホスト名を恒久的にweb02.engineer.jpに変更する)# hostname(ホスト名が変更されたことを確認する)
web02.engineer.jp# bash(現在のシェルでは変更が反映されないため、別のシェルを起動する)© LPI-Japan all rights reserved.

16

②IP,③DNSサーバー,④ゲートウェイアドレスの設定# ip address show dev enp0s3（デバイスenp0s3のIPアドレスを表示。IPアドレスは割り当てられていない。）
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:47:c3:5c brd ff:ff:ff:ff:ff:ff# nmcli connection modify enp0s3 ipv4.method manual ipv4.addresses 192.168.255.5/24（②enp0s3のIPアドレスを192.168.255.5/24に設定)# nmcli connection modify enp0s3 ipv4.dns 192.168.255.2 +ipv4.dns 192.168.255.3(③enp0s3のDNSサーバーアドレスをプライマリ192.168.255.2とセカンダリ192.168.255.3に設定）# nmcli connection modify enp0s3 ipv4.gateway 192.168.255.1(④enp0s3のゲートウェイアドレスを192.168.255.1に設定）# nmcli connection up enp0s3（②、③、④の設定を反映させるためにコネクションをup）
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/8)© LPI-Japan all rights reserved.

17

②IP,③DNSサーバー,④ゲートウェイアドレスの設定確認# ip a s enp0s3（②IPアドレスが設定されていることを確認）
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:47:c3:5c brd ff:ff:ff:ff:ff:ff
inet 192.168.255.5/24 brd 192.168.255.255 scope global noprefixroute enp0s3
valid_lft forever preferred_lft foreverinet6 fe80::e32a:73fe:4aef:80a9/64
scope link noprefixroute
IPアドレスvalid_lft forever preferred_lft forever# cat /etc/resolv.conf（③DNSサーバーアドレスが設定されていることを確認）# Generated by NetworkManager
search engineer.jp
nameserver 192.168.255.2
nameserver 192.168.255.3

DNSサーバー
一つ目がプライマリ
二つ目がセカンダリ# ip route（④ゲートウェイアドレスが設定されていることを確認）
default via 192.168.255.1 dev enp0s3 proto static metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
192.168.255.0/24 dev enp0s3 proto
kernel scope link src 192.168.255.5 metric 100
ゲートウェイアドレス© LPI-Japan all rights reserved.

18

⑤名前解決の確認# host web02.engineer.jp（新規追加するweb02のホスト名がDNSプライマリサーバーで名前解決ができることを確認）
Using domain server:
Name: 192.168.255.2
Address: 192.168.255.2#53
Aliases:

DNSプライマリサーバーのIPアドレス
web02のIPアドレス

web02.engineer.jp has address 192.168.255.5# host web02.engineer.jp 192.168.255.3 （2つ目の引数に問い合わせ先として、DNSセカンダリサーバーのIPアドレスを指定）（新規追加するweb02のホスト名がDNSセカンダリサーバーで名前解決ができることを確認）
Using domain server:
Name: 192.168.255.3
Address: 192.168.255.3#53
Aliases:

DNSセカンダリサーバーのIPアドレス

web02.engineer.jp has address 192.168.255.5

web02のIPアドレス© LPI-Japan all rights reserved.

19

⑥他ホストの通信確認# ping gw.engineerjp（ゲートウェイにホスト名でpingを打って、DNSの名前解決とping応答を確認）
PING gw.engineer.jp (192.168.255.1) 56(84) bytes of data.
64 bytes from gw.engineer.jp (192.168.255.1): icmp_seq=1 ttl=255 time=0.424 ms
64 bytes from gw.engineer.jp (192.168.255.1): icmp_seq=2 ttl=255 time=0.903 ms
64 bytes from gw.engineer.jp (192.168.255.1): icmp_seq=3 ttl=255 time=0.118 ms--- gw.engineer.jp ping statistics --3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.118/0.481/0.903/0.324 ms# ping web01.engineer.jp(他ホスト宛にホスト名でpingを打って、DNSの名前解決とping応答を確認)
PING web01.engineer.jp (192.168.255.4) 56(84) bytes of data.
64 bytes from web01.engineer.jp (192.168.255.4): icmp_seq=1 ttl=255 time=0.253 ms
64 bytes from web01.engineer.jp (192.168.255.4): icmp_seq=2 ttl=255 time=0.546 ms
64 bytes from web01.engineer.jp (192.168.255.4): icmp_seq=3 ttl=255 time=0.542 ms--- web01.engineer.jp ping statistics --3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.253/0.447/0.546/0.137 ms© LPI-Japan all rights reserved.

20

⑦インターネットとの通信確認# ping linuc.org -c 3(インターネット上のlinuc.org宛にpingを打って、外部DNSによる名前解決と応答を確認)
PING linuc.org (219.94.171.240) 56(84) bytes of data.
64 bytes from 240.171.94.219.static.www215b.sakura.ne.jp (219.94.171.240): icmp_seq=1 ttl=53 time=11.7 ms
64 bytes from 240.171.94.219.static.www215b.sakura.ne.jp (219.94.171.240): icmp_seq=2 ttl=53 time=13.5 ms
64 bytes from 240.171.94.219.static.www215b.sakura.ne.jp (219.94.171.240): icmp_seq=3 ttl=53 time=13.4 ms--- linuc.org ping statistics --3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 11.715/12.918/13.588/0.862 ms© LPI-Japan all rights reserved.

21

まとめ
⚫以上で検証環境にサーバーを追加することができました。

⚫初めての仕事では以下を明確にしていくと、スムーズに進めることができるでしょう。おのずと使用するコマンドの意義も理解できてきます。
⚫目的
⚫期限
⚫行動
⚫環境
⚫設定情報
⚫使用コマンド© LPI-Japan all rights reserved.

22

Ubuntuについて⚫今回はCentOSを用いて解説しましたが、現在人気のあるUbuntuについては、今年3月のLPI-Japan技術解説セミナーが大変参考になります。
⚫Ubuntuの特徴、インストール、パッケージ管理IPアドレス設定、Webサーバーのインストールと設定、ファイアウォールの設定について取り上げています。
⚫これから始めるUbuntu入門（Linux学習）（日本仮想化技術株式会社 宮原様、水野様）
https://youtu.be/cqCFbcumOOU© LPI-Japan all rights reserved.

23