

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

# SMB ファイルサーバーを使用した AWS DataSync 転送の設定
<a name="create-smb-location"></a>

を使用すると AWS DataSync、サーバーメッセージブロック (SMB) ファイルサーバーと次の AWS ストレージサービスとの間でデータを転送できます。サポートされているストレージサービスは、次に示すように、タスクモードによって異なります。


| 基本モード | 拡張モード | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/create-smb-location.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/create-smb-location.html)  | 

このタイプの転送を設定するには、SMB ファイルサーバーの[ロケーション](how-datasync-transfer-works.md#sync-locations)を作成します。このロケーションは送信元または送信先として使用できます。目的のタスクモードに対応するエージェントを使用してください。

## DataSync に対する SMB ファイルサーバーへのアクセス許可の付与
<a name="configuring-smb"></a>

DataSync は SMB プロトコルを使用してファイルサーバーに接続し、NTLM または Kerberos で認証できます。

**Topics**
+ [サポートされている SMB バージョン](#configuring-smb-version)
+ [NTLM 認証の使用](#configuring-smb-ntlm-authentication)
+ [Kerberos 認証を使用する](#configuring-smb-kerberos-authentication)
+ [必要なアクセス許可](#configuring-smb-permissions)
+ [DFS 名前空間](#configuring-smb-location-dfs)

### サポートされている SMB バージョン
<a name="configuring-smb-version"></a>

デフォルトでは、DataSync は SMB ファイルサーバーとのネゴシエーションに基づいて自動的に SMB プロトコルのバージョンを選択します。

特定の SMB バージョンを使用するように DataSync を設定することもできますが、これは DataSync が SMB ファイルサーバーと自動的にネゴシエーションできない場合にのみ行うことをお勧めします。DataSync は SMB バージョン 1.0 以降をサポートします。セキュリティ上の理由から、SMB バージョン 3.0.2 以降を使用することをお勧めします。SMB 1.0 などの以前のバージョンには、攻撃者がデータを侵害するために悪用できる既知のセキュリティ脆弱性が含まれています。

DataSync コンソールと API のオプションについては、次の表を参照してください。


| コンソールオプション | API オプション | 説明 | 
| --- | --- | --- | 
| 自動 |  `AUTOMATIC`  |  DataSync と SMB ファイルサーバーは 、2.1 から 3.1.1 の間で 、相互にサポートする最上位の SMB バージョンをネゴシエートします。 これはデフォルトの推奨オプションです。代わりに、ファイルサーバーがサポートしていない特定のバージョンを選択すると、`Operation Not Supported` エラーが表示されることがあります。  | 
|  SMB 3.0.2  |  `SMB3`  |  プロトコルネゴシエーションを SMB バージョン 3.0.2 のみに制限します。  | 
| SMB 2.1 |  `SMB2`  | プロトコルネゴシエーションを SMB バージョン 2.1 のみに制限します。 | 
| SMB 2.0 | `SMB2_0` | プロトコルネゴシエーションを SMB バージョン 2.0 のみに制限します。 | 
| SMB 1.0 | `SMB1` | プロトコルネゴシエーションを SMB バージョン 1.0 のみに制限します。 | 

### NTLM 認証の使用
<a name="configuring-smb-ntlm-authentication"></a>

NTLM 認証を使用するには、DataSync が転送先または転送元の SMB ファイルサーバーにアクセスできるように、ユーザー名とパスワードを指定します。これに該当するユーザーは、ファイルサーバーのローカルユーザーまたは Microsoft Active Directory のドメインユーザーです。

### Kerberos 認証を使用する
<a name="configuring-smb-kerberos-authentication"></a>

Kerberos 認証を使用するには、転送先または転送元の SMB ファイルサーバーに DataSync がアクセスできるように、Kerberos プリンシパル、Kerberos キーテーブル (キータブ) ファイル、および Kerberos 設定ファイルを指定します。

**Topics**
+ [前提条件](#configuring-smb-kerberos-prerequisites)
+ [Kerberos の DataSync 設定オプション](#configuring-smb-kerberos-options)

#### 前提条件
<a name="configuring-smb-kerberos-prerequisites"></a>

DataSync が SMB ファイルサーバーにアクセスできるように、いくつかの Kerberos アーティファクトを作成し、ネットワークを設定する必要があります。
+ [ktpass](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass) または [kutil](https://web.mit.edu/kerberos/krb5-1.12/doc/admin/admin_commands/ktutil.html) ユーティリティを使用して Kerberos キータブファイルを作成します。

  次の例では、`ktpass` を使用してキータブファイルを作成します。指定する Kerberos 領域 (`MYDOMAIN.ORG`) は大文字である必要があります。

  ```
  ktpass /out C:\YOUR_KEYTAB.keytab /princ HOST/kerberosuser@MYDOMAIN.ORG /mapuser kerberosuser /pass * /crypto AES256-SHA1 /ptype KRB5_NT_PRINCIPAL
  ```
+ 簡易バージョンの Kerberos 設定ファイル (`krb5.conf`) を準備します。領域、ドメイン管理サーバーのロケーション、Kerberos 領域へのホスト名のマッピングに関する情報を含めます。

  `krb5.conf` の領域名とドメイン領域名が、大文字と小文字の正しい組み合わせで記述されていることを確認します。例えば、次のようになります。

  ```
  [libdefaults] 
    dns_lookup_realm = true 
    dns_lookup_kdc = true 
    forwardable = true 
    default_realm = MYDOMAIN.ORG
  
  [realms] 
    MYDOMAIN.ORG = { 
      kdc = mydomain.org 
      admin_server = mydomain.org 
    }
  
  [domain_realm] 
    .mydomain.org = MYDOMAIN.ORG 
    mydomain.org = MYDOMAIN.ORG
  ```
+ ネットワーク設定で、Kerberos Key Distribution Center (KDC) サーバーポートが開いていることを確認します。通常、KDC ポートは TCP ポート 88 です。

#### Kerberos の DataSync 設定オプション
<a name="configuring-smb-kerberos-options"></a>

Kerberos を使用する SMB ロケーションを作成するときは、次のオプションを設定します。


| コンソールオプション | API オプション | 説明 | 
| --- | --- | --- | 
|  **SMB サーバー**  |  `ServerHostName`  |  DataSync エージェントがマウントする SMB ファイルサーバーのドメイン名。Kerberos では、ファイルサーバーの IP アドレスを指定することはできません。  | 
|  **Kerberos プリンシパル**  |  `KerberosPrincipal`  |  SMB ファイルサーバーのファイル、フォルダ、ファイルメタデータにアクセスする権限を持つ Kerberos 領域内の ID。 Kerberos プリンシパルは `HOST/kerberosuser@MYDOMAIN.ORG` のようになります。 プリンシパル名では大文字と小文字が区別されます。  | 
|  **Keytab ファイル**  |  `KerberosKeytab`   |  Kerberos キーテーブル (キータブ) ファイル。Kerberos プリンシパルと暗号化キー間のマッピングが含まれます。  | 
|  **Kerberos 設定ファイル**  |  `KerberosKrbConf`  |  Kerberos 領域設定を定義する `krb5.conf` ファイル。  | 
|  **DNS IP アドレス** (オプション)  |  `DnsIpAddresses`  |  SMB ファイルサーバーが属する DNS サーバーの IPv4 アドレス。 環境内に複数のドメインがある場合、このオプションを設定すると、DataSync が適切な SMB ファイルサーバーに接続できるようになります。  | 

### 必要なアクセス許可
<a name="configuring-smb-permissions"></a>

DataSync で指定する ID には、SMB ファイルサーバーのファイル、フォルダ、ファイルメタデータをマウントしてこれらにアクセスするためのアクセス許可が必要です。

Active Directory で ID を指定する場合、その ID は、次のユーザー権限のいずれか 1 つまたは両方を持つ ([DataSync がコピーするメタデータ](configure-metadata.md)によって異なる) Active Directory グループのメンバーである必要があります。


| ユーザー権限 | 説明 | 
| --- | --- | 
|  **ファイルとディレクトリを復元する** (`SE_RESTORE_NAME`)  |  DataSync がオブジェクトの所有権、アクセス許可、ファイルメタデータ、NTFS の任意アクセスリスト (DACL) をコピーすることを許可します。 このユーザー権限は通常、**ドメイン管理者**グループと**バックアップオペレーター**グループ (どちらもデフォルトの Active Directory グループ) のメンバーに付与されます。  | 
|  **監査ログとセキュリティログの管理** (`SE_SECURITY_NAME`)  |  DataSync が NTFS システムアクセスコントロールリスト (SACL) をコピーすることを許可します。 このユーザー権限は通常、**ドメイン管理者**グループのメンバーに付与されます。  | 

Windows ACL をコピーし、SMB ファイルサーバーと、SMB を使用する別のストレージシステム (Amazon FSx for Windows File Server や FSx for ONTAP など) との間で転送を行う場合は、DataSync で指定する ID が、同じ Active Directory ドメインに属しているか、またはドメイン間で Active Directory の信頼関係を持っている必要があります。

### DFS 名前空間
<a name="configuring-smb-location-dfs"></a>

DataSync は Microsoft Distributed File System (DFS) 名前空間をサポートしていません。DataSync ロケーションを作成するときは、基盤となるファイルサーバーを指定するか、共有することをお勧めします。

## SMB 転送ロケーションの作成
<a name="create-smb-location-how-to"></a>

開始する前に、データ転送元の SMB ファイルサーバーが必要です。

### DataSync コンソールの使用
<a name="create-smb-location-how-to-console"></a>

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

1. 左側のナビゲーションペインで **[データ転送]** を展開し、**[ロケーション]** と **[ロケーションの作成]** を選択します。

1. **[Location type (場所のタイプ)]** で **[サーバーメッセージブロック (SMB)]**The UI tags need to be placed outside the brackets. を選択します。

   後でこのロケーションを送信元あるいは送信先として設定します。

1. **[エージェント]** で、SMB ファイルサーバーに接続可能な DataSync エージェントを選択します。

   エージェントは複数選択できます。詳細については、「[複数の DataSync エージェントの使用](do-i-need-datasync-agent.md#multiple-agents)」を参照してください。

1. **[SMB サーバー]** に、DataSync エージェントがマウントする SMB ファイルサーバーのドメイン名または IP アドレスを入力します。

   この設定では、次の点に注意してください。
   + IP バージョン 6 (IPv6) アドレスは指定できません。
   + Kerberos 認証を使用している場合は、ドメイン名を指定する必要があります。

1. **[共有名]** には、DataSync がデータを読み書きする SMB ファイルサーバーによってエクスポートされた共有の名前を入力します。

   共有パスにはサブディレクトリ (例: `/path/to/subdirectory`) を含めることができます。ネットワーク内の他の SMB クライアントもこのパスをマウントできることを確認してください。

   サブディレクトリ内のすべてのデータをコピーするには、DataSync が SMB 共有をマウントし、その共有内のすべてのデータにアクセスできるようにする必要があります。詳細については、「[必要なアクセス許可](#configuring-smb-permissions)」を参照してください。

1. (オプション) **[その他の設定]** を展開し、DataSync がファイルサーバーにアクセスするときに使用する **SMB バージョン**を選択します。

   デフォルトでは、DataSync は SMB サーバーとのネゴシエーションに基づいて自動的にバージョンを選択します。詳細については、「[サポートされている SMB バージョン](#configuring-smb-version)」を参照してください。

1. **[認証タイプ]** で、**[NTLM]** または **[Kerberos]** を選択します。

1. 選択した認証タイプに応じて、次のいずれかの手順を実行します。

------
#### [ NTLM ]
   + **[ユーザー]** には、SMB ファイルサーバーをマウントし、転送に関係するファイルやフォルダにアクセスする権限を持つユーザー名を入力します。

     詳細については、「[必要なアクセス許可](#configuring-smb-permissions)」を参照してください。
   + **[パスワード]** には、SMB ファイルサーバーをマウントでき、転送に関連するファイルとフォルダへのアクセス権限を持つユーザーのパスワードを入力します。
   + (オプション) **[ドメイン]** には、SMB ファイルサーバーが属する Windows ドメイン名を入力します。

     環境内に複数のドメインがある場合、この設定を構成すると、DataSync が適切な SMB ファイルサーバーに接続できるようになります。

------
#### [ Kerberos ]
   + **[Kerberos プリンシパル]** で、SMB ファイルサーバーのファイル、フォルダ、ファイルメタデータにアクセスする権限を持つ Kerberos 領域内のプリンシパルを指定します。

     Kerberos プリンシパルは `HOST/kerberosuser@MYDOMAIN.ORG` のようになります。

     プリンシパル名では大文字と小文字が区別されます。この設定で指定したプリンシパルが、キータブファイルの作成に使用するプリンシパルと完全に一致しない場合、DataSync タスク実行は失敗します。
   + **[Keytab ファイル]** で、Kerberos プリンシパルと暗号化キー間のマッピングを含むキータブファイルをアップロードします。
   + **[Kerberos 設定ファイル]** で、Kerberos 領域設定を定義する `krb5.conf` ファイルをアップロードします。
   + (オプション) **[DNS IP アドレス]** で、SMB ファイルサーバーが属する DNS サーバーに最大 2 つの IPv4 アドレスを指定します。

     環境内に複数のドメインがある場合、このパラメータを構成することで、DataSync が適切な SMB ファイルサーバーに接続できるようになります。

------

1. (オプション) **[タグを追加]** を選択して、SMB ロケーションにタグ付けします。

   *タグ*は、ロケーションの管理、フィルタリング、検索に役立つキーバリューペアです。少なくとも場所の名前タグを作成することを推奨します。

1. **[ロケーションを作成]** を選択します。

### の使用 AWS CLI
<a name="create-location-smb-cli"></a>

次の手順では、NTLM または Kerberos 認証を使用して SMB ロケーションを作成する方法について説明します。

------
#### [ NTLM ]

1. 次の `create-location-smb` コマンドをコピーします。

   ```
   aws datasync create-location-smb \
       --agent-arns datasync-agent-arns \
       --server-hostname smb-server-address \
       --subdirectory smb-export-path \
       --authentication-type "NTLM" \
       --user user-who-can-mount-share \
       --password user-password \
       --domain windows-domain-of-smb-server
   ```

1. `--agent-arns` には、SMB ファイルサーバーに接続可能な DataSync エージェントを指定します。

   エージェントは複数選択できます。詳細については、「[複数の DataSync エージェントの使用](do-i-need-datasync-agent.md#multiple-agents)」を参照してください。

1. `--server-hostname` には、DataSync エージェントがマウントする SMB ファイルサーバーのドメイン名または IPv4 アドレスを指定します。

1. `--subdirectory` には、DataSync がデータを読み書きする SMB ファイルサーバーによってエクスポートされる共有の名前を指定します。

   共有パスにはサブディレクトリ (例: `/path/to/subdirectory`) を含めることができます。ネットワーク内の他の SMB クライアントもこのパスをマウントできることを確認してください。

   サブディレクトリ内のすべてのデータをコピーするには、DataSync が SMB 共有をマウントし、その共有内のすべてのデータにアクセスできるようにする必要があります。詳細については、「[必要なアクセス許可](#configuring-smb-permissions)」を参照してください。

1. `--user` には、SMB ファイルサーバーをマウントでき、転送に関係するファイルやフォルダにアクセスする権限を持つユーザー名を指定します。

   詳細については、「[必要なアクセス許可](#configuring-smb-permissions)」を参照してください。

1. `--password` には、SMB ファイルサーバーをマウントでき、転送に関係するファイルとフォルダにアクセスする権限を持つユーザーのパスワードを指定します。

1. (オプション) `--domain` には、SMB ファイルサーバーが属する Windows ドメイン名を指定します。

   環境内に複数のドメインがある場合、この設定を構成すると、DataSync が適切な SMB ファイルサーバーに接続できるようになります。

1. (オプション) DataSync で特定の SMB バージョンを使用する場合は、`--version` オプションを追加します。詳細については、「[サポートされている SMB バージョン](#configuring-smb-version)」を参照してください。

1. `create-location-smb` コマンドを実行します。

   コマンドが成功すると、作成した場所の ARN を示す応答が返されます。例えば、次のようになります。

   ```
   {
       "arn:aws:datasync:us-east-1:123456789012:location/loc-01234567890example"
   }
   ```

------
#### [ Kerberos ]

1. 次の `create-location-smb` コマンドをコピーします。

   ```
   aws datasync create-location-smb \
       --agent-arns datasync-agent-arns \
       --server-hostname smb-server-address \
       --subdirectory smb-export-path \
       --authentication-type "KERBEROS" \
       --kerberos-principal "HOST/kerberosuser@EXAMPLE.COM" \
       --kerberos-keytab "fileb://path/to/file.keytab" \
       --kerberos-krb5-conf "file://path/to/krb5.conf" \
       --dns-ip-addresses array-of-ipv4-addresses
   ```

1. `--agent-arns` には、SMB ファイルサーバーに接続可能な DataSync エージェントを指定します。

   エージェントは複数選択できます。詳細については、「[複数の DataSync エージェントの使用](do-i-need-datasync-agent.md#multiple-agents)」を参照してください。

1. `--server-hostname` には、DataSync エージェントがマウントする SMB ファイルサーバーのドメイン名を指定します。

1. `--subdirectory` には、DataSync がデータを読み書きする SMB ファイルサーバーによってエクスポートされる共有の名前を指定します。

   共有パスにはサブディレクトリ (例: `/path/to/subdirectory`) を含めることができます。ネットワーク内の他の SMB クライアントもこのパスをマウントできることを確認してください。

   サブディレクトリ内のすべてのデータをコピーするには、DataSync が SMB 共有をマウントし、その共有内のすべてのデータにアクセスできるようにする必要があります。詳細については、「[必要なアクセス許可](#configuring-smb-permissions)」を参照してください。

1. [Kerberos] オプションで、以下の操作を行います。
   + `--kerberos-principal`: SMB ファイルサーバーのファイル、フォルダ、ファイルメタデータにアクセスする権限を持つ Kerberos 領域内のプリンシパルを指定します。

     Kerberos プリンシパルは `HOST/kerberosuser@MYDOMAIN.ORG` のようになります。

     プリンシパル名では大文字と小文字が区別されます。このオプションに指定したプリンシパルが、キータブファイルの作成に使用するプリンシパルと完全に一致しない場合、DataSync タスク実行は失敗します。
   + `--kerberos-keytab`: Kerberos プリンシパルと暗号化キー間のマッピングを含むキータブファイルを指定します。
   + `--kerberos-krb5-conf`: Kerberos 領域設定を定義する `krb5.conf` ファイルを指定します。
   + (オプション) `--dns-ip-addresses`: SMB ファイルサーバーが属する DNS サーバーに最大 2 つの IPv4 アドレスを指定します。

     環境内に複数のドメインがある場合、このパラメータを構成することで、DataSync が適切な SMB ファイルサーバーに接続できるようになります。

1. (オプション) DataSync で特定の SMB バージョンを使用する場合は、`--version` オプションを追加します。詳細については、「[サポートされている SMB バージョン](#configuring-smb-version)」を参照してください。

1. `create-location-smb` コマンドを実行します。

   コマンドが成功すると、作成した場所の ARN を示す応答が返されます。例えば、次のようになります。

   ```
   {
       "arn:aws:datasync:us-east-1:123456789012:location/loc-01234567890example"
   }
   ```

------