Automatisation des entrées de zone privée DNS avec les fonctions OCI

Dans certains cas, les clients souhaitent personnaliser les paramètres DNS d'un VCN et, au lieu de oraclevcn.com, utiliser un domaine différent pour les hôtes connectés au VCN. La fonctionnalité Zone privée DNS dans le service DNS d'Oracle Cloud Infrastructure (OCI) permet aux utilisateurs d'étendre les capacités du résolveur DNS VCN intégré afin qu'ils puissent utiliser des noms de domaine personnalisés pour les ressources au sein des réseaux cloud virtuels. Cette architecture étend la solution décrite dans l'article de blog Cas d'utilisation - DNS personnalisé VCN OCI (accessible à partir de la section Explorer plus, ailleurs dans cette architecture de référence) en utilisant les événements et fonctions OCI pour automatiser la gestion des entrées de zone DNS.

Architecture

Cette architecture explique comment utiliser les fonctions et événements OCI pour remplir automatiquement une zone privée avec des entrées DNS, ce qui réduit le besoin de mises à jour manuelles et d'erreurs potentielles. Vous pouvez ensuite utiliser Events pour capturer les demandes de création d'instance au niveau du compartiment, puis déclencher la fonction Add DNS record pour collecter les métadonnées d'instance, ajouter un enregistrement DNS à la zone DNS privée et enfin confirmer l'insertion d'enregistrement en mettant à jour les balises à format libre d'instance. Lorsque l'instance prend fin, l'événement déclenche la fonction Remove DNS record pour supprimer l'enregistrement DNS associé.

Le diagramme suivant illustre cette architecture de référence.


Description de l'image dns_private_zones.png
Description de l'image dns_private_zones.png

dns-private-zones-oracle.zip

Cette architecture comporte les composants suivants :
  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient des centres de données, appelés domaines de disponibilité. Les régions sont indépendantes des autres régions et de vastes distances peuvent les séparer (dans tous les pays ou même les continents).

  • Compartiment

    Les compartiments sont des partitions logiques inter-région au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser vos ressources dans Oracle Cloud, contrôler l'accès aux ressources et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous définissez des stratégies qui indiquent qui peut accéder aux ressources et les actions réalisables.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Ainsi, il est peu probable qu'un problème survenant dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisable, défini par logiciel, que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent un contrôle total sur l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé. Liste de sécurité Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui indiquent la source, la destination et le type de trafic qui doivent être autorisés vers et depuis le sous-réseau.

  • Passerelle NAT

    La passerelle NAT permet aux ressources privées d'un VCN d'accéder aux hôtes sur Internet, sans exposer ces ressources aux connexions Internet entrantes.

  • passerelle de service

    La passerelle de service fournit l'accès d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic du VCN vers le service Oracle se déplace sur la structure réseau Oracle et ne traverse jamais Internet.

  • Zone DNS privée

    Le DNS privé vous permet d'utiliser vos propres noms de domaine DNS privés et de gérer entièrement les zones et enregistrements associés afin de fournir une résolution de nom d'hôte pour vos applications exécutées sur et entre les réseaux cloud virtuels, ainsi que pour votre réseau sur site ou autre réseau privé.

  • Oracle Cloud Infrastructure Events

    Les événements OCI vous permettent de créer une automatisation en fonction des modifications d'état des ressources dans l'ensemble de votre location. Les événements émis peuvent être filtrés à l'aide de règles, puis traités dans le cadre d'une action dans d'autres services OCI (Notification, Streaming, Functions).

  • Oracle Functions

    Avec Oracle Functions, les développeurs peuvent tirer parti d'une plate-forme Functions-as-a-Service entièrement gérée, colocative, hautement évolutive et à la demande pour écrire et exécuter du code dans le cloud sans avoir à gérer l'infrastructure sous-jacente. Dans cette architecture, les fonctions sont Add DNS record et Remove DNS record.

  • Résolution DNS VCN

    Le résolveur DNS VCN permet aux instances attachées au VCN de résoudre les noms d'hôte (que vous pouvez affecter) d'autres instances dans le même VCN. Vous pouvez étendre les capacités par défaut du résolveur DNS VCN en associant des zones privées à la vue privée VCN.

Recommandations

