Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
如何在與 AWS Managed Microsoft AD 連線的 Linux 電腦上使用 Amazon 提供的 DNS 名稱來掛載 Amazon EFS?
我使用適用於 Microsoft Active Directory 的 AWS Directory Service。我已將 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體加入 Active Directory 網域。現在,我無法使用 EFS DNS 名稱來掛載 Amazon Elastic File System (Amazon EFS)。
簡短說明
AWS Managed Microsoft AD 將所有 DNS 請求轉送至 Amazon 為您的 Amazon Virtual Private Cloud (Amazon VPC) 提供的 DNS 伺服器的 IP 位址。這些 DNS 伺服器會解析您在 Amazon Route 53 私有託管區域中設定的名稱。如果您不使用 Route 53 私有託管區域,則 AWS Managed Microsoft AD 會將您的 DNS 請求轉送至公用 DNS 伺服器。因此,DNS 請求僅解析公共 IP 位址。
Amazon EFS 檔案系統網域會自動解析為同一 VPC 中掛載目標的 IP 位址。當您從預設的 Amazon 提供的 DNS 變更 DNS 伺服器時,檔案系統無法解析 IP 位址,且 DNS 掛載會失敗。
解決方法
設定 DNS 伺服器
以下範例使用 AWS Managed Microsoft AD。DNS 伺服器為 172.31.28.100 和 172.31.4.147。此檔案系統與掛載目標 172.31.47.69 位於同一個虛擬私有雲端 (VPC) 中。
請完成下列步驟:
-
若要確認 Linux EC2 執行個體可以連線至 Amazon EFS 掛載目標 IP 位址 172.31.47.69,請執行下列命令:
nc -vz 172.31.47.69 2049Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.31.47.69:2049. Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
-
在 EC2 Linux 伺服器上,使用 DNS 名稱掛載檔案系統:
sudo mount -t efs -o tls fs-123456:/ efs df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 475M 0 475M 0% /dev tmpfs tmpfs 483M 0 483M 0% /dev/shm tmpfs tmpfs 483M 516K 483M 1% /run tmpfs tmpfs 483M 0 483M 0% /sys/fs/cgroup /dev/xvda1 xfs 8.0G 1.6G 6.5G 19% / tmpfs tmpfs 97M 0 7M 0% /run/user/0 tmpfs tmpfs 97M 0 97M 0% /run/user/1000 127.0.0.1:/ nfs4 8.0E 0 8.0E 0% /home/ec2-user/efs
然後,卸載檔案系統:
sudo umount /efs
在 EC2 Linux 伺服器上,/etc/resolv.conf 檔案顯示 Amazon 提供的 DNS 和名稱伺服器:
cat /etc/resolv.conf ; generated by /usr/sbin/dhclient-script search eu-west-2.compute.internal options timeout:2 attempts:5 nameserver 172.31.0.2
-
若要整合 AWS Managed Microsoft AD 並在 EC2 Linux 伺服器上設定 Active Directory DNS 伺服器,請執行下列命令:
echo 'supersede domain-name-servers 172.31.28.100, 172.31.4.147;' | sudo tee --append /etc/dhcp/dhclient.conf echo 'supersede domain-search "rachel.com";' | sudo tee --append /etc/dhcp/dhclient.conf sudo dhclient -r sudo dhclient
-
若要檢查您是否在 /etc/resolv.conf 檔案中設定了正確的 DNS 伺服器,請執行下列命令:
cat /etc/resolv.conf options timeout:2 attempts:5 ; generated by /usr/sbin/dhclient-script search rachel.com. eu-west-2.compute.internal nameserver 172.31.28.100 nameserver 172.31.4.147
-
執行以下命令來檢查 EFS DNS 名稱是否回傳 NXDOMAIN:
dig fs-123456.efs.eu-west-2.amazonaws.com ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> fs-123456.efs.eu-west-2.amazonaws.com ;; global options: +cmd
輸出範例:
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 57378 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4000 ;; QUESTION SECTION: ;fs-123456.efs.eu-west-2.amazonaws.com. IN A
注意: 在上面的輸出中,DNS 請求未解析為 A 記錄,狀態為 NXDOMAIN。如果您使用 DNS 名稱來掛載檔案系統,掛載會失敗。
-
若要使用 DNS 掛載檔案系統,請確認 DNS 名稱解析為 Amazon 為 VPC 提供的名稱伺服器:
dig @172.31.0.2 fs-123456.efs.eu-west-2.amazonaws.com ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> fs-123456.efs.eu-west-2.amazonaws.com ;; global options: +cmd
輸出範例:
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24926 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4000 ;; QUESTION SECTION: ;fs-123456.efs.eu-west-2.amazonaws.com. IN A ;; ANSWER SECTION: fs-123456.efs.eu-west-2.amazonaws.com. 60 IN A 172.31.25.79
建立條件轉寄站規則
注意: 如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,則請參閱對 AWS CLI 進行錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
若要掛載檔案系統,請為 AWS Managed Microsoft AD 設定條件轉寄器,將 DNS 要求轉送至 Amazon 提供的 DNS。然後,當您使用 Active Directory 提供的 DNS 時,您可以將來自 AWS 服務的 DNS 請求解析為私有 IP 位址。
注意: Amazon 提供的 DNS IP 位址是以 VPC IPv4 網路範圍基礎上的保留 IP 位址加二。
若要建立條件轉寄站規則,請完成下列步驟:
-
在要掛載檔案系統的 Linux EC2 執行個體上執行 create-conditional-forwarder AWS CLI 命令:
aws ds create-conditional-forwarder --directory-id d-9c671fb35f --remote-domain-name amazonaws.com --dns-ip-addrs 172.31.0.2 --region eu-west-2
使用下列參數:
對於 directory-id,輸入您的 Active Directory ID。
對於 remote-domain-name,指定任意網域。此規則適用於與您的網域或子網域相符的所有完整網域名稱 (FQDN)。
對於 dns-ip-address,輸入 Amazon 提供的 DNS IP 位址。 -
若要確認 DNS 解析是否解析為 EFS 掛載目標 IP 位址,請執行 dig 命令。輸出類似以下內容,顯示檔案系統 DNS 的 DNS 解析:
dig fs-123456.efs.eu-west-2.amazonaws.com ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> fs-123456.efs.eu-west-2.amazonaws.com ;; global options: +cmd
輸出範例:
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24926 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4000 ;; QUESTION SECTION: ;fs-123456.efs.eu-west-2.amazonaws.com. IN A ;; ANSWER SECTION: fs-123456.efs.eu-west-2.amazonaws.com. 60 IN A 172.31.25.79
-
若要使用 DNS 名稱掛載檔案系統,請執行下列命令:
sudo mount -t efs -o tls fs-123456:/ efs [ec2-user@ip-172-31-35-167 ~]$ df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 475M 0 475M 0% /dev tmpfs tmpfs 483M 0 483M 0% /dev/shm tmpfs tmpfs 483M 520K 483M 1% /run tmpfs tmpfs 483M 0 483M 0% /sys/fs/cgroup /dev/xvda1 xfs 8.0G 1.6G 6.5G 19% / tmpfs tmpfs 97M 0 97M 0% /run/user/0 tmpfs tmpfs 97M 0 97M 0% /run/user/1000 127.0.0.1:/ nfs4 8.0E 0 8.0E 0% /home/ec2-user/efs
相關資訊

相關內容
- 已提問 2 年前lg...
- 已提問 7 個月前lg...
- 已提問 5 個月前lg...
- 已提問 8 個月前lg...
- 已提問 6 個月前lg...