Créer une instance Looker (Google Cloud Core) avec des connexions privées (accès aux services privés)

Cette page explique comment créer une instance Looker (Google Cloud Core) de production ou hors production avec des connexions privées (PSA) qui utilisent l'accès privé aux services (PSA).

Les connexions privées permettent d'accéder aux services sans passer par Internet ni utiliser d'adresses IP externes. Comme elles ne transitent pas par Internet, les connexions privées offrent généralement une latence plus faible et des vecteurs d'attaque limités. Les connexions privées permettent à votre instance Looker (Google Cloud Core) de communiquer avec d'autres ressources de votre cloud privé virtuel (VPC), mais pas de recevoir de communications entrantes depuis l'Internet public.

La connectivité privée permet d'utiliser certaines fonctionnalités, comme VPC Service Controls. Toutefois, les connexions privées ne sont pas compatibles avec certaines fonctionnalités de Looker (Google Cloud Core). Pour en savoir plus, consultez le tableau de compatibilité des fonctionnalités.

Looker (Google Cloud Core) est compatible avec les connexions privées (PSA) pour les éditions d'instance Enterprise ou Embed.

Rôles et autorisations requis

Pour configurer une instance de connexion privée (PSA), vous devez disposer des autorisations IAM suivantes :

  1. Pour créer une instance Looker (Google Cloud Core), vous devez disposer du rôle Administrateur Looker (roles/looker.Admin).
  2. Pour obtenir les autorisations nécessaires pour créer des plages d'adresses IP attribuées et gérer les connexions privées, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de réseaux Compute (roles/compute.networkAdmin) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

    Ce rôle prédéfini contient les autorisations requises pour créer des plages d'adresses IP attribuées et gérer les connexions privées. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Vous devez disposer des autorisations suivantes pour créer des plages d'adresses IP allouées et gérer des connexions privées :

    • Consultez les réseaux disponibles dans le menu déroulant Réseau :
      • compute.addresses.list
      • compute.globalAddresses.list
      • compute.networks.list
      • compute.globalAddresses.list
    • Créez un réseau VPC :
      • compute.addresses.create
      • compute.globalAddresses.create
      • serviceusage.services.enable
    • Allouez une plage d'adresses IP privées et configurez une connexion d'accès aux services privés : compute.networks.addPeering

    Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

    Si vous utilisez un réseau privé déjà configuré, vous n'avez pas besoin de ces autorisations.

Vous aurez peut-être également besoin de rôles IAM supplémentaires pour configurer VPC Service Controls ou des clés de chiffrement gérées par le client (CMEK). Pour en savoir plus, consultez les pages de documentation Compatibilité de VPC Service Controls avec Looker (Google Cloud Core) et Activer CMEK pour Looker (Google Cloud Core).

Avant de commencer

  1. Contactez le service commercial pour vous assurer que votre contrat annuel est finalisé et que vous disposez d'un quota alloué à votre projet.
  2. Assurez-vous que la facturation est activée pour votre projet Google Cloud .
  3. Dans la console Google Cloud, sur la page de sélection du projet, créez un projet Google Cloud ou accédez à un projet existant dans lequel vous souhaitez créer l'instance Looker (Google Cloud Core).

    Accéder au sélecteur de projet

  4. Activez l'API Looker pour votre projet dans la console Google Cloud. Lors de l'activation, il se peut que vous deviez actualiser la page de la console pour confirmer que l'API a bien été activée.

    Activer l'API

  5. Activez l'API Service Networking pour votre projet dans la console Google Cloud. Lors de l'activation, il se peut que vous deviez actualiser la page de la console pour confirmer que l'API a bien été activée.

    Activer l'API

  6. Activez l'API Compute Engine pour votre projet dans la console Google Cloud. Lorsque vous activez l'API, vous devrez peut-être actualiser la page de la console pour confirmer que l'API a bien été activée.

    Activer l'API

  7. Configurez un client OAuth et créez des identifiants d'autorisation. Le client OAuth vous permet de vous authentifier et d'accéder à l'instance. Vous devez configurer OAuth pour créer une instance Looker (Google Cloud Core), même si vous utilisez une autre méthode d'authentification pour authentifier les utilisateurs dans votre instance.

