多層アーキテクチャ構成概要¶
注釈
構築ガイド¶
注釈
構築概要¶
仮想サーバ名 |
役割 |
IPアドレス |
ディスクサイズ |
OS |
---|---|---|---|---|
t-dev-bfw01 |
境界防御用
仮想ファイアウォール
|
vNIC0:172.16.10.250/24
vNIC1:DHCP
vNIC2:172.16.30.250/24
|
64GB |
FreeBSD11(64bit) |
t-mgmt-ad01 |
Active Directoryサーバー |
vNIC0:172.16.10.1/24
|
80GB |
WindowsServer2019 Standard(64bit) |
t-mgmt-mon01 |
監視サーバー |
vNIC0:172.16.10.2/24
vNIC1:172.16.30.2/24
|
80GB |
Ubuntu 21.04 LTS |
t-dev-flb01 |
仮想ロードバランサー |
vNIC0:172.16.10.20/24
vNIC1:192.168.1.253/24
|
10GB |
Ubuntu 21.04 LTS |
t-dev-fe01 |
WEB/APサーバー |
vNIC0:172.16.10.21/24
vNIC1:192.168.1.1/24
vNIC2:192.168.10.2/24
|
10GB |
Ubuntu 21.04 LTS |
t-dev-db01 |
DBサーバー |
vNIC0:172.16.10.22/24
vNIC1:192.168.10.3/24
|
100GB |
Ubuntu 21.04 LTS |
注釈
名称 |
バージョン |
---|---|
OPNsense |
21.7.1-amd64 |
Elasticsearch |
7.14.0 |
LogStash |
7.14.0 |
Kibana |
7.14.0 |
Filebeat |
7.14.0 |
Metricbeat |
7.14.0 |
WinLogbeat |
7.14.0 |
Nginx |
1.18.0 |
注釈
前提条件¶
構築手順¶
1. 事前準備¶
1.1. カタログの種類¶
本ガイドでの名称 |
説明 |
---|---|
パブリックカタログ |
当社が提供するOSテンプレート(パブリックテンプレート)が格納される領域です。
お客様がアップロードするコンテンツは格納できません。
Public-catalog という名前で、すべてのお客様へ登録されています。
|
プライベートカタログ |
お客様がvCDテナントポータル上から作成できる領域です。
お客様がアップロードするコンテンツが格納できます。
格納したコンテンツは、組織に所属するユーザーへ共有することができます。
|
1.2. カタログの作成¶
項目 |
設定内容 |
---|---|
名前 |
tutorial-catalog |
説明 |
‐ |
特定のストレージポリシーで事前プロビジョニングします |
オフ |
1.3. 仮想アプライアンスイメージ(ISOファイル)のアップロード¶
項目 |
設定内容 |
---|---|
カタログ |
tutorial-catalog |
名前 |
OPNsense-21.7.1-OpenSSL-dvd-amd64.iso |
アップロードするメディアを選択 |
OPNsense-21.7.1-OpenSSL-dvd-amd64.iso |
1.4. vAppテンプレートの作成¶
項目 |
設定内容 |
---|---|
1 ソースを選択参照 |
参照:OVAファイル(ubuntu-21.04-server-cloudimg-amd64.ova)を指定
ファイル:ubuntu-21.04-server-cloudimg-amd64.ova
|
2 vAppテンプレート名の選択 |
名前:Ubuntu-21.04-sv
説明:
カタログ:tutorial-catalog
|
注釈
2. OvDCネットワークの作成¶
2.1. OvDCネットワークの種類¶
本ガイドでの名称 |
説明 |
---|---|
外部接続用ネットワーク |
Edge Gatewayと接続するOvDCネットワークです。 |
ワークロードネットワーク |
仮想ファイアウォールの内側のOvDCネットワークです。vApp間での通信用のネットワークです。 |
2.2. 外部接続用ネットワークへDHCPプールの追加¶
項目 |
設定内容 |
---|---|
IPプール |
172.16.1.100-172.16.1.200 |
注釈
2.3. ワークロードネットワークの作成¶
項目 |
設定内容 |
---|---|
1 範囲 |
データセンターグループ |
2 ネットワークタイプ |
隔離 |
3 全般 |
名前:t-dev-mgmt-172.16.10.0
ゲートウェイCIDR:172.16.10.254/24
説明:
|
4 固定 IP プール |
ゲートウェイCIDR:
固定IPプール:
|
5 DNS |
プライマリDNS:
セカンダリDNS:
DNSサフィックス:
|
項目 |
設定内容 |
---|---|
1 範囲 |
現在の組織仮想データセンター |
2 ネットワークタイプ |
隔離 |
3 全般 |
名前:t-dev-tier-172.16.30.0
ゲートウェイCIDR:172.16.30.254/24
説明:
|
4 固定 IP プール |
ゲートウェイCIDR:
固定IPプール:
|
5 DNS |
プライマリDNS:
セカンダリDNS:
DNSサフィックス:
|
3. 境界防御用仮想ファイアウォール、Active Directoryサーバー、および監視サーバー作成¶
3.1. 境界防御用仮想ファイアウォールの作成¶
3.1.1. 境界防御用仮想ファイアウォール用vAppの作成¶
項目 |
設定内容 |
---|---|
名前 |
tutorial-dev-border |
説明 |
‐ |
パワーオン |
チェックなし |
3.1.2. 境界防御用仮想ファイアウォール用vAppへのネットワークの追加¶
項目 |
設定内容 |
---|---|
タイプ |
組織VDCネットワーク |
選択OvDCネットワーク名 |
tutorial-ext-net001 |
項目 |
設定内容 |
---|---|
タイプ |
組織VDCネットワーク |
選択OvDCネットワーク名 |
t-dev-mgmt-172.16.10.0 |
項目 |
設定内容 |
---|---|
タイプ |
組織VDCネットワーク |
選択OvDCネットワーク名 |
t-dev-tier-172.16.30.0 |
3.1.3. 境界防御用仮想ファイアウォール用仮想マシンの作成¶
項目 |
設定内容 |
---|---|
名前 |
t-dev-bfw01 |
説明 |
‐ |
タイプ |
新規にチェック |
OSファミリ |
その他 |
オペレーティング システム |
FreeBSD 11 (64bit) |
ブートイメージ |
[カタログ]->[メディアその他]にアップロードした"OPNsense-21.7.1-OpenSSL-dvd-amd64.iso"を選択 |
コンピュート |
1. サイズの選択:事前定義済みのサイズ変更オプションにチェック
2. コンピュートサイズ:中にチェック
|
ストレージ |
1. ストレージポリシー:仮想マシンのデフォルトポリシー
2. サイズ: 8GB
|
カスタムストレージポリシーの使用 |
チェックなし
|
ネットワーク |
3本のOvDCネットワークと接続するため、2つのNICを追加します。
NIC No: 1
ネットワーク: t-dev-mgmt-172.16.10.0
ネットワークアダプタ タイプ: VMXNET3
IPモード: 固定 - 手動
IPアドレス: 172.16.0.250
プライマリNIC:
NIC No: 2
ネットワーク: tutorial-ext-net001
ネットワークアダプタ タイプ: VMXNET3
IPモード: DHCP
IPアドレス: 自動割り当て
プライマリNIC:
NIC No: 3
ネットワーク: t-dev-tier-172.16.30.0
ネットワークアダプタ タイプ: VMXNET3
IPモード: 固定 - 手動
IPアドレス: 172.16.30.250
プライマリNIC:
|
3.1.4. 境界防御用仮想ファイアウォール用仮想マシンの初期設定¶
ログインID |
パスワード |
---|---|
installer |
opnsense |
ネットワークインターフェイス名 |
接続するOvDCネットワーク |
IPモード |
IPアドレス |
管理用Webインターフェイス |
---|---|---|---|---|
LAN |
t-dev-mgmt-172.16.10.0 |
固定 - 手動 |
192.168.1.1 |
管理用WEBインターフェイス |
WAN |
tutorial-ext-net001 |
DHCP |
自動割り当て |
ネットワークインターフェイス名 |
接続するOvDCネットワーク |
IPモード |
IPアドレス |
管理用Webインターフェイス |
---|---|---|---|---|
LAN |
t-dev-mgmt-172.16.10.0 |
固定 - 手動 |
172.16.10.250 |
管理用WEBインターフェイス |
WAN |
tutorial-ext-net001 |
DHCP |
自動割り当て |
|
OPT1(追加) |
t-dev-tier-172.16.30.0 |
固定 - 手動 |
172.16.30.250 |
注釈
注釈
3.2. Active Directoryサーバー、監視サーバーの作成¶
3.2.1. Active Directoryサーバー¶
3.2.2. 監視サーバー¶
No |
構成名 |
機能概要 |
---|---|---|
1 |
Elasticsearch |
JSONベースのリアルタイムデータ検索/分析エンジン |
2 |
Logstash |
データの収集/処理パイプライン |
3 |
Kibana |
データ分析および検索ダッシュボード、全文検索エンジン「Elasticsearch」用のデータ視覚化プラグイン |
4 |
Beats |
パケットキャプチャと各種ログ転送等のデータ用途により選択が可能 |
3.2.3. Active Directoryサーバー、および監視サーバー用vAppの作成¶
項目 |
設定内容 |
---|---|
名前 |
tutorial-dev-mgmt |
説明 |
‐ |
パワーオン |
チェックなし |
3.2.4. Active Directoryサーバー、および監視サーバー用vAppへのネットワークの追加¶
項目 |
設定内容 |
---|---|
タイプ |
組織VDCネットワーク |
選択OvDCネットワーク名 |
t-dev-mgmt-172.16.10.0 |
項目 |
設定内容 |
---|---|
タイプ |
組織VDCネットワーク |
選択OvDCネットワーク名 |
t-dev-tier-172.16.30.0 |
3.2.5. Active Directoryサーバー用仮想マシンの作成¶
項目 |
設定内容 |
---|---|
名前 |
t-mgmt-ad01 |
説明 |
‐ |
タイプ |
テンプレートから |
テンプレート |
WindowsServer-2019_Standard_64_include-license_hw17_MvP_01 |
ストレージ |
|
コンピュート |
項目なし
|
NIC |
項目なし※別途、仮想マシン構成設定にて追加するため、空欄となります。
|
カスタムプロパティ |
項目なし
|
エンドユーザー使用許諾契約書(EULA) |
項目なし
|
NIC No |
ネットワーク |
ネットワークアダプタ タイプ |
IPモード |
IPアドレス |
プライマリNIC |
---|---|---|---|---|---|
0 |
t-dev-mgmt-172.16.10.0 |
VMXNET3 |
固定 - 手動 |
172.16.10.1 |
‐ |
ログインID |
パスワード |
---|---|
Administrator |
[ゲストOSのカスタマイズ]->[編集]、[ゲストプロパティの編集]->[パスワードを指定]に記載された値 |
注釈
3.2.6. 監視サーバー用仮想マシンの作成¶
項目 |
設定内容 |
---|---|
名前 |
t-mgmt-mon01 |
説明 |
‐ |
タイプ |
テンプレートから |
テンプレート |
Ubuntu-21.0.4-SV ※tutorial-catalog |
ストレージ |
|
コンピュート |
項目なし
|
NIC |
項目なし※別途、仮想マシン構成設定にて追加するため、空欄となります。
|
カスタムプロパティ |
項目なし
|
エンドユーザー使用許諾契約書(EULA) |
項目なし
|
NIC No |
ネットワーク |
ネットワークアダプタ タイプ |
IPモード |
IPアドレス |
プライマリNIC |
---|---|---|---|---|---|
0 |
t-dev-mgmt-172.16.10.0 |
VMXNET3 |
固定 - 手動 |
172.16.10.2 |
‐ |
メモリ(GB) |
メモリホットアド |
---|---|
10 |
チェックなし(無効) |
ログインID |
パスワード |
---|---|
root |
[ゲストOSのカスタマイズ]->[編集]、[ゲストプロパティの編集]->[パスワードを指定]に記載された値 |
3.2.7. 監視サーバー用仮想マシンのネットワーク設定¶
注釈
sudo rmmod floppy
echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf
sudo dpkg-reconfigure initramfs-tools
sudo dpkg-reconfigure keyboard-configuration
# 設定変更用GUIに遷移します
#1. Keyboard model項目にて"Generic 105-key(Intl)PC"を選択
#2. country of origin for the keyboard項目にて"Japanese"を選択
#3. keyboard layout項目にて"Japanese"を選択
#4. 以降、各キー、ファンクション設定を必要に応じて項目を選択
# 設定変更用GUIが終了した後に再起動をすることでKeyBoard設定が変更されます
reboot
# 変更前のネットワーク設定を確認します
ip addr show
# 出力結果
# 0: lo: ~
# 1: ens{No}: ~ ← ens{No}が仮想マシンに追加したNICのデバイス名となります。
#
# 50-cloud-init.yamlファイルをコピーして01-netcfg.yamlファイルを作成します。
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/01-netcfg.yaml
# 50-cloud-init.yamlファイルをリネームします。
sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.org
# 01-netcfg.yamlファイルを編集します。
sudo vi /etc/netplan/01-netcfg.yaml
# vi 編集内容
# This file is generated from information provided by the datasource.
## 中略
# network: {config: disabled}
network:
ethernets:
ens{xxx}: # デバイス名は"ip addr show"コマンドにて確認したものとなります。
dhcp4: no
addresses: [172.16.10.2/24]
gateway4: 172.16.10.250 # 境界防御用仮想ファイアウォールがゲートウェイとなります。
nameservers:
addresses: [172.16.10.1] # t-mgmt-ad01がDNSとなります。
dhcp6: no
version: 2
# netplan設定内容を反映します。
netplan apply
# 変更が反映されていることを確認します
ip addr show
# Active Directoryサーバーとの疎通確認 packet lossが0であることを確認
ping 172.16.10.1
# 外部接続用ネットワークとの疎通確認 packet lossが0であることを確認
ping 172.16.1.254
# 外部DNSへの名前解決確認 名前解決できることを確認
ping www.google.co.jp
注釈
3.2.8. 監視サーバー用仮想マシンへの監視ツールの導入、設定(事前準備)¶
# パッケージの最新化を行います。
sudo apt update -y
sudo apt upgrade -y
# ELK Stackパッケージ導入するのに必要となる依存関係パッケージおよび必要コマンドをインストールします。
sudo apt install wget apt-transport-https curl gnupg2 -y
# Javaをインストールします。
sudo apt install openjdk-11-jdk
# Javaが導入されたことを確認します。
java -version
## 出力内容
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2, mixed mode, sharing)
# Elasticsearchを導入するためのElasticsearch署名Keyを取得します。
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
# sources.list.dディレクトリへ必要なリポジトリを追加します。
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
# パッケージリストの再読み込み、https://artifacts.elastic.co/packages/7.x/aptを参照していることを確認します。
sudo apt update
注釈
3.2.9. 監視サーバー用仮想マシンへの監視ツールの導入、設定(Elasticsearchの導入)¶
# Elasticsearchを導入します。
sudo apt install elasticsearch -y
# Elasticsearchサービスの起動と有効化を実施します。
systemctl start elasticsearch
systemctl enable elasticsearch
# Elasticsearch Listenポート(9200)の状態を確認します。
ss -antpl | grep 9200
## 出力結果
LISTEN 0 4096 [::ffff:127.0.0.1]:9200 *:* users:(("Java",pid=xxxxx , fd=xxx))
LISTEN 0 4096 [::1]:9200 [::]:* users:(("Java",pid=xxxxx , fd=xxx))
# Elasticsearch HTTPリクエストの確認を行います。
curl -X GET http://localhost:9200
## 出力結果
{
"name" : "t-mgmt-mon01",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "XXXXXXXXXXXXXXXXXXXXXX",
"version" : {
"number" : "7.14.0",
"build_flaver" : "default",
"build_type" : "deb",
"build_hash" : "XXXXXXXXXXXXXXXXXXXXXX",
"build_date" : "yyyy-mm-ddThh:mm:ss.xxxxxxxxxZ",
"build_snapshot" : false,
"lucene_version" : "8.9.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-bata1"
},
"tagline" : "You Know, for Search"
}
3.2.10. 監視サーバー用仮想マシンへの監視ツールの導入、設定(LogStashの導入)¶
# LogStashを導入します。
sudo apt install logstash -y
# Logstash設定ファイルを編集します。
# 導入後は入力/出力/フィルター等の設定がされていないため、新規に設定ファイルを作成します
vi /etc/logstash/conf.d/logstash.conf
# 以下を設定ファイルに定義します。
input {
beats {
port => "5044"
type => "beats"
}
}
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGLINE}" }
}
date {
match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
}
}
# Logstashサービスの起動と有効化を実施します
systemctl start logstash
systemctl enable logstash
3.2.11. 監視サーバー用仮想マシンへの監視ツールの導入、設定(Kibanaの導入)¶
# kibanaを導入します。
sudo apt install kibana -y
# kibana設定ファイルを編集します
# Kibanaのデフォルト設定では外部アクセスが許可されていないため、設定ファイルを変更し、外部アクセスを許可します。
vi /etc/kibana/kibana.yml
## 以下を追記します。
server.host: "0.0.0.0"
## 以下のコメントアウトを解除します。
elasticsearch.hosts: ["http://localhost:9200"]
# kibanaサービスの起動と有効化を実施します
systemctl start kibana
systemctl enable kibana
http://172.16.10.2:5601
注釈
3.2.12. 監視サーバー用仮想マシンへの監視ツールの導入、設定(Filebeatの導入)¶
# Filebeatを導入します。
sudo apt install filebeat -y
# Filebeatのデフォルト設定では、ログファイルをElasticsearchへ転送するよう設定されています。これを、LogStashへ転送するよう設定変更します
# Filebeatの設定ファイルを編集します。
vi /etc/filebeat/filebeat.yml
## 以下をコメントアウトします。
# output.elasticsearch:
# hosts: ["localhost:9200"]
## 以下のコメントアウトを解除します。
output.logstash:
hosts: ["localhost:5044"]
# Filebeatサービスの起動と有効化を実施します
systemctl start filebeat
systemctl enable filebeat
注釈
4. 多層アーキテクチャ用カタログ環境構築¶
4.1. アプリケーション配置用のvAppの作成¶
項目 |
設定内容 |
---|---|
名前 |
tutorial-dev-ntier |
説明 |
‐ |
パワーオン |
チェックなし |
4.2. アプリケーション配置用のvAppへのネットワークの追加¶
項目 |
設定内容 |
---|---|
タイプ |
組織VDCネットワーク |
選択OvDCネットワーク名 |
t-dev-mgmt-172.16.10.0 |
項目 |
設定内容 |
---|---|
タイプ |
組織VDCネットワーク |
選択OvDCネットワーク名 |
t-dev-tier-172.16.30.0 |
名前 |
ゲートウェイCIDR |
用途 |
---|---|---|
t-dev-front |
192.168.1.254/24 |
WEBフロント用ネットワーク |
名前 |
ゲートウェイCIDR |
用途 |
---|---|---|
t-dev-back |
192.168.10.254/24 |
DB通信用ネットワーク |
4.3. アプリケーション配置用のvAppへのアプリケーション用テンプレート仮想マシンの作成¶
4.3.1. アプリケーション用テンプレート仮想マシンの作成¶
項目 |
設定内容 |
---|---|
名前 |
t-dev-tmp01 |
説明 |
‐ |
タイプ |
テンプレートから |
テンプレート |
Ubuntu-21.0.4-SV ※tutorial-catalog |
ストレージ |
|
コンピュート |
項目なし
|
NIC |
項目なし※別途、仮想マシン構成設定にて追加するため、ここでは空欄とします。
|
カスタムプロパティ |
項目なし
|
エンドユーザー使用許諾契約書(EULA) |
項目なし
|
4.3.2. 仮想マシンのネットワーク設定¶
ログインID |
パスワード |
---|---|
Administrator |
[ゲストOSのカスタマイズ]->[編集]、[ゲストプロパティの編集]->[パスワードを指定]に記載された値 |
# 変更前のネットワーク設定を確認します
ip addr show
# 出力結果
# 0: lo: ~
# 1: ens{No}: ~ ← ens{No}が仮想マシンに追加したNICのデバイス名となります。
# 50-cloud-init.yamlファイルをコピーして01-netcfg.yamlファイルを作成します。
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/01-netcfg.yaml
# 50-cloud-init.yamlファイルをリネームします。
sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.org
# 01-netcfg.yamlファイルを編集します。
sudo vi /etc/netplan/01-netcfg.yaml
# vi 編集内容
# This file is generated from information provided by the datasource.
## 中略
# network: {config: disabled}
network:
ethernets:
ens{xxx}: # デバイス名は"ip addr show"コマンドにて確認したものとなります。
dhcp4: no
addresses: [{仮想マシンのIP Address}/24] # 個々の仮想マシンのIP Addressを設定します
gateway4: 172.16.10.250 # 境界防御用仮想ファイアウォールがゲートウェイとなります。
nameservers:
addresses: [172.16.10.1] # t-mgmt-ad01がDNSとなります。
dhcp6: no
version: 2
# netplan設定内容を反映します。
netplan apply
# 変更が反映されていることを確認します
ip addr show
4.3.3. 仮想マシンへの監視エージェントの導入¶
# パッケージの最新化を行います
sudo apt update -y
sudo apt upgrade -y
# ELK Stackパッケージ導入するのに必要となる依存関係パッケージおよび必要コマンドをインストールします
sudo apt install wget apt-transport-https curl gnupg2 -y
# 監視エージェント(metricbeat、filebeat)を導入するためのElasticsearchリポジトリ署名Keyを取得します。
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
# sources.list.dディレクトリへ必要なリポジトリを追加します。
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
# パッケージリストの再読み込み、https://artifacts.elastic.co/packages/7.x/aptを参照していることを確認します。
sudo apt update
# 監視エージェントFilebeatを導入します。
sudo apt install filebeat -y
# Filebeatの設定を変更します。
vi /etc/filebeat/filebeat.yml
# vi 編集内容
## 中略
filebeat.inputs:
# 以下を追加します。
- type: syslog
protocol.udp:
host: "{仮想マシンのIP Address}:9000"
## 以下をコメントアウトします。
#output.elasticsearch:
# hosts: ["localhost:9200"]
## 以下のコメントアウトを解除し、送信先IPアドレスを編集します。
output.logstash:
hosts: ["172.16.10.2:5044"]
# filebeatを実行します。
filebeat -e
# filebeatサービスの起動と有効化を実施します。
systemctl start filebeat
systemctl enable filebeat
# 監視エージェントmetricbeatを導入します
sudo apt install metricbeat -y
# metricbeatの設定を変更します。
vi /etc/metricbeat/metricbeat.yml
# vi 編集内容
## 中略
# 以下を追加します。
setup.kibana:
host: "172.16.10.2:5601"
output.elasticsearch:
hosts: ["172.16.10.2:9200"]
# metricbeatを実行します。
metricbeat setup
# metricbeatサービスの起動と有効化を実施します。
systemctl start metricbeat
systemctl enable metricbeat
5. アプリケーション用仮想マシンの作成¶
5.1. 仮想マシンの複製¶
メモリ(GB) |
メモリホットアド |
---|---|
必要量 |
チェックなし(無効) |
5.2. アプリケーション用仮想マシンの設定変更¶
ログインID |
パスワード |
---|---|
Administrator |
[ゲストOSのカスタマイズ]->[編集]、[ゲストプロパティの編集]->[パスワードを指定]に記載された値 |
# ホスト名を変更します。
hostnamectl set-hostname {仮想マシンのホスト名}
# hosts を変更します。
sudo vi /etc/hosts
## vi 編集内容
## 以下を編集します。
127.0.0.1 {仮想マシンのホスト名}
::1 {仮想マシンのホスト名}
# 変更前のネットワーク設定を確認します
ip addr show
# IP Addressを変更します。
sudo vi /etc/netplan/01-netcfg.yaml
## vi 編集内容
# This file is generated from information provided by the datasource.
## 中略
# network: {config: disabled}
network:
ethernets:
ens{xxx}: # デバイス名は"ip addr show"コマンドにて確認したものとなります。
dhcp4: no
addresses: [{仮想マシンのIP Address}/24]
gateway4: 172.16.10.250
nameservers:
addresses: [172.16.10.1]
dhcp6: no
version: 2
# netplan設定内容を反映します。
netpln apply
# 変更が反映されていることを確認します。
ip addr show
# filebeat設定の編集を行います。
vi /etc/filebeat/filebeat.yml
## vi 編集内容
## 中略
filebeat.inputs:
# 追加
- type: syslog
protocol.udp:
host: "{仮想マシンのIPアドレス}:9000"
# rootパスワードを変更します。
sudo passwd root
New password: {新規のパスワード}
Retype new password: {新規のパスワード}
# 設定内容を反映するため再起動します。
reboot
6. アプリケーション用仮想マシンへソフトウェアの導入¶
6.1. 仮想ロードバランサーの作成¶
注釈
7.1.1. NGINXの導入¶
sudo apt install -y nginx
# ファイアウォール機能の状態を確認します。
sudo ufw status
# 出力結果
Status : inactive
# ファイアウォール機能を有効化します。
sudo ufw enable
# ファイアウォール機能の状態を確認します。
sudo ufw status
# 出力結果
Status : active
# ファイアウォール アプリケーションプロファイルの一覧を表示します。
sudo ufw app list
# 出力結果
Available applications :
Nginx Full # ポート80/443を許可します
Nginx HTTP # ポート80を許可します
Nginx HTTPS # ポート443を許可します
OpenSSH # ポート22を許可します
# ポート80を許可します。
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'
# ファイアウォール機能の状態を確認します。
sudo ufw status
# 出力結果
Status : active
To Action From
-- ------ ----
Nginx HTTP ALLOW Anywhere
Nginx HTTPS ALLOW Anywhere
OpenSSH ALLOW Anywhere
Nginx HTTP (v6) ALLOW Anywhere (v6)
Nginx HTTPS (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
# NGINXサービスの状態を確認します
sudo systemctl status nginx
# 出力結果
● nginx.service - A high performance web server and a reverse proxy server
Loaded : loaded (/lib/systemd/system/nginx.service; # ~ 中略 ~
Active : acive (running) # ~ 中略 ~
# ~ 中略 ~
Mon DD HH:MM:SS {hostname} systemd[1]: Starting A high performance web server # ~ 中略 ~
Mon DD HH:MM:SS {hostname} systemd[1]: Started A high performance web server # ~ 中略 ~
http://172.16.10.20
6.1.2. NGINXの設定¶
注釈
# 認証局(CA)用の秘密鍵を配置するディレクトリを作成します。
cd /etc/ssh/
mkdir private
cd private
# CA用の秘密鍵を作成します。
openssl genrsa -out ca.key 2048
# CA用の自己証明書を発行します。
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
# 秘密鍵を作成します。
openssl genrsa -out server.key 2048
# CSRを作成します。
openssl req -sha256 -new -key server.key -out server.csr
# 自己証明書を発行します。
openssl x509 -req -days 3650 -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
# hosts へWEB/APサーバーの情報を追記し、名前解決できるようにします。
vi /etc/hosts
# 以下を追記します。
# ALB
192.168.1.1 t-dev-fe01
# NGINXの設定ファイルを編集します
vi /etc/nginx/nginx.conf
# httpディレクティブに対して追加設定します
http {
upstream backend {
server t-dev-fe01.example.co.jp;
}
server {
listen 80;
server_name test.example.co.jp;
return 301 https://$host$request_uri; # HTTPでのリクエストをHTTPSへリダイレクトさせます
}
server {
listen 443 ssl;
server_name test.example.co.jp;
# SSL有効化
ssl_certificate /etc/ssh/server.crt;
ssl_certificate_key /etc/ssh/server.key;
location / {
# upstream設定へむけることで振分けします
proxy_pass http://backend;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
index index.html index.htm
}
}
}
# 設定の検証を行います。
nginx -t
# 出力結果
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# 検証結果が正常であることを確認したら、サービスを再起動します。
systemctl restart nginx
注釈
NIC No |
ネットワーク |
ネットワークアダプタ タイプ |
IPモード |
IPアドレス |
プライマリNIC |
---|---|---|---|---|---|
1 |
t-dev-front |
VMXNET3 |
固定 - 手動 |
192.168.1.253 |
‐ |
# 変更前のネットワーク設定を確認します
ip addr show
# 出力結果
# 0: lo: ~
# 1: ens{No}: ~ ← ens{No}が仮想マシンに追加したNICのデバイス名となります。
#
# IP Addressを設定します。
sudo vi /etc/netplan/01-netcfg.yaml
# vi 編集内容
# This file is generated from information provided by the datasource.
## 中略
# network: {config: disabled}
network:
ethernets:
ens{xxx}:
dhcp4: no
addresses: [172.16.10.20/24]
gateway4: 172.16.10.250
nameservers:
addresses: [172.16.10.1]
dhcp6: no
# 追加
ens{xxx}: # デバイス名は"ip addr show"コマンドにて確認したものとなります。
dhcp4: no
addresses: [192.168.1.253/24]
dhcp6: no
version: 2
# netplan設定内容を反映します。
netpln apply
# 変更が反映されていることを確認します。
ip addr show
6.2. WEB/APサーバー用仮想マシンの作成¶
NIC No |
ネットワーク |
ネットワークアダプタ タイプ |
IPモード |
IPアドレス |
プライマリNIC |
---|---|---|---|---|---|
1 |
t-dev-front |
VMXNET3 |
固定 - 手動 |
192.168.1.1 |
‐ |
2 |
t-dev-back |
VMXNET3 |
固定 - 手動 |
192.168.10.2 |
‐ |
# 変更前のネットワーク設定を確認します
ip addr show
# 出力結果
# 0: lo: ~
# 1: ens{No}: ~ ← ens{No}が仮想マシンに追加したNICのデバイス名となります。
#
# IP Addressを設定します。
sudo vi /etc/netplan/01-netcfg.yaml
# vi 編集内容
# This file is generated from information provided by the datasource.
## 中略
# network: {config: disabled}
network:
ethernets:
ens{xxx}:
dhcp4: no
addresses: [172.16.10.21/24]
gateway4: 172.16.10.250
nameservers:
addresses: [172.16.10.1]
dhcp6: no
ens{xxx}: # デバイス名は"ip addr show"コマンドにて確認したものとなります。
dhcp4: no
addresses: [192.168.1.1/24]
dhcp6: no
ens{xxx}: # デバイス名は"ip addr show"コマンドにて確認したものとなります。
dhcp4: no
addresses: [192.168.10.2/24]
dhcp6: no
version: 2
# netplan設定内容を反映します。
netpln apply
# 変更が反映されていることを確認します。
ip addr show
6.3. DBサーバーの作成¶
NIC No |
ネットワーク |
ネットワークアダプタ タイプ |
IPモード |
IPアドレス |
プライマリNIC |
---|---|---|---|---|---|
1 |
t-dev-back |
VMXNET3 |
固定 - 手動 |
192.168.10.3 |
‐ |
# 変更前のネットワーク設定を確認します
ip addr show
# 出力結果
# 0: lo: ~
# 1: ens{No}: ~ ← ens{No}が仮想マシンに追加したNICのデバイス名となります。
#
# IP Addressを設定します。
sudo vi /etc/netplan/01-netcfg.yaml
# vi 編集内容
# This file is generated from information provided by the datasource.
## 中略
# network: {config: disabled}
network:
ethernets:
ens{xxx}:
dhcp4: no
addresses: [172.16.10.21/24]
gateway4: 172.16.10.250
nameservers:
addresses: [172.16.10.1]
dhcp6: no
ens{xxx}: # デバイス名は"ip addr show"コマンドにて確認したものとなります。
dhcp4: no
addresses: [192.168.10.3/24]
dhcp6: no
version: 2
# netplan設定内容を反映します。
netpln apply
# 変更が反映されていることを確認します。
ip addr show
7. vAppのテンプレート化¶
注釈
OvDCネットワーク名 |
---|
t-dev-mgmt-172.16.10.0 |
t-dev-tier-172.16.30.0 |
カタログ |
名前 |
説明 |
このテンプレートを使用する場合、以下を指定します |
---|---|---|---|
tutorial_catalog |
dev-ntier-template |
‐ |
同一のコピーを作成 |