IBM Cloud ファイル共有マウント・ヘルパー・ユーティリティー
Mount Helperは、オープンソースの自動化ツールで、コンピュートホストとファイル共有の間のセキュアなIPsec通信を設定・確立する。 サーバーとゾーンファイル共有間の通信が暗号化されることを保証します。
このユーティリティは、 strongSwan と swanctl
を使用して、 Linux OSを実行しているコンピュート・ホスト上でIPsecを設定します。
File Storage for VPC IPsec 接続には相互認証が必要です。 マウント・ヘルパーは、メタデータ・サービスからインスタンス ID トークンを取得し、インスタンス ID トークンを使用して、インスタンス ID 証明書の作成を要求します。
証明書の存続時間が 1 時間であるため、マウント・ヘルパーは 45 分ごとに新しい証明書要求を行います。 シームレスな接続を確保するために、古い証明書の有効期限が切れる前に新しい証明書が生成されます。 証明書は、セキュリティー上の理由から、有効期間を短くして生成されます。
このユーティリティーは、暗号化接続または非暗号化接続に使用できます。 暗号化接続の場合、Mount Helperはメタデータサービスのプロトコルオプションを http
または https
に設定して使用します。 詳しくは、 インスタンス・プロビジョニング の metadata_service
オプションの
API リファレンスを参照してください。
要件
- 仮想サーバーインスタンスで メタデータサービスを 有効にする必要があります。 まだ有効になっていない場合は、 コンソールからメタデータを有効にする、 CLIからメタデータを有効にする、APIからメタデータを有効にする、などの手順に従ってください。
- ファイル共有には セキュリティー・グループ・アクセス・モード が必要です。これにより、VPC のセキュリティー・アクセス・グループを使用して、共有をマウントできる仮想サーバー・インスタンスを定義できます。
- 転送中のデータ暗号化をマウントターゲットで有効にする必要があります。
- 仮想サーバー・インスタンスとマウント・ターゲットは、同じ セキュリティー・グループ のメンバーでなければなりません。
- マウント・ターゲットは 仮想ネットワーク・インターフェース を使用して作成する必要があるため、仮想 NFS サーバーを表す VPC 内に IP アドレスがあります。
制約事項
-
複数の地域で同じ証明書を使用することはできません。
-
マウントヘルパーは Linux ホストでのみサポートされています。 サポートされているディストリビューションについては、表を参照してください:
この表は、サポート対象のホストOSディストリビューションを示しています。 サポートされる OS サポートされる OS サポートされる OS UBUNTU_2204 UBUNTU_2404 SAP_SLES_15_SP3_HANA RHEL_8 [8.4, 8.6, 8.8, 8.10] RHEL_9 [9.0, 9.2, 9.4] SAP_SLES_15_SP3_APPLICATIONS CENTOS_STREAM_9 CENTOS_STREAM_10 SAP_SLES_15_SP4_HANA DEBIAN_11 DEBIAN_12 SAP_SLES_15_SP4_APPLICATIONS ROCKYLINUX_8 [8.9, 8.10] ROCKYLINUX_9 [9.4, 9.5] -
Red Hat Enterprise Linux CoreOS へのマウントヘルパーのインストールはサポートされていません。
-
転送中の暗号化は Bare Metal Servers for VPC ではサポートされていません。
マウント・ヘルパーのインストールおよび構成
ファイル共有をマウントする Compute インスタンスに SSH で接続します。 それから、GitHub,からパッケージを直接ダウンロードするか、ソースコードからユーティリティをビルドすることができます。
インストール・パッケージのダウンロード
-
マウント・ヘルパー・パッケージを GitHubからダウンロードします。
curl -LO https://github.com/IBM/vpc-file-storage-mount-helper/releases/download/latest/mount.ibmshare-latest.tar.gz
-
圧縮ファイルを解凍します。
tar -xvf mount.ibmshare-latest.tar.gz
このファイルには、インストール・スクリプトとアンインストール・スクリプト、
rpm
パッケージとdeb
パッケージ、ルート CA 証明書、および構成ファイルが含まれています。クローズされた環境: インターネット接続のない仮想サーバー・インスタンスにマウント・ヘルパーをインストールするには、OS に基づいて VSI 上のローカル・リポジトリーを作成または更新します。 マウント・ヘルパー・パッケージとその依存関係をローカル・ディレクトリーにコピーします。
-
マウント・ヘルパーおよびすべての依存関係をインストールするには、以下のスクリプトを使用して、ファイル共有をマウントするリージョンを指定します。
./install.sh region=us-south
region
引数は、地域固有のルート CA 証明書をコピーするために使用される。 リージョンが指定されていない場合、ユーティリティーはすべてのルート CA 証明書をコピーします。 以下の表に、地域を指定するために使用できる値を示します。この表は、スクリプトが受け入れる地域値を示しています。 Location 新しい値 前の値 オーストラリア - シドニー au-syd
syd
ブラジル - サンパウロ br-sao
sao
カナダ - モントリオール ca-mon
カナダ - トロント ca-tor
tor
ドイツ - フランクフルト eu-de
fra
日本 - 大阪 jp-osa
osa
日本 - 東京 jp-tok
tok
スペイン - マドリード eu-mad
mad
イギリス - ロンドン eu-gb
lon
アメリカ合衆国 - ワシントンDC us-east
wdc
アメリカ合衆国 - テキサス州ダラス us-south
dal
-
オプション-すべてのインストール・イメージには、イメージ・ファイルのチェックサム値を含むファイルが付属しています。 例えば、イメージ・ファイル ibmshare-0.0.1.tar.gz には、チェックサム値を含む ibmshare-0.0.1.tar.gz.sha256 ファイルが付属しています。 ダウンロードしたパッケージの整合性を検証するには、以下のコマンドを使用します。
curl -LO https://github.com/IBM/vpc-file-storage-mount-helper/releases/download/latest/mount.ibmshare-latest.tar.gz.sha256
sha256sum -c mount.ibmshare-latest.tar.gz.sha256
成功すると、「OK」と表示されます。 出力は次の例のようになる。
# sha256sum -c mount.ibmshare-latest.tar.gz.sha256 ./mount.ibmshare-latest.tar.gz: OK
-
オプション-デフォルトでは、証明書は 1 時間持続し、新規証明書は 45 分ごとにフェッチされます。 ただし、構成ファイル
/etc/ibmcloud/share.conf
のcertificate_duration_seconds
オプションを別の時間間隔に変更することはできます。 新しい値は、5 分から 1 時間の間で、秒単位で表す必要があります。certificate_duration_seconds = 600
certificate_duration_seconds
値の有効な範囲は 300 秒から 3600 秒です。 証明書は、現在の証明書がその存続期間の 70% に達すると更新されます。 -
オプション-新しい有効期限時刻で証明書を即時に更新する場合は、以下のコマンドを実行します。
/sbin/mount.ibmshare -RENEW_CERTIFICATE_NOW
ソース・コードからのマウント・ヘルパー・ユーティリティーのビルド
-
Debianベースのインスタンスでは、以下のコマンドを実行します。
apt-get update -y apt-get install git make python3 -y git clone https://github.com/IBM/vpc-file-storage-mount-helper.git cd vpc-file-storage-mount-helper make build-deb
-
RPM ベースのインスタンスで、以下のコマンドを実行します。
yum update -y yum install git make python3 rpm-build -y git clone https://github.com/IBM/vpc-file-storage-mount-helper.git cd vpc-file-storage-mount-helper make build-rpm
マウント・ヘルパーの更新
インストール・パッケージを更新するには、 install.sh
スクリプトを再度実行します。
./install.sh
マウント・ヘルパーのアンインストール
以下のコマンドは、ユーティリティーをアンインストールします。
./uninstall.sh
トラブルシューティングのヒント
-
IPsec インストールが失敗した場合は、標準出力に表示される mount-helper インストール・スクリプトのログを確認してください。
-
IPsec が適切にインストールされているが、IPsec サービスの開始に失敗した場合は、
charon
ログを確認します。charon
ログは、OS イメージに基づくログ・ファイル/var/log/syslog
または/var/log/messages
のいずれかにあります。 -
別の端末で以下の
swanctl
コマンドを実行して、マウント・コマンドを試行する前に IPsec 接続ネゴシエーション・ログを確認することができます。swanctl -T
-
IPsec 接続を手動で開始または切断するには、以下のいずれかのコマンドを使用します。
ipsec up <connection-name> ipsec down <connection-name>
-
IPsec コマンドが使用できない場合は、以下の
swanctl
コマンドを使用します。swanctl -i --ike <connection-name> swanctl -i --child <connection-name> swanctl -t --ike <connection-name>
-
アクティブな接続をリストするには、以下のいずれかのコマンドを使用します。
ipsec status
それとも
swanctl -l
-
strongSwan サービスを再始動するためのコマンドです。
systemctl restart strongswan
-
マウント・ヘルパー・ログの場所。
/opt/ibm/mount-ibmshare/mount-ibmshare.log
次のステップ
デフォルトでは、NFS では、root 権限で作成されたファイルが nobody
ユーザーにダウングレードされます。 このセキュリティー機能によって、要求されない限り、特権が共有されないようにしています。 no_root_squash
を設定することで、rootクライアントはリモートの NFS ファイル共有のroot権限を保持できる。 NFSv4.1 の場合は、nfsv4 ドメインを slnfsv4.com
に設定した後に、rpcidmapd
を開始するか、OS で使用されている類似サービスを開始してください。 詳しくは、 no_root_squash
for NFS の実装(オプション )を参照。
ファイル共有の管理 について説明します。