

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Lustre ルートスカッシュ
<a name="root-squash"></a>

ルートスカッシュは、既存のネットワークベースのアクセス制御と POSIX ファイルに対するアクセス許可の上に、ファイルアクセス制御の新たなレイヤーを追加する管理機能です。ルートスカッシュ機能を使用すると、ルートとして FSx for Lustre ファイルシステムへのアクセスを試みるクライアントに対し、ルートレベルのアクセスを制限することができます。

FSx for Lustre のファイルシステムにおけるアクセス許可の管理など、管理アクションを実行するには、ルートユーザーとしてのアクセス許可が必要です。ただし、ルートアクセスでは、ユーザーに無制限のアクセス権を付与されます。また、ファイルシステムオブジェクトへのアクセス、変更、または削除に関するパーミッションチェックを、バイパスすることも可能になります。ルートスカッシュ機能を使用すると、ファイルシステムに対して非ルートのユーザー ID (UID) とグループ ID (GID) を指定することで、データの不正なアクセスや削除を防ぐことができます。ファイルシステムにアクセスするルートユーザーは、低い権限が指定されたユーザーやグループに自動的に変換され、ストレージ管理者が設定する制限付きの権限を使用します。

ルートスカッシュ機能では、ルートスカッシュ設定の影響を受けないクライアントのリストを、オプションで設定することもできます。これらのクライアントは、権限に制限なく、ルートとしてファイルシステムにアクセスできます。

