IBM Cloud Docs
IBM Cloud ファイル共有マウント・ヘルパー・ユーティリティー

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 リファレンスを参照してください。

要件

制約事項

  • 複数の地域で同じ証明書を使用することはできません。

  • マウントヘルパーは 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,からパッケージを直接ダウンロードするか、ソースコードからユーティリティをビルドすることができます。

インストール・パッケージのダウンロード

  1. マウント・ヘルパー・パッケージを GitHubからダウンロードします。

    curl -LO https://github.com/IBM/vpc-file-storage-mount-helper/releases/download/latest/mount.ibmshare-latest.tar.gz
    
  2. 圧縮ファイルを解凍します。

    tar -xvf mount.ibmshare-latest.tar.gz
    

    このファイルには、インストール・スクリプトとアンインストール・スクリプト、 rpm パッケージと deb パッケージ、ルート CA 証明書、および構成ファイルが含まれています。

    クローズされた環境: インターネット接続のない仮想サーバー・インスタンスにマウント・ヘルパーをインストールするには、OS に基づいて VSI 上のローカル・リポジトリーを作成または更新します。 マウント・ヘルパー・パッケージとその依存関係をローカル・ディレクトリーにコピーします。

  3. マウント・ヘルパーおよびすべての依存関係をインストールするには、以下のスクリプトを使用して、ファイル共有をマウントするリージョンを指定します。

    ./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
  4. オプション-すべてのインストール・イメージには、イメージ・ファイルのチェックサム値を含むファイルが付属しています。 例えば、イメージ・ファイル 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
    
  5. オプション-デフォルトでは、証明書は 1 時間持続し、新規証明書は 45 分ごとにフェッチされます。 ただし、構成ファイル /etc/ibmcloud/share.confcertificate_duration_seconds オプションを別の時間間隔に変更することはできます。 新しい値は、5 分から 1 時間の間で、秒単位で表す必要があります。

    certificate_duration_seconds = 600
    

    certificate_duration_seconds 値の有効な範囲は 300 秒から 3600 秒です。 証明書は、現在の証明書がその存続期間の 70% に達すると更新されます。

  6. オプション-新しい有効期限時刻で証明書を即時に更新する場合は、以下のコマンドを実行します。

    /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
    

マウント・ヘルパーを使用したファイル共有のマウント

  1. サーバー上にディレクトリを作成する。
    mkdir /mnt/share-test
    
  2. 以下の構文で mount

共有をマウントするには、以下のコマンド構文を使用する。 mountpathをファイル共有固有の情報に置き換える。

mount -t ibmshare -o secure=true <share-ip>:/<mount-path> /mnt/mount-point

コマンドが送信されると、ユーティリティは証明書署名要求(csr)を作成し、メタデータ・サービスを呼び出して中間証明書とエンドピア証明書を取得する。 マウントのコマンドライン引数を解析し、 /etc/swanctl/conf.d/type_ibmshare_.conf。 strongSwan サービスはこの設定ファイルを使用してIPsec接続を確立する。 次に、スクリプトはIPsec接続をロードし、 NFS mount コマンドを呼び出す。 正常な応答は、次の例のようになります。

   [root@my-eit-instance ~]# mount -t ibmshare -o secure=true 10.240.64.5:/0c937ac3_814e_4a7c_99b8_719ec3cad7fd  /mnt/share-test
   Info  - IpSec using StrongSwan(5.7.2)
   Debug - RunCmd: /usr/sbin/swanctl --list-conns
   Debug - Config data unchanged:/etc/strongswan/swanctl/conf.d/type_ibmshare_10.240.64.5.conf
   Debug - StrongSwan cleanup config files Total(1) Mounted(0) Deleted(0) Recent(1)
   Debug - RunCmd: ReloadConfig (/usr/sbin/swanctl --load-all)
   Debug - File unlocked:/var/lock/ibm_mount_helper.lck
   Debug - RunCmd: MountCmd (mount -t nfs4 -o sec=sys,nfsvers=4.1,rw 10.240.64.5:/0c937ac3_814e_4a7c_99b8_719ec3cad7fd /mnt/share-test)
   Debug - RunCmd: LoadCert (openssl x509 -in /etc/strongswan/swanctl/x509ca/type_ibmshare_int.crt -noout -dates -subject -issuer)
   Debug - RunCmd: LoadCert (openssl x509 -in /etc/strongswan/swanctl/x509ca/type_ibmshare_root_dal.crt -noout -dates -subject -issuer)
   Share successfully mounted:

マウントの詳細を /etc/fstab に追加することは推奨されません。 IPsec 接続は、自動化された fstab マウント要求の時間内に確立されない可能性があります。

マウント・ヘルパーの更新

インストール・パッケージを更新するには、 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 の実装(オプション )を参照。

ファイル共有の管理 について説明します。