Cet article est la suite de 2 ci-dessous.
Créez une base de données à laquelle accéder à partir du module Web. Cliquez sur SQL dans le menu latéral. Lorsque l'écran des détails apparaît, cliquez sur "Créer une instance".
Cliquez ensuite sur "PostgreSQL".
Sur l'écran des détails, saisissez "sample-app-ist" pour l'ID d'instance et "123456" pour le mot de passe utilisateur par défaut.
Cliquez ensuite sur Afficher les options de configuration.
Vérifiez votre adresse IP privée.
Si l'écran des détails s'affiche, cliquez sur "Activer l'API".
Cliquez sur "Créer".
Après un certain temps, l'instance de base de données a été créée.
Cliquez ensuite sur l'instance de la base de données puis sur l'écran de détails, cliquez sur la base de données. Cliquez ensuite sur "Créer une base de données".
Entrez "sample-app-db" comme nom de la base de données et cliquez sur "Créer".
La base de données a été créée.
Connectez-vous immédiatement à l'instance de base de données. Entrez «123456» lorsque vous êtes invité à entrer un mot de passe.
[userid]@cloudshell:~ ([project_id])$ sudo gcloud sql connect sample-app-ist --user=postgres
Whitelisting your IP for incoming connection for 5 minutes...done.
Connecting to database with SQL user [postgres].Password for user postgres:
psql (9.6.11, server 9.6.10)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128, compression: off)
Type "help" for help.
Étant donné que la base de données cible de l'opération est postgres, basculez vers l'exemple de base de données exemple créé précédemment. Entrez «123456» lorsque vous êtes invité à entrer un mot de passe.
postgres=> \connect sample-app-db
Password for user postgres:
psql (9.6.11, server 9.6.10)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128, compression: off)
You are now connected to database "sample-app-db" as user "postgres".
Créez ensuite un proxyuser pour une utilisation ultérieure et donnez-lui la connexion et les autorisations sur la base de données. Après être passé à proxyuser (entrez "123456" lorsqu'on vous demande un mot de passe), créez une table t_sample et insérez une donnée de test.
sample-app-db=> CREATE ROLE proxyuser WITH LOGIN PASSWORD '123456';
CREATE ROLE
sample-app-db=> GRANT CONNECT ON DATABASE "sample-app-db" TO proxyuser;
sample-app-db=> \connect - proxyuser
Password for user proxyuser:
psql (9.6.11, server 9.6.10)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128, compression: off)
You are now connected to database "sample-app-db" as user "proxyuser".
sample-app-db=> CREATE TABLE t_sample (order_no BIGINT NOT NULL, cre_dt TIMESTAMP NOT NULL default CURRENT_TIMESTAMP, nickname VARCHAR(30), order_id VARCHAR(5000));
CREATE TABLE
sample-app-db=> INSERT INTO t_sample (order_no, cre_dt, nickname, order_id) VALUES (1, '1999-01-08 04:05:06', 'tester', 'ABC');
INSERT 0 1
Vérifiez la table créée.
sample-app-db=> \dt
List of relations
Schema | Name | Type | Owner
--------+----------+-------+-----------
public | t_sample | table | proxyuser
(1 row)
Définissez les paramètres nécessaires pour vous connecter depuis GKE à l'instance de base de données. Tout d'abord, cliquez sur Activer l'API d'administration Cloud SQL (https://console.cloud.google.com/flows/enableapi?apiid=sqladmin&hl=ja&_ga=2.250044038.-1219564708.1545700047).
Entrez "Sélectionnez un projet pour enregistrer l'application" et cliquez sur "Continuer".
L'API d'administration Cloud SQL est désormais activée. Cliquez sur Annuler pour ajouter des informations d'identification au projet.
Cliquez ensuite sur IAM et administration-> Comptes de service.
Cliquez sur Créer un compte de service.
Entrez "sample-app-db-client" comme nom de compte de service et cliquez sur "Créer".
Saisissez Cloud SQL Client pour le rôle et cliquez sur Continuer.
Enfin, cliquez sur "Créer une clé".
Assurez-vous que "JSON" est sélectionné sur l'écran des détails et cliquez sur "Créer".
Le fichier JSON sera téléchargé sur votre navigateur.
Téléchargez le fichier JSON téléchargé dans votre navigateur.
Vérifiez si le fichier a été téléchargé.
[userid]@cloudshell:~ ([project_id])$ ls -Fal
-rw-r--r-- 1 [userid] xxxxxxx 2361 Mar 10 09:25 [project_id]-xxxxxxxxxxxx.json
Créez un secret en spécifiant le JSON que vous avez téléchargé précédemment.
[userid]@cloudshell:~ ([project_id])$ kubectl create secret generic cloudsql-instance-credentials --from-file=credentials.json=[project_id]-xxxxxxxxxxxx.json
secret "cloudsql-instance-credentials" created
Créez un secret en spécifiant l'utilisateur et le mot de passe que Cloud Sql Proxy utilisera pour accéder à la base de données.
[userid]@cloudshell:~ ([project_id])$ kubectl create secret generic cloudsql-db-credentials --from-literal=username=proxyuser --from-literal=password=123456
secret "cloudsql-db-credentials" created
c'est tout