Dieser Artikel ist eine Fortsetzung von 2 unten.
Erstellen Sie eine Datenbank für den Zugriff über das Webmodul. Klicken Sie im Seitenmenü auf SQL. Wenn der Detailbildschirm angezeigt wird, klicken Sie auf "Instanz erstellen".
Klicken Sie dann auf "PostgreSQL".
Geben Sie im Detailbildschirm "sample-app-ist" als Instanz-ID und "123456" als Standardbenutzerkennwort ein.
Klicken Sie dann auf Konfigurationsoptionen anzeigen.
Überprüfen Sie Ihre private IP.
Wenn der Detailbildschirm angezeigt wird, klicken Sie auf "API aktivieren".
Klicken Sie auf "Erstellen".
Nach einer Weile wurde die Datenbankinstanz erstellt.
Klicken Sie dann auf die Datenbankinstanz und dann im Detailbildschirm auf die Datenbank. Klicken Sie dann auf "Datenbank erstellen".
Geben Sie als Datenbanknamen "sample-app-db" ein und klicken Sie auf "Erstellen".
Die Datenbank wurde erstellt.
Stellen Sie sofort eine Verbindung zur Datenbankinstanz her. Geben Sie "123456" ein, wenn Sie zur Eingabe eines Passworts aufgefordert werden.
[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.
Da die Operationszieldatenbank postgres ist, wechseln Sie zu der zuvor erstellten Beispiel-App-Datenbank. Geben Sie "123456" ein, wenn Sie zur Eingabe eines Passworts aufgefordert werden.
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".
Erstellen Sie dann einen Proxy-Benutzer für die spätere Verwendung und geben Sie ihm Verbindung und Berechtigungen zur Datenbank. Erstellen Sie nach dem Wechsel zum Proxy-Benutzer (geben Sie "123456" ein, wenn Sie nach einem Kennwort gefragt werden) eine t_sample-Tabelle und fügen Sie eine Testdaten ein.
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', 'Prüfung', 'ABC');
INSERT 0 1
Überprüfen Sie die erstellte Tabelle.
sample-app-db=> \dt
List of relations
Schema | Name | Type | Owner
--------+----------+-------+-----------
public | t_sample | table | proxyuser
(1 row)
Nehmen Sie die erforderlichen Einstellungen vor, um eine Verbindung von GKE zur Datenbankinstanz herzustellen. Klicken Sie zunächst auf Cloud SQL-Verwaltungs-API aktivieren (https://console.cloud.google.com/flows/enableapi?apiid=sqladmin&hl=ja&_ga=2.250044038.-1219564708.1545700047).
Geben Sie "Wählen Sie ein Projekt aus, um die Anwendung zu registrieren" aus und klicken Sie auf "Weiter".
Die Cloud SQL-Verwaltungs-API ist jetzt aktiviert. Klicken Sie auf Abbrechen, um dem Projekt Anmeldeinformationen hinzuzufügen.
Klicken Sie dann auf IAM & Administration-> Service Accounts.
Klicken Sie auf Dienstkonto erstellen.
Geben Sie als Dienstkontonamen "sample-app-db-client" ein und klicken Sie auf "Erstellen".
Geben Sie Cloud SQL Client für die Rolle ein und klicken Sie auf Weiter.
Klicken Sie abschließend auf "Schlüssel erstellen".
Stellen Sie sicher, dass im Detailbildschirm "JSON" ausgewählt ist, und klicken Sie auf "Erstellen".
Die JSON-Datei wird in Ihren Browser heruntergeladen.
Laden Sie die heruntergeladene JSON-Datei in Ihren Browser hoch.
Überprüfen Sie, ob die Datei hochgeladen wurde.
[userid]@cloudshell:~ ([project_id])$ ls -Fal
-rw-r--r-- 1 [userid] xxxxxxx 2361 Mar 10 09:25 [project_id]-xxxxxxxxxxxx.json
Erstellen Sie ein Geheimnis, indem Sie den zuvor hochgeladenen JSON angeben.
[userid]@cloudshell:~ ([project_id])$ kubectl create secret generic cloudsql-instance-credentials --from-file=credentials.json=[project_id]-xxxxxxxxxxxx.json
secret "cloudsql-instance-credentials" created
Erstellen Sie ein Geheimnis, indem Sie den Benutzer und das Kennwort angeben, mit denen Cloud SQL Proxy auf die Datenbank zugreift.
[userid]@cloudshell:~ ([project_id])$ kubectl create secret generic cloudsql-db-credentials --from-literal=username=proxyuser --from-literal=password=123456
secret "cloudsql-db-credentials" created
das ist alles
Recommended Posts