¿Cómo puedo usar un nombre DNS proporcionado por Amazon en una máquina Linux que se ha unido a AWS Managed Microsoft AD para montar Amazon EFS?

7 minutos de lectura
0

Utilizo AWS Directory Service para Microsoft Active Directory. He unido mis instancias de Linux de Amazon Elastic Compute Cloud (Amazon EC2) al dominio de Active Directory. Ahora, no puedo usar el nombre DNS de EFS para montar Amazon Elastic File System (Amazon EFS).

Descripción corta

AWS Managed Microsoft AD reenvía todas las solicitudes de DNS a la dirección IP de los servidores DNS proporcionados por Amazon para su Amazon Virtual Private Cloud (Amazon VPC). Los servidores DNS resuelven los nombres que están configurados en sus zonas alojadas privadas de Amazon Route 53. Si no utiliza zonas alojadas privadas de Route 53, AWS Managed Microsoft AD reenvía las solicitudes de DNS a los servidores DNS públicos. Como resultado, las solicitudes de DNS se resuelven solo en direcciones IP públicas.

Los nombres de dominio del sistema de archivos de Amazon EFS se resuelven automáticamente en la dirección IP del objetivo de montaje en la misma VPC. Cuando cambia los servidores DNS del DNS predeterminado proporcionado por Amazon, el sistema de archivos no puede resolver la dirección IP y se produce un error en el montaje del DNS.

Resolución

Configuración de los servidores DNS

En el siguiente ejemplo se utiliza AWS Managed Microsoft AD. Los servidores DNS son 172.31.28.100 y 172.31.4.147. El sistema de archivos está en la misma nube virtual privada (VPC) con el objetivo de montaje 172.31.47.69.

Siga estos pasos:

  1. Para confirmar que la instancia de EC2 de Linux se puede conectar a la dirección IP 172.31.47.69 de objetivo de montaje de Amazon EFS, ejecute el siguiente comando:

    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. En el servidor Linux de EC2, utilice el nombre DNS para montar el sistema de archivos:

    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

    A continuación, desmonte el sistema de archivos:

    sudo umount /efs

    En el servidor Linux de EC2, el archivo /etc/resolv.conf muestra el servidor DNS y de nombres proporcionado por Amazon:

    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. Para integrar AWS Managed Microsoft AD y configurar los servidores DNS de Active Directory en el servidor Linux de EC2, ejecute los siguientes comandos:

    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. Para comprobar que ha configurado los servidores DNS correctos en el archivo /etc/resolv.conf, ejecute el siguiente comando:

    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. Ejecute el siguiente comando para comprobar que el nombre DNS de EFS devuelve 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

    Resultado de ejemplo:

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

    Nota: En el resultado anterior, la solicitud de DNS no se resuelve en un registro A y el estado es NXDOMAIN. Si utiliza el nombre DNS para montar el sistema de archivos, se producirá un error en el montaje.

  6. Para usar el DNS para montar el sistema de archivos, confirme que el nombre DNS se resuelve en el servidor de nombres proporcionado por Amazon para la 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

    Resultado de ejemplo:

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

Creación de una regla de reenvío condicional

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

Para montar su sistema de archivos, configure reenviadores condicionales para su AWS Managed Microsoft AD que reenvíen las solicitudes de DNS al DNS proporcionado por Amazon. A continuación, puede resolver las solicitudes de DNS de los servicios de AWS a direcciones IP privadas cuando utilice el DNS proporcionado por Active Directory.

Nota: La dirección IP de DNS proporcionada por Amazon es la dirección IP reservada en la base del rango de redes IPv4 de VPC más dos.

Para crear una regla de reenvío condicional, siga estos pasos:

  1. Ejecute el comando create-conditional-forwarder de la AWS CLI en la instancia de EC2 de Linux en la que desea montar el sistema de archivos:

    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

    Utilice los parámetros siguientes:
    En directory-id, introduzca su ID de Active Directory.
    En remote-domain-name, especifique cualquier dominio. La regla se aplica a todos los nombres de dominio completos (FQDN) que coincidan con su dominio o subdominios.
    En dns-ip-addrs, introduzca la dirección IP de DNS proporcionada por Amazon.

  2. Para confirmar que la resolución de DNS se resuelve en la dirección IP de destino del montaje EFS, ejecute el comando dig. El resultado tiene un aspecto similar al siguiente y muestra la resolución DNS del sistema de archivos 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

    Resultado de ejemplo:

    ;; 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. Para usar el nombre DNS para montar el sistema de archivos, ejecute el siguiente comando:

    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

Información relacionada

Configuración de servidores DNS para Simple AD

Montaje en Amazon EC2 con un nombre DNS

¿Cómo puedo ver una lista de mis instancias de Amazon EC2 que están conectadas a Amazon EFS?

¿Cómo puedo montar un volumen de Amazon EFS en AWS Batch en un entorno informático administrado?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 meses