すべてのプロダクト
Search
ドキュメントセンター

File Storage NAS:NFSファイルシステムの転送中の暗号化

最終更新日:Nov 12, 2024

File Storage NAS (NAS) の汎用ネットワークファイルシステム (NFS) ファイルシステムは、転送中の暗号化機能をサポートしています。 この機能は、トランスポート層セキュリティ (TLS) プロトコルを使用して、Elastic Compute Service (ECS) インスタンスとNASファイルシステムの間で送信されるデータを傍受や改ざんから保護します。 このトピックでは、NASクライアントを使用して汎用NFSファイルシステムをマウントするときに、転送中の暗号化を有効にする方法について説明します。

制御ポリシー機能の動作

NASクライアントは、alinasと呼ばれるネットワークファイルシステム (NFS) のタイプを定義します。 NFSは、mountコマンドの標準形式と互換性があります。 ECSインスタンスにalinas NFSをマウントするときにtlsパラメーターを指定すると、NASクライアントはstunnelという名前のプロセスを開始します。 このプロセスは、ECSインスタンスからNASサーバーにアクセスリクエストを転送および暗号化します。 このプロセスは、aliyun-alinas-mount-watchdogという名前のバックエンドプロセスもトリガーして、スタンネルプロセスの可用性を確保します。

前提条件

  • 汎用NFSファイルシステムが作成されます。 詳細については、「ファイルシステムの作成」をご参照ください。

    重要

    転送中の暗号化を有効にしたときに、NFSファイルシステムがECSインスタンスのディレクトリ (/mntなど) に既にマウントされている場合は、NFSファイルシステムをアンマウントしてから、NFSファイルシステムを再度マウントする必要があります。 NFSファイルシステムをアンマウントする方法の詳細については、「NASコンソールでのファイルシステムのアンマウント」をご参照ください。

  • ECSインスタンスでインターネットアクセスが有効になっているか、elastic IPアドレス (EIP) がECSインスタンスに関連付けられています。 詳細については、「ネットワーク帯域幅」をご参照ください。

使用上の注意

  • このトピックは、汎用NFSファイルシステムにのみ適用されます。

  • NASクライアントがサポートするオペレーティングシステム

    オペレーティングシステム

    バージョン

    Alibaba Cloud Linux

    • Alibaba Cloud Linux 2.1903 64ビット

    • Alibaba Cloud Linux 3.2104 LTS 64ビット

    Red Hat

    • Red Hat Enterprise Linux 7.x 64ビット

    • Red Hat Enterprise Linux 8.x 64ビット

    CentOS

    • CentOS 7.x 64ビット

    • CentOS 8.x 64ビット

    Ubuntu

    • Ubuntu 16.04 64-bit

    • Ubuntu 18.04 64-bit

    • Ubuntu 20.04 64ビット

    Debian

    • Debian 9.x 64ビット

    • Debian 10.x 64ビット

  • パフォーマンスの低下

    転送中に暗号化を無効にしたファイルシステムと比較して、転送中に暗号化を有効にしたファイルシステムは、10% に長い待ち時間と10% に少ないIOPSでアクセスできます。

  • NASクライアントの使用に関する注意事項

    • NASクライアントは、stunnelプロセスをTLS暗号化ラッパーとして使用します。 高スループットアプリケーションの場合、スタンネルプロセスは暗号化と復号化を実行するために大量のCPUリソースを消費します。 極端な場合、各マウント操作はコア全体の容量を消費します。

    • NASクライアントは、転送中のデータを暗号化するためにサードパーティ証明書を必要とします。 証明書は定期的に更新する必要があります。 NASは、電子メールと内部メッセージを使用して、1か月前に更新通知を送信します。 これらの通知を受け取ったら、できるだけ早い機会にaliyun-alinas-utilsツールを更新する必要があります。 それ以外の場合、マウントされたNASファイルシステムは証明書の有効期限が切れると応答を停止します。

    • NASクライアントを使用する場合、Alibaba Cloudアカウント内のECSインスタンスの /etc/hostsファイルが変更されます。 したがって、ファイルシステムをマウントすると、新しいマウントターゲットが /etc/hostsファイルに書き込まれます。 ファイルシステムをアンマウントすると、マウント対象がファイルから削除されます。

    • NASクライアントがTLS暗号化ラッパーとしてstunnelプロセスを使用する場合、stunnelプロセスはポート12049で127.0.1.1から127.0.255.254までのIPアドレスをリッスンします。 IPアドレスとポートが使用可能であることを確認する必要があります。

      ss -ant | grep -w 12049コマンドを実行して、ポートが占有されているかどうかを確認できます。 値が返されない場合、ポートは使用可能です。 ポートが占有されている場合は、設定ファイルを変更します。 NASクライアントの設定ファイルを変更する方法の詳細については、このトピックの「トラブルシューティング」をご参照ください。

