さまざまなシナリオで ossfs を使用するには、ユースケースごとに特定の設定ファイルを作成し、そのファイルを参照して Object Storage Service (OSS) バケットをマウントする必要があります。このトピックでは、マウントオプションを使用して、さまざまなユースケースに対応する設定ファイルを生成する方法について説明します。
設定ファイルの作成
各設定ファイルでは、1 つのバケットしかマウントできません。複数のバケットをマウントするには、バケットごとに個別の設定ファイルを作成する必要があります。その後、対応する設定ファイルを参照してバケットをマウントできます。
ossfs 2.0 設定ファイルのファイル名とパスを設定します。たとえば、/etc/ossfs2.conf ファイルを作成できます。
sudo touch /etc/ossfs2.confアクセス認証情報の設定
AccessKey ペア
ossfs 2.0.1 以降では、環境変数を使用して Resource Access Management (RAM) ユーザーの AccessKey ペア を設定することで、より安全かつ便利に OSS バケットをマウントできます。すでに環境変数を使用して AccessKey ペアを設定している場合は、設定ファイルで再度設定しないでください。
環境変数
export OSS_ACCESS_KEY_ID=LTAI******************
export OSS_ACCESS_KEY_SECRET=8CE4**********************設定ファイル
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
--oss_bucket=bucketName
--oss_access_key_id=AAAI************
--oss_access_key_secret=AAA8x*************************ECS インスタンス RAM ロール
ossfs 2.0.2 以降では、設定ファイルで Elastic Compute Service (ECS) インスタンス RAM ロール を指定して、アクセス認証情報を管理できます。
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
--oss_bucket=bucketName
--ram_role=EcsRamRoleOssTest設定ファイルのフォーマット
フォーマットの説明
各エントリは --<option>[=<value>] のフォーマットを使用します。-- はマウントオプションのプレフィックス、<option> はオプション名、<value> はオプションの値です。角括弧 ([]) は、一部のフラグでは値がオプションであることを示します。
--<option>[=<value>] 設定例
# バケットが配置されているリージョンのエンドポイント。
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# バケット名。
--oss_bucket=bucketName
# AccessKey ID と AccessKey Secret。(オプション) ossfs 2.0.1 以降では、環境変数を使用してアクセス認証情報を設定できます。設定ファイルで設定する必要はありません。
--oss_access_key_id=AAAI************
--oss_access_key_secret=AAA8x*************************一般的な設定例
バケットのエンドポイントを取得するには、[バケット] ページに移動します。対象のバケットを選択します。左側のナビゲーションウィンドウで、[概要] をクリックします。[概要] ページで、[ポート] セクションのリージョンを確認します。次の図は、中国 (杭州) リージョンにあるバケットの例です。

ご利用の ossfs 2.0 設定ファイルを開き、以下の例に基づいて設定を保存します。すべての例では、中国 (杭州) リージョンの内部エンドポイントを使用しています。内部ネットワークと OSS アクセラレータのエンドポイントは、同じリージョンの Virtual Private Cloud (VPC) 内のインスタンスからのマウントのみをサポートします。このメソッドは、より高速で安定したデータ転送を提供します。パブリックエンドポイントで ossfs を使用しないでください。遅延が大きく、インターネット接続が不安定な場合、パフォーマンスの問題が発生する可能性があります。
バケット全体のマウント
バケット全体のすべてのフォルダとファイルをローカルパスにマウントできます。
# バケットが配置されているリージョンのエンドポイント。
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# バケット名。
--oss_bucket=bucketName
# AccessKey ID と AccessKey Secret。(ossfs 2.0.1 以降ではオプション)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************バケット内の特定フォルダのマウント
バケットをマウントする際に、バケット内の特定のフォルダを指定してローカルパスにマウントできます。
# バケットが配置されているリージョンのエンドポイント。
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# バケット名。
--oss_bucket=bucketName
# OSS フォルダのパス。(オプション)
--oss_bucket_prefix=folder-test/folder-prefix/
# AccessKey ID と AccessKey Secret。(ossfs 2.0.1 以降ではオプション)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************バケットのマウントとメモリ制限の設定
バケットをマウントする際に、ossfs 2.0 プロセスが使用する特定のメモリ量を割り当てることができます。
メモリ制限を設定しない場合、ossfs 2.0 はデフォルトでパフォーマンスが最適化されます。最高のパフォーマンスを実現するために、データの読み取りおよび書き込み操作に最大で約 8 GB のメモリを使用できます。メモリリソースが限られている場合は、total_mem_limit オプションを設定して、メモリ不足 (OOM) エラーを防ぐことを推奨します。
# バケットが配置されているリージョンのエンドポイント。
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# バケット名。
--oss_bucket=bucketName
# メモリ制限パラメーター (バイト単位)。(オプション)
--total_mem_limit=4294967296
# AccessKey ID と AccessKey Secret。(ossfs 2.0.1 以降ではオプション)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************バケットのマウントとデバッグログの有効化
バケットをマウントする際に、ログレベルを debug に設定し、ログのカスタムパスを指定できます。
# バケットが配置されているリージョンのエンドポイント。
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# バケット名。
--oss_bucket=bucketName
# ログを保存するパス。(オプション) /tmp/log フォルダが存在することを確認してください。
--log_dir=/tmp/log/ossfs2
# ログレベル。(オプション)
--log_level=debug
# AccessKey ID と AccessKey Secret。(ossfs 2.0.1 以降ではオプション)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************バケットのマウントとアクセス権限の設定
デフォルトでは、ossfs 2.0 を使用してバケットをマウントすると、すべてのユーザーにすべてのファイルに対する読み取りおよび書き込み権限が付与されます。より厳格な権限が必要な場合は、以下の設定を使用できます。これらの例は、ossfs 2.0.1 以降にのみ適用されます。
バケット全体のすべてのフォルダをローカルパスにマウントし、root 以外のユーザーの読み取りおよび書き込みアクセスを制限できます。
# バケットが配置されているリージョンのエンドポイント。 --oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com # バケット名。 --oss_bucket=bucketName # root 以外のユーザー (バケットをマウントしたユーザー) からのアクセスを拒否します。 --allow_other=false # グローバルフォルダの権限プロパティ。 --dir_mode=0755 # グローバルファイルの権限プロパティ。 --file_mode=0644 # AccessKey ID と AccessKey Secret。(ossfs 2.0.1 以降ではオプション) --oss_access_key_id=LTAI****************** --oss_access_key_secret=8CE4**********************バケット全体のすべてのフォルダをローカルパスにマウントできます。また、root ユーザーと特定のユーザーのみに読み取りおよび書き込みアクセスを許可することもできます。他のユーザーは読み取り専用アクセスになります。
# バケットが配置されているリージョンのエンドポイント。 --oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com # バケット名。 --oss_bucket=bucketName # グローバルフォルダの権限プロパティ。 --dir_mode=0755 # グローバルファイルの権限プロパティ。 --file_mode=0644 # 指定されたユーザーの UID と GID。id コマンドを使用して、ユーザーの UID と GID を取得できます。 --uid=1000 --gid=1000 # AccessKey ID と AccessKey Secret。(ossfs 2.0.1 以降ではオプション) --oss_access_key_id=LTAI****************** --oss_access_key_secret=8CE4**********************
次のステップ
ossfs 2.0 をインストールして設定した後、バケットをローカルの Linux システムにマウントできます。詳細については、「バケットのマウント」をご参照ください。
リファレンス
ossfs 2.0 のマウントオプションの詳細については、「マウントオプション」をご参照ください。