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
NASクライアントをダウンロードします。
wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.3-0.20240914145556.91a304.al7.noarch.rpm
NASクライアントをインストールします。
sudo yum install aliyun-alinas-utils-*.rpm
NASクライアントがインストールされているかどうかを確認します。
which mount.alinas
次の例のような出力が表示される場合、NASクライアントがインストールされます。
CentOS
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
NASクライアントをインストールします。
sudo yum install aliyun-alinas-utils-*.rpm
NASクライアントがインストールされているかどうかを確認します。
which mount.alinas
次の例のような出力が表示される場合、NASクライアントがインストールされます。
レッドハットエンタープライズLinux
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
NASクライアントをインストールします。
sudo yum --disablerepo=rhui-rhel-7-server-rhui-extras-debug-rpms install aliyun-alinas-utils-*.rpm
NASクライアントがインストールされているかどうかを確認します。
which mount.alinas
次の例のような出力が表示される場合、NASクライアントがインストールされます。
UbuntuとDebian
NASクライアントをダウンロードします。
wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.deb
NASクライアントをインストールします。
sudo apt update sudo dpkg -i aliyun-alinas-utils-*.deb sudo apt-get install -f sudo dpkg -i aliyun-alinas-utils-*.deb
NASクライアントがインストールされているかどうかを確認します。
which mount.alinas
次の例のような出力が表示される場合、NASクライアントがインストールされます。
ステップ2: 転送中の暗号化を有効にしてNFSファイルシステムをマウントする
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を有効にします。
mount -l
コマンドを実行して、マウント結果を表示します。次の例のような出力が表示された場合、マウントは成功です。
ファイルシステムがマウントされたら、df -hコマンドを実行してファイルシステムの容量を表示できます。
(オプション) 起動時に自動マウントを設定します。
ファイルシステムがマウントされているECSインスタンスを再起動すると、マウントされているすべてのファイルシステムに関する情報が失われる可能性があります。 このような情報の損失を防ぐには、Linux ECSインスタンスの /etc/fstab設定ファイルを編集して、起動時にNFSファイルシステムの自動マウントを有効にします。
/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コマンドが実行されていないことを示します。
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パラメーターの値を未使用のポート番号に変更します。 次に、ファイルシステムを再度マウントします。