Direkt zum Inhalt

Wie verwende ich einen von Amazon bereitgestellten DNS-Namen auf einem Linux-Computer, der mit AWS Managed Microsoft AD verbunden ist, um Amazon EFS zu mounten?

Lesedauer: 6 Minute
0

Ich verwende AWS Directory Service für Microsoft Active Directory. Ich habe meine Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instances der Active Directory-Domain hinzugefügt. Jetzt kann ich den EFS-DNS-Namen nicht verwenden, um das Amazon Elastic File System (Amazon EFS) zu mounten.

Kurzbeschreibung

AWS Managed Microsoft AD leitet alle DNS-Anfragen an die IP-Adresse der von Amazon bereitgestellten DNS-Server für deine Amazon Virtual Private Cloud (Amazon VPC) weiter. Diese DNS-Server lösen Namen auf, die in den privaten gehosteten Amazon Route 53-Zonen konfiguriert sind. Wenn du keine privaten gehosteten Zonen von Route 53 verwendest, leitet AWS Managed Microsoft AD deine DNS-Anfragen an öffentliche DNS-Server weiter. Daher werden die DNS-Anfragen nur in öffentliche IP-Adressen aufgelöst.

Domain-Namen des Amazon EFS-Dateisystems werden automatisch in die IP-Adresse des Mount-Ziels in derselben VPC aufgelöst. Wenn du die DNS-Server vom standardmäßigen, von Amazon bereitgestellten DNS änderst, kann das Dateisystem die IP-Adresse nicht auflösen und der DNS-Mount schlägt fehl.

Lösung

Deine DNS-Server konfigurieren

Im folgenden Beispiel wird AWS Managed Microsoft AD verwendet. Die DNS-Server sind 172.31.28.100 und 172.31.4.147. Das Dateisystem befindet sich in derselben Virtual Private Cloud (VPC) mit dem Mount-Ziel 172.31.47.69.

Führe die folgenden Schritte aus:

  1. Um zu bestätigen, dass die Linux EC2-Instance eine Verbindung zur Amazon EFS-Mount-Ziel-IP-Adresse 172.31.47.69 herstellen kann, führe den folgenden Befehl aus:

    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.
  2. Verwende auf dem EC2-Linux-Server den DNS-Namen, um das Dateisystem zu mounten:

    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

    Beende dann das Mounten des Dateisystems:

    sudo umount /efs

    Auf dem EC2-Linux-Server zeigt die Datei /etc/resolv.conf den von Amazon bereitgestellten DNS- und Nameserver:

    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
  3. Führe die folgenden Befehle aus, um AWS Managed Microsoft AD zu integrieren und die Active Directory-DNS-Server auf dem EC2-Linux-Server zu konfigurieren:

    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
  4. Um zu überprüfen, ob du die richtigen DNS-Server in der Datei /etc/resolv.conf konfiguriert hast, führe den folgenden Befehl aus:

    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
  5. Führe den folgenden Befehl aus, um zu überprüfen, ob der EFS-DNS-Name NXDOMAIN zurückgibt:

    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

    Beispielausgabe:

    ;; 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

    Hinweis: In der vorherigen Ausgabe wird die DNS-Anfrage nicht in einen A-Datensatz aufgelöst und der Status ist NXDOMAIN. Wenn du den DNS-Namen zum Mounten deines Dateisystems verwendest, schlägt das Mounten fehl.

  6. Um DNS zum Mounten deines Dateisystems zu verwenden, stelle sicher, dass der DNS-Name auf den von Amazon bereitgestellten Nameserver für die VPC aufgelöst wird:

    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

    Beispielausgabe:

    ;; 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

Bedingte Weiterleitungsregel erstellen

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version von AWS CLI verwendest.

Um dein Dateisystem einzubinden, konfiguriere bedingte Weiterleitungen für dein AWS Managed Microsoft AD, die DNS-Anfragen an das von Amazon bereitgestellte DNS weiterleiten. Du kannst dann DNS-Anfragen von AWS-Services an private IP-Adressen auflösen, wenn du das von Active Directory bereitgestellte DNS verwendest.

Hinweis: Die von Amazon bereitgestellte DNS-IP-Adresse ist die reservierte IP-Adresse an der Basis des VPC-IPv4-Netzwerkbereichs plus zwei.

Gehe wie folgt vor, um eine Regel für bedingte Weiterleitungen zu erstellen:

  1. Führe den AWS-CLI-Befehl create-conditional-forwarder auf der Linux EC2-Instance aus, auf der du das Dateisystem mounten möchtest:

    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

    Verwende die folgenden Parameter:
    Gib bei directory-id deine Active Directory-ID ein.
    Gib bei remote-domain-name eine beliebige Domain an. Die Regel wird auf alle vollqualifizierten Domainnamen (FQDN) angewendet, die deiner Domain oder deinen Subdomains entsprechen.
    Gib bei dns-ip-addrs die von Amazon bereitgestellte DNS-IP-Adresse ein.

  2. Führe den Befehl dig aus, um zu bestätigen, dass die DNS-Auflösung in die EFS-Mount-Ziel-IP-Adresse aufgelöst wird. Die Ausgabe sieht ähnlich wie die folgende aus und zeigt die DNS-Auflösung des Dateisystem-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

    Beispielausgabe:

    ;; 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
  3. Um den DNS-Namen zum Mounten des Dateisystems zu verwenden, führe den folgenden Befehl aus:

    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

Ähnliche Informationen

Konfiguration von DNS-Servern für Simple AD

Mounten auf Amazon EC2 mit einem DNS-Namen

Wie sehe ich eine Liste meiner Amazon EC2-Instances, die mit Amazon EFS verbunden sind?

Wie kann ich ein Amazon EFS-Volume in einer verwalteten Rechenumgebung auf AWS Batch mounten?

AWS OFFICIALAktualisiert vor 10 Monaten