Créer et configurer un réseau VPC

Avant de pouvoir créer une connexion privée, vous devez d'abord créer et configurer un réseau cloud privé virtuel (VPC). Looker (Google Cloud Core) est compatible avec plusieurs instances de connexion de service privé (PSA) dans le même VPC, que ce soit dans la même région ou dans des régions différentes.

  1. Créez un réseau VPC dans votre projet. Si vous utilisez un VPC partagé au lieu de créer un réseau VPC, suivez les étapes de la section Créer une instance dans un VPC partagé, en plus des étapes restantes de cette section pour le VPC partagé.
  2. Allouez une plage d'adresses IP IPv4 (bloc CIDR) dans votre VPC pour une connexion d'accès aux services privés à Looker (Google Cloud Core).
    • Avant d'allouer votre plage, tenez compte des contraintes.
    • Lorsque vous définissez la taille de la plage d'adresses IP, sachez que la taille minimale est un bloc /22.
    • Looker (Google Cloud Core) est compatible avec toutes les plages IPv4 de la RFC 1918, qui spécifie les adresses IP affectées à une utilisation en interne (c'est-à-dire au sein d'une organisation) et qui ne s'acheminent pas sur Internet. Voici les principaux :
      • 10.0.0.0/8
      • 172.16.0.0/12
      • 192.168.0.0/16
    • Les plages IPv4 de classe E (240.0.0.0/4) sont réservées pour une utilisation future, comme indiqué dans les normes RFC 5735 et RFC 1112. Elles ne sont pas compatibles avec Looker (Google Cloud Core).
    Lorsqu'une instance Looker (Google Cloud Core) est créée pour la première fois dans une région d'un VPC, Looker crée un sous-réseau proxy réservé. Le sous-réseau proxy réservé utilise un sous-réseau de plage /26 du sous-réseau /22 que vous réservez lorsque vous créez l'instance Looker (Google Cloud Core). Toutes les instances Looker (Google Cloud Core) utilisant des connexions privées ultérieures (PSA) dans le même VPC et la même région utilisent le même sous-réseau proxy uniquement.
  3. Ajoutez la connexion d'accès aux services privés à votre réseau VPC à l'aide de la plage d'adresses IP allouée à l'allocation attribuée à l'étape précédente.
  4. Une fois votre réseau VPC créé, revenez à la page Créer une instance Looker dans votre projet Google Cloud . Vous devrez peut-être actualiser la page pour que votre réseau VPC soit reconnu.

Une fois ces étapes terminées, vous pouvez commencer à créer votre instance en suivant la procédure décrite sur la page de documentation Créer une instance Looker (Google Cloud Core) , en commençant par la section Avant de commencer.

Plusieurs instances de connexion privée dans le même VPC

Si au moins deux instances Looker (Google Cloud Core) avec connexion privée se trouvent dans la même région et le même VPC, et que vous supprimez la première instance Looker (Google Cloud Core) créée dans la région, le sous-réseau proxy uniquement n'est pas libéré, car il est toujours utilisé par les instances restantes. Si vous essayez de créer une instance Looker (Google Cloud Core) avec une nouvelle connexion privée (PSA) qui utilise la même plage d'adresses que celle que vous avez utilisée pour l'instance supprimée (qui contient la plage d'adresses IP du sous-réseau proxy uniquement), la création de l'instance échouera et vous verrez une erreur "Plages d'adresses IP épuisées". Pour vérifier si une plage d'adresses IP est utilisée, vérifiez l'appairage de VPC pour Service Networking et les routes d'importation pour voir si elles utilisent la plage d'adresses IP qui vous intéresse.

Créer une instance dans un VPC partagé

