Comment utiliser un nom DNS fourni par Amazon sur une machine Linux jointe à AWS Managed Microsoft AD pour monter Amazon EFS ?

Lecture de 7 minute(s)
0

J'utilise AWS Directory Service pour Microsoft Active Directory. J'ai joint mes instances Linux Amazon Elastic Compute Cloud (Amazon EC2) au domaine Active Directory. À présent, je ne peux pas utiliser le nom DNS EFS pour monter l'Amazon Elastic File System (Amazon EFS).

Brève description

AWS Managed Microsoft AD transmet toutes les requêtes DNS à l'adresse IP des serveurs DNS fournis par Amazon pour votre Amazon Virtual Private Cloud (Amazon VPC). Les serveurs DNS résolvent les noms que vous avez configurés dans vos zones hébergées privées Amazon Route 53. Si vous n'utilisez pas les zones hébergées privées Route 53, AWS Managed Microsoft AD transmet vos requêtes DNS aux serveurs DNS publics. Par conséquent, les requêtes DNS se résolvent uniquement sur les adresses IP publiques.

Les noms de domaines du système de fichiers Amazon EFS se résolvent automatiquement sur l’adresse IP de la cible de montage dans le même VPC. Lorsque vous modifiez les serveurs DNS par rapport au DNS par défaut fourni par Amazon, le système de fichiers ne peut pas résoudre l'adresse IP et le montage du DNS échoue.

Résolution

Configurez vos serveurs DNS

L'exemple suivant utilise AWS Managed Microsoft AD. Les serveurs DNS sont 172.31.28.100 et 172.31.4.147. Le système de fichiers se trouve dans le même cloud privé virtuel (VPC) que la cible de montage 172.31.47.69.

Procédez comme suit :

  1. Pour vérifier que l'instance Linux EC2 peut se connecter à l'adresse IP cible de montage Amazon EFS 172.31.47.69, exécutez la commande suivante :

    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. Sur le serveur Linux EC2, utilisez le nom DNS pour monter le système de fichiers :

    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

    Puis, démontez le système de fichiers :

    sudo umount /efs

    Sur le serveur Linux EC2, le fichier /etc/resolv.conf indique le DNS et le serveur de noms fournis par 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. Pour intégrer AWS Managed Microsoft AD et configurer les serveurs DNS Active Directory sur le serveur Linux EC2, exécutez les commandes suivantes :

    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. Pour vérifier que vous avez configuré les serveurs DNS adéquats dans le fichier /etc/resolv.conf, exécutez la commande suivante :

    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. Exécutez la commande suivante pour vérifier que le nom DNS EFS renvoie 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

    Exemple de sortie :

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

    Remarque : Dans la sortie précédente, la requête DNS ne se résout pas sur un enregistrement A et le statut est NXDOMAIN. Si vous utilisez le nom DNS pour monter votre système de fichiers, le montage échoue.

  6. Pour monter votre système de fichiers à l’aide du DNS, vérifiez que le nom DNS se résout sur le serveur de noms fourni par Amazon pour le 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

    Exemple de sortie :

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

Créer une règle de transfert conditionnel

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.

Pour monter votre système de fichiers, configurez des redirecteurs conditionnels pour votre AWS Managed Microsoft AD qui transmettent les requêtes DNS au DNS fourni par Amazon. Vous pouvez ensuite résoudre les requêtes DNS des services AWS sur des adresses IP privées lorsque vous utilisez le DNS fourni par Active Directory.

Remarque : L'adresse IP du serveur DNS fournie par Amazon est l'adresse IP à la base de la plage du réseau VPC IPv4 plus deux.

Pour créer une règle de transfert conditionnel, procédez comme suit :

  1. Exécutez la commande create-conditional-forwarder de l’interface de ligne de commande AWS sur l'instance Linux EC2 sur laquelle vous souhaitez monter le système de fichiers :

    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

    Utilisez les paramètres suivants :
    Pour directory-id, saisissez votre ID Active Directory.
    Pour remote-domain-name, spécifiez n'importe quel domaine. La règle s'applique à tous les noms de domaine complets (FQDN) qui correspondent à votre domaine ou à vos sous-domaines.
    Pour dns-ip-addrs, saisissez l'adresse IP DNS fournie par Amazon.

  2. Pour confirmer que la résolution DNS correspond à l'adresse IP cible du montage EFS, exécutez la commande dig. La sortie se présente comme suit et montre la résolution DNS du système de fichiers 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

    Exemple de sortie :

    ;; 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. Pour monter le système de fichiers à l’aide du nom DNS, exécutez la commande suivante :

    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

Informations connexes

Configuration des serveurs DNS pour Simple AD

Montage sur Amazon EC2 avec un nom DNS

Comment puis-je consulter la liste de mes instances Amazon EC2 connectées à Amazon EFS ?

Comment puis-je monter un volume Amazon EFS sur AWS Batch dans un environnement de calcul géré ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 mois