AWS Storage Gateway にファイルゲートウェイを作成しました。認証のために Microsoft Active Directory (Microsoft AD) を使用したいと考えています。しかし、ファイルゲートウェイを Microsoft AD ドメインに参加させようとすると、次のいずれかのエラーメッセージが表示されます。
NETWORK_ERROR
TIMEOUT
ACCESS_DENIED
これらのエラーをトラブルシューティングして、ゲートウェイをドメインに参加させるにはどうすればよいですか?
解決方法
エラーをトラブルシューティングするには、次のポイントや設定を試してください。
1. nping テストを実行して、ゲートウェイがドメインコントローラーに到達できることを確認します。nping テストを実行するには、Amazon Elastic Compute Cloud (Amazon EC2) の場合は ssh を使用し、VMware、Hyper-V、または KVM の場合はコンソールを使用して AWS Storage Gateway コンソールに接続します。[コマンドプロンプト] オプションを選択し、h と入力して、コンソールから使用可能なすべてのコマンドを一覧表示します。Storage Gateway 仮想マシンとドメイン間の接続をテストするには、次のコマンドを実行します。
注意:ドメインの DNS 名を
に、使用されている LDAP ポートを <389> に置き換えます。また、ファイアウォール内で必要なポートを開いていることも確認します。
nping -d <corp.domain.com> -p <389> -c 1 -t tcp
以下は、ゲートウェイがドメインコントローラーに到達できた場合の正常な nping テストの例です。
nping -d corp.domain.com -p 389 -c 1 -t tcp
Starting Nping 0.6.40 ( http://nmap.org/nping ) at 2022-06-30 16:24 UTC
SENT (0.0553s) TCP 10.10.10.21:9783 > 10.10.10.10:389 S ttl=64 id=730 iplen=40 seq=2597195024 win=1480
RCVD (0.0556s) TCP 10.10.10.10:389 > 10.10.10.21:9783 SA ttl=128 id=22332 iplen=44 seq=4170716243 win=8192 <mss 8961>
Max rtt: 0.310ms | Min rtt: 0.310ms | Avg rtt: 0.310ms
Raw packets sent: 1 (40B) | Rcvd: 1 (44B) | Lost: 0 (0.00%)
Nping done: 1 IP address pinged in 1.09 seconds<br>
接続がない場合、nping コマンドの応答は次の出力のようになります。以下のコマンドには、宛先「corp.domain.com」に対する応答がありません。
nping -d <corp.domain.com> -p <389> -c 1 -t tcp
Starting Nping 0.6.40 ( http://nmap.org/nping ) at 2022-06-30 16:26 UTC
SENT (0.0421s) TCP 10.10.10.21:47196 > 10.10.10.10:389 S ttl=64 id=30318 iplen=40 seq=1762671338 win=1480
Max rtt: N/A | Min rtt: N/A | Avg rtt: N/A
Raw packets sent: 1 (40B) | Rcvd: 0 (0B) | Lost: 1 (100.00%)
Nping done: 1 IP address pinged in 1.07 seconds
2. ファイルゲートウェイが Amazon EC2 インスタンスで実行されている場合は、DHCP オプションセットを作成し、そのセットをインスタンスが存在する Amazon 仮想プライベートクラウド (VPC) にアタッチする必要があります。
3. ドメインがファイルゲートウェイによって解決できることを確認します。ドメインがゲートウェイアプライアンスで解決できない場合、ドメインに参加することはできません。ゲートウェイがドメインの DNS を解決していることを確認するには、次のコマンドを実行します。
注意:ドメインの DNS 名を
に置き換えます。
dig -d <corp.domain.com>
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> corp.domain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24817
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;corp.domain.com. IN A
;; ANSWER SECTION:
corp.domain.com. 600 IN A 10.10.10.10
corp.domain.com. 600 IN A 10.10.20.10
;; Query time: 0 msec
;; SERVER: 10.10.20.228#53(10.10.20.228)
;; WHEN: Thu Jun 30 16:36:32 UTC 2022
;; MSG SIZE rcvd: 78
4. ドメインコントローラーが読み取り専用に設定されていないこと、およびドメインコントローラーにコンピュータを参加させるのに十分なロールがあることを確認します。これを確認するには、ゲートウェイ VM と同じ VPC サブネット内の他のサーバーをドメインに参加させてみてください。
5. ファイルゲートウェイを、地理的にゲートウェイに近いドメインコントローラーに参加させることをお勧めします。ゲートウェイアプライアンスが 20 秒以内にドメインコントローラーに到達またはクエリできない場合、プロセスはタイムアウトすることがあります。たとえば、ゲートウェイアプライアンスが米国東部 (バージニア北部) リージョンにあり、ドメインコントローラーがアジアパシフィック (シンガポール) リージョンにある場合、ドメイン参加プロセスがタイムアウトすることがあります。
注意: デフォルトのタイムアウト値である 20 秒を増やすには、AWS コマンドラインインターフェイス (AWS CLI) で join-domain コマンドを実行し、-timeout-in-seconds オプションを含めることで時間を増やせます。または、JoinDomain API コールを使用して、TimeoutInSeconds パラメータを含めることで、時間を増やすこともできます。最大タイムアウト値は 3,600 秒です。
AWS CLI のコマンド実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用するようにしてください。
6. Microsoft AD の組織単位 (OU) に、既定の OU 以外の場所に新しいコンピュータオブジェクトを作成するグループポリシーオブジェクトがあるかどうかを確認します。このユースケースでは、ドメインをファイルゲートウェイに参加させる前に、OU に新しいコンピュータオブジェクトが必要です。一部の環境は、新しく作成されたオブジェクトに対して異なる OU を持つようにカスタマイズされています。特定の OU のコンピュータオブジェクト (ゲートウェイ VM 用) がドメインに参加することを確認するには、ファイルゲートウェイをドメインに参加させる前に、ドメインコントローラーでコンピュータオブジェクトを作成してみてください。または、AWS CLI を使用して join-domain コマンドを実行することもできます。次に、--organizational-unit のオプションを指定します。
注意: コンピュータオブジェクトを作成するプロセスは、事前ステージングと呼ばれます。
7. 前のチェックと設定を試してもゲートウェイをドメインに参加させることができない場合は、関連するイベントログがあるかどうかを確認します。ドメインコントローラーのイベントビューワーでエラーがないか確認します。ゲートウェイクエリがドメインコントローラーに到達したかどうかを確認します。