Utilisez les recommandations suivantes comme point de départ lors de l'automatisation des entrées de zone privée DNS avec OCI Functions. Vos besoins peuvent différer de l'architecture décrite ici.
  • VCN

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher aux sous-réseaux du VCN. Utilisez des blocs CIDR situés dans l'espace d'adresses IP privées standard.

    Sélectionnez des blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) sur lequel vous souhaitez configurer des connexions privées.

    Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de sécurité et de flux de trafic. Associez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, ce qui peut servir de limite de sécurité.

    Utilisez des sous-réseaux régionaux.

  • Sécurité

    Utilisez Oracle Cloud Guard pour surveiller et maintenir la sécurité de vos ressources dans Oracle Cloud Infrastructure de manière proactive. Cloud Guard utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources à la recherche de faiblesses en matière de sécurité et pour surveiller les opérateurs et les utilisateurs à la recherche d'activités à risque. Lorsqu'une erreur de configuration ou une activité non sécurisée est détectée, Cloud Guard recommande des actions correctives et aide à prendre ces actions, en fonction des recettes de répondeur que vous pouvez définir.

    Pour les ressources nécessitant une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette définie par Oracle de stratégies de sécurité reposant sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et doivent être cryptées à l'aide de clés gérées par le client. Lorsque vous créez et mettez à jour des ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui violent les stratégies.

  • Cloud Guard

    Cloner et personnaliser les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondeur personnalisées. Ces recettes vous permettent d'indiquer quel type de violation de sécurité génère un avertissement et quelles actions sont autorisées pour ces violations. Par exemple, vous pouvez détecter les buckets Object Storage dont la visibilité est définie sur Public.

    Appliquez Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative liée à la maintenance de plusieurs configurations.

    Vous pouvez également utiliser la fonctionnalité Liste gérée pour appliquer certaines configurations aux détecteurs.

  • Zones de sécurité

    Les zones de sécurité appliquent des publications de sécurité sur les compartiments OCI et empêchent les actions qui pourraient affaiblir l'état de sécurité d'un client. Vous pouvez appliquer des stratégies de zone de sécurité à divers types d'infrastructure cloud (réseau, calcul, stockage, base de données, etc.) pour garantir la sécurité des ressources cloud et éviter les erreurs de configuration de la sécurité.

  • Groupes de sécurité réseau

    Vous pouvez utiliser des groupes de sécurité réseau pour définir un ensemble de règles entrantes et sortantes qui s'appliquent à des cartes d'interface réseau virtuelles spécifiques. Nous vous recommandons d'utiliser des groupes de sécurité réseau plutôt que des listes de sécurité, car les groupes de sécurité réseau vous permettent de séparer l'architecture de sous-réseau du VCN des exigences de sécurité de votre application. Vous pouvez utiliser des groupes de sécurité réseau pour définir un ensemble de règles entrantes et sortantes qui s'appliquent à des cartes d'interface réseau virtuelles spécifiques. Nous vous recommandons d'utiliser des groupes de sécurité réseau plutôt que des listes de sécurité, car les groupes de sécurité réseau vous permettent de séparer l'architecture de sous-réseau du VCN des exigences de sécurité de votre application.

  • bande passante d'équilibreur de charge

    Lors de la création de l'équilibreur de charge, vous pouvez sélectionner une forme prédéfinie qui fournit une bande passante fixe ou indiquer une forme personnalisée (flexible) dans laquelle vous définissez une plage de bande passante et laisser le service redimensionner automatiquement la bande passante en fonction des modèles de trafic. Avec l'une ou l'autre approche, vous pouvez modifier la forme à tout moment après avoir créé l'équilibreur de charge.

Considérations

Lors du provisionnement de l'infrastructure, tenez compte des points suivants :

  • Déploiement

    L'utilisateur qui déploie l'architecture doit disposer de privilèges administratifs.

  • Zone DNS

    La zone DNS configurée doit se trouver dans le même compartiment que le sous-réseau sélectionné.

Activer

Le code Terraform de cette architecture de référence est disponible sous forme d'exemple de pile dans Oracle Cloud Infrastructure Resource Manager. Vous pouvez également télécharger le code à partir de GitHub et le personnaliser en fonction de vos besoins spécifiques.

  • Déployez à l'aide de l'exemple de pile dans Oracle Cloud Infrastructure Resource Manager :
    1. Cliquez sur Déploiement vers Oracle Cloud.

      Si vous n'êtes pas déjà connecté, entrez les informations d'identification de la location et de l'utilisateur.

    2. Sélectionnez la région de déploiement de la pile.
    3. Suivez les invites à l'écran et les instructions pour créer la pile.
    4. Après avoir créé la pile, cliquez sur Actions Terraform et sélectionnez Planifier.
    5. Attendez que le travail soit terminé et vérifiez le plan.

      Pour apporter des modifications, revenez à la page Détails de la pile, cliquez sur Modifier la pile et apportez les modifications requises. Exécutez ensuite à nouveau l'action Planifier.

    6. Si aucune autre modification n'est nécessaire, revenez à la page Détails de la pile, cliquez sur Actions Terraform et sélectionnez Appliquer.
  • Déployez à l'aide du code Terraform dans GitHub :
    1. Accédez à GitHub.
    2. Clonez ou téléchargez le référentiel sur votre ordinateur local.
    3. Suivez les instructions du document README.

En savoir plus

En savoir plus sur les zones privées DNS dans OCI, reportez-vous aux ressources suivantes :

Consultez les ressources supplémentaires suivantes :

Remerciements

Auteur : Andrei Ilas