サポートされるリージョン

転送中暗号化機能は、Alibaba Cloudパブリッククラウドのすべてのリージョン、および中国South 1 Financeを除くAlibaba Finance cloudのすべてのリージョンで利用できます。

ステップ1: NASクライアントをダウンロードしてインストールする

Alibaba Cloud Linux

  1. NASクライアントをダウンロードします。

    wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.3-0.20240914145556.91a304.al7.noarch.rpm
  2. NASクライアントをインストールします。

    sudo yum install aliyun-alinas-utils-*.rpm
  3. NASクライアントがインストールされているかどうかを確認します。

    which mount.alinas

    次の例のような出力が表示される場合、NASクライアントがインストールされます。

    image.png

CentOS

  1. NASクライアントをダウンロードします。

    • CentOS 7.x

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el7.noarch.rpm
    • CentOS 8.x

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el8.noarch.rpm
  2. NASクライアントをインストールします。

    sudo yum install aliyun-alinas-utils-*.rpm
  3. NASクライアントがインストールされているかどうかを確認します。

    which mount.alinas

    次の例のような出力が表示される場合、NASクライアントがインストールされます。

    image.png

レッドハットエンタープライズLinux

  1. NASクライアントをダウンロードします。

    • Red Hat Enterprise Linux 7.x

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el7.noarch.rpm
    • Red Hat Enterprise Linux 8.x

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el8.noarch.rpm
  2. NASクライアントをインストールします。

    sudo yum --disablerepo=rhui-rhel-7-server-rhui-extras-debug-rpms install aliyun-alinas-utils-*.rpm
  3. NASクライアントがインストールされているかどうかを確認します。

    which mount.alinas

    次の例のような出力が表示される場合、NASクライアントがインストールされます。

    image.png

UbuntuとDebian

  1. NASクライアントをダウンロードします。

    wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.deb
  2. NASクライアントをインストールします。

    sudo apt update
    sudo dpkg -i aliyun-alinas-utils-*.deb
    sudo apt-get install -f
    sudo dpkg -i aliyun-alinas-utils-*.deb
  3. NASクライアントがインストールされているかどうかを確認します。

    which mount.alinas

    次の例のような出力が表示される場合、NASクライアントがインストールされます。

    image.png

