[JAVA] 3. Erstellen Sie eine Datenbank für den Zugriff über das Webmodul

Einführung

Dieser Artikel ist eine Fortsetzung von 2 unten.

  1. Java-Webmodul schnell mit Google Kubernetes Engine (GKE) ausführen
  2. Docker-Image erstellen und Registrierung registrieren
  3. Erstellen einer Datenbank, auf die über das Webmodul zugegriffen wird
  4. Manifest erstellen und Webmodul ausführen (https://qiita.com/Turtle-child-No2/items/23982059d188e44618df)

3-1. Erstellen einer Datenbank

Schritt 3-1.1

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". 020.png 021.png

Schritt 3-1.2

Klicken Sie dann auf "PostgreSQL". 022.png

Schritt 3-1.3

Geben Sie im Detailbildschirm "sample-app-ist" als Instanz-ID und "123456" als Standardbenutzerkennwort ein. 023.png

Schritt 3-1.4

Klicken Sie dann auf Konfigurationsoptionen anzeigen. 024.png

Schritt 3-1.5

Überprüfen Sie Ihre private IP. 025.png

Schritt 3-1.6

Wenn der Detailbildschirm angezeigt wird, klicken Sie auf "API aktivieren". 026.png

Schritt 3-1.7

Klicken Sie auf "Erstellen". 027.png

Schritt 3-1.8

Nach einer Weile wurde die Datenbankinstanz erstellt. 028.png

Schritt 3-1.9

Klicken Sie dann auf die Datenbankinstanz und dann im Detailbildschirm auf die Datenbank. Klicken Sie dann auf "Datenbank erstellen". 029.png

Schritt 3-1.10

Geben Sie als Datenbanknamen "sample-app-db" ein und klicken Sie auf "Erstellen". 030.png

Schritt 3-1.11

Die Datenbank wurde erstellt. 031.png

Schritt 3-1.12

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.

Schritt 3-1.13

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".

Schritt 3-1.14

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

Schritt 3-1.15

Überprüfen Sie die erstellte Tabelle.

sample-app-db=> \dt
           List of relations
 Schema |   Name   | Type  |   Owner
--------+----------+-------+-----------
 public | t_sample | table | proxyuser
(1 row)

3-2. Einstellungen erforderlich, um eine Verbindung zur Datenbankinstanz herzustellen

Schritt 3-2.1

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).

Schritt 3-2.2

Geben Sie "Wählen Sie ein Projekt aus, um die Anwendung zu registrieren" aus und klicken Sie auf "Weiter". 034.png

Schritt 3-2.3

Die Cloud SQL-Verwaltungs-API ist jetzt aktiviert. Klicken Sie auf Abbrechen, um dem Projekt Anmeldeinformationen hinzuzufügen. 036.png

Schritt 3-2.4

Klicken Sie dann auf IAM & Administration-> Service Accounts.

Schritt 3-2.5

Klicken Sie auf Dienstkonto erstellen. 033.png

Schritt 3-2.6

Geben Sie als Dienstkontonamen "sample-app-db-client" ein und klicken Sie auf "Erstellen". 037.png

Schritt 3-2.7

Geben Sie Cloud SQL Client für die Rolle ein und klicken Sie auf Weiter. 038.png

Schritt 3-2.8

Klicken Sie abschließend auf "Schlüssel erstellen". 040.png

Schritt 3-2.9

Stellen Sie sicher, dass im Detailbildschirm "JSON" ausgewählt ist, und klicken Sie auf "Erstellen". 041.png

Schritt 3-2.10

Die JSON-Datei wird in Ihren Browser heruntergeladen. 042.png

Schritt 3-2.11

Laden Sie die heruntergeladene JSON-Datei in Ihren Browser hoch. 043.png

Schritt 3-2.12

Ü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

Schritt 3-2.13

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

Schritt 3-2.14

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

