2.5.5 Docker環境の場合
監視対象の仮想環境がDocker環境の場合,PFM - RM for Virtual Machineと仮想環境間の通信をSSL/TLSによって暗号化できます。Docker環境との通信にSSL/TLSを使用する場合,次に示す証明書およびパスワードが必要です。
- 監視対象のDocker環境が動作する物理サーバの場合
-
-
認証局のルート証明書
物理サーバの証明書を発行する認証局のルート証明書が必要です。
-
Docker環境が動作している物理サーバの証明書
発行先が物理サーバのホスト名となっている証明書が必要です。Docker環境が動作する物理サーバごとに証明書が必要です。
-
物理サーバの証明書の秘密鍵
物理サーバの証明書を発行するときに使用した秘密鍵が必要です。
-
- PFM - RM for Virtual Machineが動作するWindowsサーバの場合
-
-
認証局のルート証明書
物理サーバの証明書を発行した認証局のルート証明書が必要です。
-
Docker環境に接続するためのクライアント証明書(Personal Information Exchange形式)
物理サーバの証明書を発行した認証局でクライアント証明書を発行する必要があります。物理サーバの証明書と異なる発行者のクライアント証明書では監視できません。物理サーバの証明書をすべて同じ認証局で発行している場合は,1つのクライアント証明書で監視できます。物理サーバの証明書が異なる認証局で発行している場合は,それぞれの認証局で発行したクライアント証明書が必要です。
-
Personal Information Exchangeのパスワード
Personal Information Exchange形式のクライアント証明書では,秘密鍵を保護するためのパスワードが設定されています。Windows証明書ストアに登録するときに必要となります。
-
各証明書は,次の図に示すように配置します。
|
Docker環境は,ルート証明書,サーバ証明書およびサーバの秘密鍵のファイルをDocker Engine実行時の引数で指定します。
PFM - RM for Virtual Machineは,Windows証明書ストアに登録された証明書および秘密鍵を使用します。
(1) 監視対象の設定
Docker環境で証明書およびtcpを有効にし,物理サーバのファイアウォールの設定を変更します。
(a) 証明書を配置する
ルート証明書,サーバ証明書およびサーバの秘密鍵をDocker Engineの参照できる場所に配置します。
- /etc/docker/certs.dに配置する例
-
ルート証明書:/etc/docker/certs.d/ca.pem
サーバ証明書:/etc/docker/certs.d/server-cert.pem
サーバの秘密鍵:/etc/docker/certs.d/server-key.pem
(b) tcp接続およびSSL/TLSを有効にする
Docker環境にリモート接続できるようにtcpポート番号および暗号化通信に必要な証明書を設定します。
/etc/sysconfig/dockerファイルのOPTIONSの引数に-Hオプション,--tlsverify, --tlscacert, --tlscert, --tlskeyオプションを追加します。
- 証明書ファイルを/etc/docker/certs.dに配置し,ポート番号XXXXで待ち受ける場合の例
OPTIONS='--selinux-enabled --log-driver=journald --tlsverify --tlscacert=/etc/docker/certs.d/ca.pem --tlscert=/etc/docker/certs.d/server-cert.pem --tlskey=/etc/docker/certs.d/server-key.pem -H unix:///var/run/docker.sock -H tcp://0.0.0.0:XXXX'
変更を有効にするため,Docker Engineを再起動します。
- 再起動コマンドの例
systemctl restart docker
(c) ファイアウォールの設定を変更する
ファイアウォールが有効な場合,リモート接続できるようにファイアウォールの設定を変更します。
- ポート番号XXXXで待ち受ける場合の例
firewall-cmd --permanent --zone=public --add-port=XXXX/tcp firewall-cmd -reload
(2) PFM - RM for Virtual Machineの設定
PFM - RM for Virtual Machineの監視対象の設定で,次のパラメーターを設定します。
-
Target Host
Target Hostには,監視対象のDocker環境が動作する物理サーバのホスト名を設定します。ホスト名はPFM - RM for Virtual Machineホストで名前解決できるようにしてください。
-
Security
Securityには暗号化通信を行うように,1〜3を指定します。
-
Port
PortにはDocker環境に指定したtcpポート番号を設定します。
Docker環境と暗号化通信するための証明書を登録します。
(a) ルート証明書の登録
-
Windowsの[スタート]−[ファイル名を指定して実行]を選択する。
[ファイル名を指定して実行]ダイアログが表示されます。
-
[ファイル名を指定して実行]ダイアログに「mmc」と入力して[OK]ボタンをクリックする。
Management Consoleが起動します。
-
[コンソール1]で[ファイル]−[スナップインの追加と削除]を選択する。
[スナップインの追加と削除]ダイアログが表示されます。
-
証明書を選択して,[追加]ボタンをクリックする。
[証明書スナップイン]ダイアログが表示されます。
-
[コンピュータ アカウント]を選択して,[次へ]ボタンをクリックする。
[コンピュータの選択]ダイアログが表示されます。
-
[ローカルコンピュータ]をチェックして,[完了]ボタンをクリックする。
-
[選択されたスナップイン]に[証明書(ローカルコンピューター)]が追加されたことを確認し,[OK]ボタンをクリックする。
-
[証明書(ローカルコンピューター)]−[信頼されたルート証明機関]−[証明書]を右クリックして,表示された[すべてのタスク]−[インポート]メニューを選択する。
[証明書のインポート ウィザード]ダイアログが表示されます。
-
[次へ]ボタンをクリックする。
-
[ファイル名]テキストボックスに,証明書の保存ファイル名を入力して,[次へ]ボタンをクリックする。
ここでは,例として「C:¥Certs¥ca.pem」と入力します。
証明書ストアが[信頼されたルート証明機関]になっていることを確認します。
-
[証明書をすべて次のストアに配置する]を選択して,[次へ]ボタンをクリックする。
-
[完了]ボタンをクリックする。
-
[OK]ボタンをクリックして,正しくインポートされたことを確認する。
(b) クライアント証明書の登録
PFM - RMホストのユーザー(インスタンス環境の設定でHostUserIDに指定しているユーザー)でログオンします。
-
Windowsの[スタート]−[ファイル名を指定して実行]を選択する。
[ファイル名を指定して実行]ダイアログが表示されます。
-
[ファイル名を指定して実行]ダイアログに「mmc」と入力して[OK]ボタンをクリックする。
Management Consoleが起動します。
-
[コンソール1]で[ファイル]−[スナップインの追加と削除]を選択する。
[スナップインの追加と削除]ダイアログが表示されます。
-
証明書を選択して,[追加]ボタンをクリックする。
[証明書スナップイン]ダイアログが表示されます。
-
[ユーザー アカウント]を選択し,[完了]ボタンをクリックする。
-
[選択されたスナップイン]に[証明書]−[現在のユーザー]が追加されたことを確認して,[OK]ボタンをクリックする。
-
[証明書(ローカルコンピューター)]−[信頼されたルート証明機関]−[証明書]を右クリックし,表示された[すべてのタスク]−[インポート]メニューを選択する。
[証明書のインポート ウィザード]ダイアログが表示されます。
-
[次へ]ボタンをクリックする。
-
[ファイル名]テキストボックスに,証明書の保存ファイル名を入力して,[次へ]ボタンをクリックする。
ここでは,例として「C:¥Certs¥client.pfx」と入力します。
-
Personal Information Exchangeのパスワードを指定して,「次へ」をクリックする。
証明書ストアが「個人」になっていることを確認します。
-
[証明書をすべて次のストアに配置する]を選択して,[次へ]ボタンをクリックする。
-
[完了]ボタンをクリックする。
-
[OK]ボタンをクリックして,正しくインポートされたことを確認する。