ステップ2: 転送中の暗号化を有効にしてNFSファイルシステムをマウントする

  1. NFSファイルシステムをマウントします。

    • NFSv3プロトコル

      sudo mount -t alinas -o tls,vers=3 file-system-id.region.nas.aliyuncs.com:/ /mnt
    • NFSv4.0プロトコル

      sudo mount -t alinas -o tls,vers=4.0 file-system-id.region.nas.aliyuncs.com:/ /mnt

    次の表に、mountコマンドで設定できるパラメーターを示します。

    説明

    ファイルシステムをマウントすると、NASクライアントは最適なパフォーマンスを保証できるパラメーターを自動的に使用します。 自分でパラメータを追加する必要はありません。 詳細については、「NFSファイルシステムのマウント」をご参照ください。

    パラメーター

    説明

    file-system-id.region.nas.aliyuncs.com: //mnt

    コマンドの構文は、<マウント対象のドメイン名 >:< 共有ディレクトリの名前> <マウントディレクトリのパス> です。 ドメイン名、ディレクトリ名、およびディレクトリパスを実際の値に置き換える必要があります。

    • マウントターゲットのドメイン名: ドメイン名を表示するには、次の手順を実行します。NASコンソールにログインします。 [ファイルシステムリスト] ページで、管理するファイルシステムを見つけ、[操作] 列の [管理] をクリックします。 [マウントターゲット] タブで、マウントターゲットのドメイン名を表示します。 詳細については、「マウントターゲットのドメイン名の表示」をご参照ください。

    • 共有ディレクトリ名: ルートディレクトリ /またはサブディレクトリを指定します。 /shareなどのサブディレクトリを指定する場合は、NASファイルシステムに存在することを確認してください。

    • マウントディレクトリのパス: Linux ECSインスタンスの /mntなどのサブディレクトリを指定します。 サブディレクトリがローカルファイルシステムに存在するか確認してください。

    vers

    NFSファイルシステムのプロトコルバージョン。

    • vers=3: NFSv3を使用してファイルシステムをマウントする

    • vers=4: NFSv4.0を使用してファイルシステムをマウントする

    tls

    TLSを有効にします。

  2. mount -lコマンドを実行して、マウント結果を表示します。

    次の例のような出力が表示された場合、マウントは成功です。加密挂载回显

    ファイルシステムがマウントされたら、df -hコマンドを実行してファイルシステムの容量を表示できます。

  3. (オプション) 起動時に自動マウントを設定します。

    ファイルシステムがマウントされているECSインスタンスを再起動すると、マウントされているすべてのファイルシステムに関する情報が失われる可能性があります。 このような情報の損失を防ぐには、Linux ECSインスタンスの /etc/fstab設定ファイルを編集して、起動時にNFSファイルシステムの自動マウントを有効にします。

    1. /etc/fstab設定ファイルを開いてマウント設定を追加します。

      file-system-id.region.nas.aliyuncs.com:/ /mnt alinas _netdev,tls 0 0

      マウントパラメーターの詳細については、「NFSファイルシステムのマウント」をご参照ください。 次の表に、前の表に含まれていないパラメーターを示します。

      パラメーター

      説明

      _netdev

      ネットワーク接続前の自動マウントを防ぎます。

      0 (tlsの後の最初の値)

      dumpコマンドを実行してファイルシステムをバックアップするかどうかを指定します。 ゼロ以外の値は、ファイルシステムがバックアップされていることを示します。 NASファイルシステムの場合、デフォルト値は0です。

      0 (tlsの後の2番目の値)

      起動時にfsckコマンドがファイルシステムをチェックする順序。 NASファイルシステムの場合、デフォルト値は0です。これは、起動時にfsckコマンドが実行されていないことを示します。

    2. rebootコマンドを実行してECSインスタンスを再起動します。

      ECSインスタンスを再起動すると、サービスが中断されます。 オフピーク時に操作を実行することを推奨します。

      説明

      ECSインスタンスを再起動する前に、手動マウントが成功したことを確認してください。 そうしないと、ECSインスタンスの再起動に失敗する可能性があります。 自動マウントが有効になっている場合、ECSインスタンスの再起動後、df -hコマンドを実行して、マウントされているNASファイルシステムを表示できます。

NASクライアントログ

/var/log/aliyun/alinas/ ディレクトリでNASクライアントのログファイルを開くことで、マウントエラーを見つけることができます。 /etc/aliyun/alinas/alinas-utils.confディレクトリのログ設定ファイルのパラメーターを変更して、NASクライアントログを設定することもできます。 設定ファイルを変更した後、sudo service aliyun-alinas-mount-watchdog restartコマンドを実行します。 次に、バックエンドウォッチドッグが再起動されます。

次の表に、ログ設定ファイルのパラメーターを示します。

パラメーター

説明

logging_level

ログレベル。 デフォルト値: INFO。

logging_max_bytes

ログファイルの最大サイズ。 デフォルト値: 1048576バイト。 1つのログファイルの最大サイズは1 MBです。

logging_file_count

保持されるログファイルの最大数。 デフォルト値は 10 です。 最大10個のログファイルを保持できます。

stunnel_debug_enabled

stunnelのデバッグログ。 デフォルト値:false パラメータを有効にすると、大量のストレージ容量が使用されます。

stunnel_check_cert_hostname

証明書のホスト名を確認します。 デフォルト値:false

stunnel_check_cert_validity

証明書の有効性をチェックします。 デフォルト値:false

トラブルシューティング

  • 発行

    ファイルシステムがマウントされると、次のエラーメッセージが返されます。端口占用报错

  • 原因

    stunnelがリッスンするIPアドレスまたはポート12049は、他のプロセスによって使用されます。 その結果、ファイルシステムのマウントに失敗します。

  • 解決策

    • 解決策1: ポート12049を使用するプロセスを見つけて終了します。 次に、ファイルシステムを再度マウントします。

    • 解決策2: /etc/aliyun/alinas/alinas-utils.confディレクトリにあるクライアントツールの設定ファイルを編集します。 proxy_portパラメーターの値を未使用のポート番号に変更します。 次に、ファイルシステムを再度マウントします。修改端口号