3. Erstellen Sie eine Datenbank für den Zugriff über das Webmodul
[JDBC] Ich habe versucht, von Java aus auf die SQLite3-Datenbank zuzugreifen.
So erstellen Sie ein Formular zur Auswahl eines Datums aus dem Kalender
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
[Java / PostgreSQL] Verbinden Sie die WEB-Anwendung mit der Datenbank
Der Weg zum Erstellen eines Webdienstes (Teil 1)
Sie können die Version der Projektfacette nicht von einem dynamischen Webmodul in x.x ändern. Wie man damit umgeht
So erstellen Sie eine Route direkt aus der URL, die Sie + α angeben möchten
Lernen Sie beim Erstellen eines WEB-Servers die Einführung in die Entwicklung von WEB-Anwendungen anhand der Grundlagen
So erstellen Sie eine JDBC-URL (Oracle Database, Thin)
Verwenden der Datenbank (SQL Server 2014) aus einem Java-Programm 2018/01/04
Kotlin kann die Welt von der App ins Web bringen
So erstellen Sie eine Methode
So erstellen Sie ein Platzhalterteil zur Verwendung in der IN-Klausel
Ich möchte ein Formular erstellen, um die Kategorie [Schienen] auszuwählen
Erstellen Sie eine Methode, um den Steuersatz in Java zurückzugeben
[Docker] Zugriff auf den Host aus dem Container heraus. http: //host.docker.internal:
So erstellen Sie eine JAR-Datei und eine War-Datei mit dem Befehl jar
Wechseln Sie dynamisch die Datenbank, zu der eine Verbindung hergestellt werden soll
Vorbereiten der Erstellung einer Rails-Anwendung
Erstellen Sie eine Datenquelle (Verbindungspool), die eine Verbindung von WLS (RAID) zur autonomen Datenbank (ATP / ADW) herstellt.
Erstellen Sie eine Datenbank in einer Produktionsumgebung
Herstellen einer Verbindung zu einer Datenbank mit Java (Teil 1) Möglicherweise die grundlegende Methode
Greifen Sie über eine Java-Anwendung auf Teradata zu
Greifen Sie von einem Java-Client aus auf das speicherinterne Datenraster Apache Ignite zu
Einfache Möglichkeit zum Erstellen einer Zuordnungsklasse bei Verwendung der API
So führen Sie das Kotlin Coroutine-Beispiel über die Befehlszeile aus
Überprüfen Sie die H2-Datenbank im Web
Versuchen Sie, eine Server-Client-App zu erstellen
Versuchen Sie, aus der Kachel des Geographical Institute eine dreidimensionale CS-Zeichnungskachel zu erstellen
So erstellen Sie einen Webserver auf einer EC2-Instanz von AWS
Der Weg von JavaScript nach Java
Erstellen Sie einen Kalender aus der Kalenderklasse, indem Sie das Jahr und den Monat angeben
(Ruby on Rails6) Erstellen Sie eine Funktion zum Bearbeiten des veröffentlichten Inhalts
Drei Gründe für Frustration vor der Veröffentlichung von Web Services
[JDBC] Ich habe versucht, den SQLite3-Datenbankzugriff von Java in eine Methode für jede SQL-Anweisung umzuwandeln.
Eine Geschichte über den Wechsel von Fähigkeiten von COBOL, das Ende der 20er Jahre 5 Jahre lang gepflegt wurde, zu einer Web-Sprache
Aktualisieren Sie JAVA auf die neueste Version auf 1.8.0_144 (beim Herunterladen aus dem Internet und Aktualisieren)
Die Geschichte des Jobwechsels von einem christlichen Pastor (Lehrling) zu einem Webingenieur
Zurückgeben eines Werts vom Modell an den Controller mithilfe des [Swift5] -Protokolls
So führen Sie eine GIF-Datei über die Linux-Befehlszeile aus (Ubuntu)
Erstellen Sie eine U-Bahn-Karte von Tokio aus der CSV-Datei von station data.jp
So erstellen Sie eine Zip-Datei beim Gruppieren von Datenbanksuchergebnissen in Java
Ich möchte mit Jakarta EE 8 mit Java 11 ein dunkles Web-SNS erstellen
Führen Sie x11-Apps in einem Docker-Container aus (unterstützt den Netzwerkzugriff vom Container aus).
So erhalten Sie den Einstellungswert (Eigenschaftswert) aus der Datenbank in Spring Framework
Gorigori SIer SE hat versucht, durch persönliche Entwicklung einen Webdienst zu erstellen
[Schienen] So erstellen Sie eine Tabelle, fügen eine Spalte hinzu und ändern den Spaltentyp
Umfang des Versuchs, eine Java-Webanwendung unter Windows Server 2016 zu erstellen
Ich möchte eine Webanwendung entwickeln!
Erstellen Sie mit Docker schnell eine Webumgebung
4. Erstellen eines Manifests und Ausführen eines Webmoduls
Erstellen Sie mit dem Befehl eine JAR-Datei
Untersuchen Sie den Ersatz von Docker zu Podman.