**Topics**
+ [ルートスカッシュの仕組み](#root-squash-overview)
+ [ルートスカッシュの管理](#manage-root-squash)

## ルートスカッシュの仕組み
<a name="root-squash-overview"></a>

ルートスカッシュ機能は、ルートユーザーのユーザー ID (UID) とグループ ID (GID) を、Lustre システム管理者が指定した UID と GID に再マッピングすることで機能します。ルートスカッシュ機能では、UID/GID の再マッピングが適用されないクライアントのセットを、オプションで指定することも可能です。

新しく作成した FSx for Lustre ファイルシステムでは、デフォルトでルートスカッシュが無効化されています。ルートスカッシュを有効にするには、FSx for Lustre ファイルシステムに対し、UID および GID のルートスカッシュ設定を行います。UID と GID の値は、`0`～`4294967294` 整数です。
+ UID と GID にゼロ以外の値を指定すると、ルートスカッシュが有効化されます。UID と GID を異なる値にすることは可能ですが、ともにゼロ以外の値を設定する必要があります。
+ UID と GID の値が `0` (ゼロ) の場合はルートを表します。この場合、ルートスカッシュは無効化されます。

ファイルシステムの作成時に、Amazon FSx コンソールを使用して、[ファイルシステムの作成時にルートスカッシュを有効にするには (コンソール)](#create-root-squash-console) に示すように、**[ルートスカッシュ]** プロパティにルートスカッシュ UID および GID 値を指定できます。 AWS CLI または API で `RootSquash`パラメータを使用して、 に示すように UID 値と GID 値を指定することもできます[ファイルシステムの作成時にルートスカッシュを有効にするには (CLI)](#create-root-squash-cli)。

オプションで、ルートスカッシュが適用されないクライアントのために、NID のリストを指定することもできます。クライアントの NID は、Lustre Network でクライアントを一意に識別するために使用される識別子です。NID は、単一のアドレスとして指定する、またはアドレスの範囲として指定することができます。
+ 単一のアドレスは、クライアントの IP アドレスに続いて Lustre のネットワーク ID を指定する、Lustre NID の標準的な形式で記述します (例: `10.0.1.6@tcp`)。
+ アドレス範囲は、範囲の区切りにダッシュを使用して記述します (例えば `10.0.[2-10].[1-255]@tcp`)。
+ クライアントの NID を指定しない場合、ルートスカッシュに対する例外は設定されません。

ファイルシステムを作成または更新する際に、Amazon FSx コンソールで **[ルートスカッシュの例外]** プロパティを使用して、クライアントの NID のリストを指定できます。 AWS CLI または API で、 `NoSquashNids`パラメータを使用します。詳細については、「[ルートスカッシュの管理](#manage-root-squash)」の手順を参照してください。

## ルートスカッシュの管理
<a name="manage-root-squash"></a>

ファイルシステムの作成中、デフォルトでは、ルートスカッシュは無効になっています。Amazon FSx コンソール、 AWS CLI、または API を使用して新しい Amazon FSx for Lustre ファイルシステムを作成する際に、ルートスカッシュを有効にできます。

### ファイルシステムの作成時にルートスカッシュを有効にするには (コンソール)
<a name="create-root-squash-console"></a>

1. [https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/) で Amazon FSx コンソールを開きます。

1. *開始方法* セクションの「[ステップ 1: FSx for Lustre ファイルシステムの作成](getting-started.md#getting-started-step1)」で説明されている新しいファイルシステムを作成する手順に従います。

1. **[ルートスカッシュ - *オプション***]セクションを開きます。

1. **[ルートスカッシュ]** には、ルートユーザーがファイルシステムにアクセスできるユーザー ID とグループ ID を指定します。`1`～`4294967294` の範囲の任意の整数を次のように指定できます。

   1. **[ユーザー ID]** には、ルートユーザーが使用するユーザー ID を指定します。

   1. **[グループ ID]** には、ルートユーザーが使用するグループ ID を指定します。

1. (オプション) **[ルートスカッシュの例外]** については、次のようにします:

   1. **[クライアントのアドレスを追加]** を選択します。

   1. **[クライアントのアドレス]** フィールドに、ルートスカッシュが適用されないクライアントの IP アドレスを指定します。IP アドレスの形式については、「[ルートスカッシュの仕組み](#root-squash-overview)」を参照してください。

   1. 必要に応じて繰り返し、クライアントの IP アドレスをさらに追加します。

1. 新しいファイルシステムを作成する場合と同様に、ウィザードを完了します。

1. **[Review and create]** (レビューと作成) を選択します。

1. Amazon FSx for Lustre ファイルシステム用に選択した設定を確認し、**ファイルシステムの作成** を選択します。

ファイルシステムが **[利用可能]** になると、ルートスカッシュが有効になります。

### ファイルシステムの作成時にルートスカッシュを有効にするには (CLI)
<a name="create-root-squash-cli"></a>
+ ルートスカッシュが有効化された FSx for Lustre ファイルシステムを作成するには、`RootSquashConfiguration` パラメータを指定しながら Amazon FSx CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/fsx/create-file-system.html](https://docs.aws.amazon.com/cli/latest/reference/fsx/create-file-system.html) を使用します。対応する API オペレーションは [CreateFileSystem](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html) です。

  `RootSquashConfiguration` パラメータでは、以下のオプションを設定します。
  + `RootSquash` – ルートユーザーが使用するためのユーザー ID とグループ ID を指定する、コロンで区切られた値 (UID:GID) です。`0`～`4294967294` の範囲内であれば、それぞれの ID のために任意の整数 (0 はルート) を指定できます (例えば `65534:65534`)。
  + `NoSquashNids` – ルートスカッシュが適用されないクライアントの Lustre Network 識別子 (NID) を指定します。クライアントの NID の形式については、「[ルートスカッシュの仕組み](#root-squash-overview)」を参照してください。

  次の例では、ルートスカッシュが有効化された FSx for Lustre ファイルシステムを作成しています。

  ```
  $ aws fsx create-file-system \
        --client-request-token CRT1234 \
        --file-system-type LUSTRE \
        --file-system-type-version 2.15 \
        --lustre-configuration "DeploymentType=PERSISTENT_2,PerUnitStorageThroughput=250,DataCompressionType=LZ4,\
            RootSquashConfiguration={RootSquash="65534:65534",\
            NoSquashNids=["10.216.123.47@tcp", "10.216.12.176@tcp"]}" \
        --storage-capacity 2400 \
        --subnet-ids subnet-123456 \
        --tags Key=Name,Value=Lustre-TEST-1 \
        --region us-east-2
  ```

次の例に示すように、ファイルシステムを正常に作成すると、Amazon FSx はファイルシステムの説明を JSON として返します。

```
{

    "FileSystems": [
        {
            "OwnerId": "111122223333",
            "CreationTime": 1549310341.483,
            "FileSystemId": "fs-0123456789abcdef0",
            "FileSystemType": "LUSTRE",
            "FileSystemTypeVersion": "2.15",
            "Lifecycle": "CREATING",
            "StorageCapacity": 2400,
            "VpcId": "vpc-123456",
            "SubnetIds": [
                "subnet-123456"
            ],
            "NetworkInterfaceIds": [
                "eni-039fcf55123456789"
            ],
            "DNSName": "fs-0123456789abcdef0.fsx.us-east-2.amazonaws.com",
            "ResourceARN": "arn:aws:fsx:us-east-2:123456:file-system/fs-0123456789abcdef0",
            "Tags": [
                {
                    "Key": "Name",
                    "Value": "Lustre-TEST-1"
                }
            ],
            "LustreConfiguration": {
                "DeploymentType": "PERSISTENT_2",
                "DataCompressionType": "LZ4",
                "PerUnitStorageThroughput": 250,
                "RootSquashConfiguration": {
                    "RootSquash": "65534:65534", 
                    "NoSquashNids": "10.216.123.47@tcp 10.216.29.176@tcp"
            }
        }
    ]
}
```

Amazon FSx コンソール、または API を使用して AWS CLI、既存のファイルシステムのルートスカッシュ設定を更新することもできます。例えば、ルートスカッシュの UID と GID の値を変更したり、クライアントの NID を追加または削除したり、ルートスカッシュを無効化したりできます。

### 既存のファイルシステムでルートスカッシュの設定を更新するには (コンソール)
<a name="update-root-squash-console"></a>

1. [https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/) で Amazon FSx コンソールを開きます。

1. **[ファイルシステム]** に移動し、ルートスカッシュ管理の対象にする Lustre ファイルシステムを選択します。

1. **[アクション]** で **[ルートスカッシュを更新]** を選択します。または、**[概要]** パネルで、ファイルシステムの **[ルートスカッシュ]** フィールドの横にある **[更新]** を選択して、**[ルートスカッシュ設定を更新]** ダイアログボックスを表示します。

1. **[ルートスカッシュ]** では、ルートユーザーがファイルシステムにアクセスできるユーザー ID とグループ ID を更新します。`0`～`4294967294` の範囲の任意の整数を指定できます。ルートスカッシュを無効にするには、両方の ID に `0` (ゼロ) を指定します。

   1. **[ユーザー ID]** には、ルートユーザーが使用するユーザー ID を指定します。

   1. **[グループ ID]** には、ルートユーザーが使用するグループ ID を指定します。

1. **[ルートスカッシュの例外]** では、次の操作を行います:

   1. **[クライアントのアドレスを追加]** を選択します。

   1. **[クライアントのアドレス]** フィールドに、ルートスカッシュが適用されないクライアントの IP アドレスを指定します。

   1. 必要に応じて繰り返し、クライアントの IP アドレスをさらに追加します。

1. **[更新]** を選択します。
**注記**  
ルートスカッシュが有効になっていて無効にする場合は、ステップ 4～6 を実行しないで **[無効化]** を選択します。

**[Updates]** (更新) タブのファイルシステムの詳細ページで更新の進行状況をモニタリングできます。

### 既存のファイルシステムでルートスカッシュの設定を更新するには (CLI)
<a name="update-root-squash-cli"></a>

既存の FSx for Lustre ファイルシステムのルートスカッシュ設定を更新するには、 AWS CLI コマンド [update-file-system](https://docs.aws.amazon.com/cli/latest/reference/fsx/update-file-system.html) を使用します。API オペレーションでは、[UpdateFileSystem](https://docs.aws.amazon.com/fsx/latest/APIReference/API_UdateFileSystem.html) がこれに相当します。

以下のパラメータを設定します:
+ `--file-system-id` を更新するファイルシステムの ID に設定します。
+ 以下のように `--lustre-configuration RootSquashConfiguration` オプションを設定します。
  + `RootSquash` – ルートユーザーが使用するためのユーザー ID とグループ ID を、コロンで区切った値 (UID:GID) で指定します。それぞれの ID には、`0`～`4294967294` の範囲内であれば任意の整数 (0 はルート) を指定できます。ルートスカッシュを無効にするには、UID:GID の値に `0:0` を指定します。
  + `NoSquashNids` – ルートスカッシュが適用されないクライアントの Lustre Network 識別子 (NID) を指定します。`[]` を使用すると、すべてのクライアント NID が削除されます。この場合、ルートスカッシュの例外は設定されません。

このコマンドでは、`65534` をルートユーザーのユーザー ID とグループ ID の値として使用することで、ルートスカッシュの有効化を指定しています。

```
$ aws fsx update-file-system \
    --file-system-id fs-0123456789abcdef0 \
    --lustre-configuration RootSquashConfiguration={RootSquash="65534:65534", \
          NoSquashNids=["10.216.123.47@tcp", "10.216.12.176@tcp"]}
```

コマンドが正常に実行されると、Amazon FSx for Lustre は JSON 形式でレスポンスを返します。

ファイルシステムのルートスカッシュ設定は、Amazon FSx コンソールの [ファイルシステムの詳細] ページの **[概要]** パネル、または [https://docs.aws.amazon.com/cli/latest/reference/fsx/describe-file-systems.html](https://docs.aws.amazon.com/cli/latest/reference/fsx/describe-file-systems.html) CLI コマンド (同等の API アクションは [https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html)) の応答で確認できます。