Si vous créez une instance Looker (Google Cloud Core) dans un VPC partagé, procédez comme suit dans le projet hôte du VPC partagé :

  1. Activez l'API Looker dans le projet hôte du VPC partagé dans la console Google Cloud. Lorsque vous activez l'API, vous devrez peut-être actualiser la page de la console pour confirmer que l'API a bien été activée.

    Activer l'API

  2. Créez un compte de service dans le projet hôte du VPC partagé à l'aide de la commande gcloud services identity create :

    gcloud beta services identity create --service=looker.googleapis.com \
    --project=SHARED_HOST_PROJECT_ID
    

    Remplacez SHARED_HOST_PROJECT_ID par l'ID du projet hôte du VPC partagé.

  3. Attribuez au compte de service du projet hôte du VPC partagé un rôle IAM contenant l'autorisation IAM compute.globalAddresses.get. Exécutez ensuite la commande add-iam-policy-binding :

    gcloud projects add-iam-policy-binding SHARED_HOST_PROJECT_ID \
        --member=serviceAccount:SA_EMAIL --role=ROLE_NAME

    Remplacez les éléments suivants :

    • SHARED_HOST_PROJECT_ID : ID du projet hôte du VPC partagé.

    • SA_EMAIL : adresse e-mail du compte de service que vous avez créé dans le projet hôte du VPC partagé.

    • ROLE_NAME : nom du rôle qui contient l'autorisation compute.globalAddresses.get. Utilisez l'un des formats suivants :

      • Rôles prédéfinis : roles/SERVICE.IDENTIFIER
      • Rôles personnalisés au niveau du projet : projects/PROJECT_ID/roles/IDENTIFIER
      • Rôles personnalisés au niveau de l'organisation : organizations/ORG_ID/roles/IDENTIFIER

      Pour obtenir la liste complète des rôles prédéfinis, consultez la page Comprendre les rôles.

Après avoir créé le compte de service et lui avoir accordé l'autorisation IAM, patientez quelques minutes pour que le compte de service et l'autorisation se propagent.

De plus, allouez une plage d'adresses IPv4 dans le VPC partagé et ajoutez la connexion d'accès aux services privés au VPC partagé, comme décrit dans la section précédente Créer et configurer un réseau VPC.

Créer l'instance de connexions privées

Looker (Google Cloud Core) nécessite environ 60 minutes pour générer une nouvelle instance.

Si vous souhaitez une instance de connexions privées (PSA), vous devez utiliser la Google Cloud CLI ou Terraform, et configurer l'instance en tant que connexions privées (PSA) lors de sa création. Vous ne pouvez pas ajouter de connexions privées à une instance ni en supprimer une fois l'instance créée.

Pour créer une instance de connexion privée (PSA) à l'aide de la Google Cloud CLI, procédez comme suit :

  1. Si vous utilisez CMEK, suivez les instructions pour créer un compte de service, un trousseau de clés et une clé avant de créer votre instance Looker (Google Cloud Core).
  2. Utilisez la commande gcloud looker instances create pour créer l'instance :

    gcloud looker instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --oauth-client-id=OAUTH_CLIENT_ID \
    --oauth-client-secret=OAUTH_CLIENT_SECRET \
    --region=REGION \
    --edition=EDITION \
    --private-ip-enabled \
    --consumer-network=CONSUMER_NETWORK --reserved-range=RESERVED_RANGE
    [--no-public-ip-enabled]
    [--public-ip-enabled]
    

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de votre instance Looker (Google Cloud Core). Il n'est pas associé à l'URL de l'instance.
    • PROJECT_ID : nom du projet Google Cloud dans lequel vous créez l'instance Looker (Google Cloud Core).
    • OAUTH_CLIENT_ID et OAUTH_CLIENT_SECRET : ID client OAuth et secret OAuth que vous avez créés lorsque vous avez configuré votre client OAuth. Une fois l'instance créée, saisissez son URL dans la section URI de redirection autorisés du client OAuth.
    • REGION : région dans laquelle votre instance Looker (Google Cloud Core) est hébergée. Sélectionnez la région correspondant à celle indiquée dans le contrat d'abonnement. Les régions disponibles sont listées sur la page de documentation Emplacements Looker (Google Cloud Core).
    • EDITION : édition, type d'environnement (production ou hors production) et indication de l'édition d'essai pour l'instance. Pour une instance de connexions privées (PSA), il doit s'agir de core-enterprise-annual, core-embed-annual, nonprod-core-enterprise-annual, nonprod-core-embed-annual, core-trial-enterprise ou core-trial-embed. Assurez-vous de choisir le même type d'édition que celui indiqué dans votre contrat annuel et que vous disposez du quota alloué. Une fois qu'une instance est créée, son édition ne peut plus être modifiée. Si vous souhaitez changer d'édition, vous pouvez utiliser l'importation et l'exportation pour transférer les données de votre instance Looker (Google Cloud Core) vers une nouvelle instance configurée avec une autre édition.
    • CONSUMER_NETWORK : votre réseau VPC ou votre réseau VPC partagé. Doit être défini si vous créez une instance de connexion privée (PSA).
    • RESERVED_RANGE : plage d'adresses IP au sein du VPC dans lequel Google provisionnera un sous-réseau pour votre instance Looker (Google Cloud Core).

    Vous pouvez inclure les options suivantes :

    • --private-ip-enabled active les connexions privées (PSA). Cette valeur doit être incluse pour créer une instance de connexion privée (PSA).
    • --public-ip-enabled active l'adresse IP publique.
    • --no-public-ip-enabled désactive l'adresse IP publique.
    • --async est recommandé lorsque vous créez une instance Looker (Google Cloud Core).
  3. Vous pouvez ajouter d'autres paramètres pour appliquer d'autres paramètres d'instance :

    [--maintenance-window-day=MAINTENANCE_WINDOW_DAY
          --maintenance-window-time=MAINTENANCE_WINDOW_TIME]
    [--deny-maintenance-period-end-date=DENY_MAINTENANCE_PERIOD_END_DATE
          --deny-maintenance-period-start-date=DENY_MAINTENANCE_PERIOD_START_DATE
          --deny-maintenance-period-time=DENY_MAINTENANCE_PERIOD_TIME]
    [--kms-key=KMS_KEY_ID]
    [--fips-enabled]
    
    Remplacez les éléments suivants :

    • MAINTENANCE_WINDOW_DAY : doit être l'une des valeurs suivantes : friday, monday, saturday, sunday, thursday, tuesday, wednesday. Pour en savoir plus sur les paramètres des intervalles de maintenance, consultez la page de documentation Gérer les règles de maintenance pour Looker (Google Cloud Core).
    • MAINTENANCE_WINDOW_TIME et DENY_MAINTENANCE_PERIOD_TIME : doivent être au format UTC sur 24 heures (par exemple, 13:00, 17:45).
    • DENY_MAINTENANCE_PERIOD_START_DATE et DENY_MAINTENANCE_PERIOD_END_DATE : doivent être au format YYYY-MM-DD.
    • KMS_KEY_ID : doit être la clé créée lors de la configuration des clés de chiffrement gérées par le client (CMEK).

    Vous pouvez inclure l'option --fips-enabled pour activer la conformité au niveau 1 de la norme FIPS 140-2.

Pendant la création de l'instance, vous pouvez consulter son état sur la page Instances de la console. Vous pouvez également consulter votre activité de création d'instances en cliquant sur l'icône de notifications dans le menu de la console Google Cloud .

Si vous créez une instance avec accès aux services privés (PSA) uniquement, aucune URL ne s'affichera sur la page Instances. Pour savoir comment configurer l'accès à votre instance de connexions privées (PSA), consultez la section Accéder à une instance de connexions privées (PSA) après sa création.

Accéder à une instance de connexion privée (PSA) après sa création

Si vous créez une instance activée uniquement pour les connexions privées (PSA), vous ne recevrez pas d'URL pour l'instance. Pour accéder à l'instance, vous devez configurer un domaine personnalisé pour celle-ci et l'ajouter aux identifiants OAuth de l'instance. Pour comprendre les différentes options de mise en réseau des connexions privées permettant de configurer un domaine personnalisé et d'y accéder, consultez la page de documentation Options de mise en réseau des domaines personnalisés pour les instances Looker (Google Cloud Core) avec connexions privées.

Étapes suivantes