Heim >Datenbank >MySQL-Tutorial >Verbinden von AWS RDS mit Spring Boot

Verbinden von AWS RDS mit Spring Boot

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-11 04:22:14931Durchsuche

Einführung

In diesem Artikel werde ich durch den Prozess der Einrichtung einer AWS RDS MySQL-Instanz gehen, nachdem ich die Sicherheitsgruppe konfiguriert und sie mit Ihrer Spring Boot-Anwendung verbunden und die Verbindung getestet habe.

Schritt 1: Erstellen Sie eine neue Sicherheitsgruppe

Bevor Sie die RDS-Instanz einrichten, müssen Sie sicherstellen, dass auf die Instanz zugegriffen werden kann. Sie können dies tun, indem Sie eine AWS Sicherheitsgruppe konfigurieren. Die Sicherheitsgruppe fungiert als virtuelle Firewall zur Kontrolle des ein- und ausgehenden Datenverkehrs.

  • Auf die AWS-Konsole zugreifen: Gehen Sie zum EC2-Dashboard > Sicherheitsgruppen > Sicherheitsgruppe erstellen.
  • Eingehende Regeln:
    • Wählen Sie den Typ MYSQL/Aurora (da ich vorhabe, MySQL zu verwenden), wodurch Port 3306 (MySQL-Standardport) geöffnet wird.
    • Stellen Sie die Quelle auf „Meine IP“ ein, dann wird Ihre IP-Adresse automatisch abgerufen, um eine Verbindung mit der RDS-Instanz herzustellen.
  • Ausgehende Regeln:
    • Legen Sie fest, dass der gesamte Datenverkehr zugelassen wird, um sicherzustellen, dass die Instanz frei mit anderen Ressourcen kommunizieren kann.

Connecting AWS RDS to Spring Boot

Connecting AWS RDS to Spring Boot

Sobald die Sicherheitsgruppe eingerichtet ist, fahren Sie mit der Konfiguration der RDS-Instanz fort.

Schritt 2: RDS-Instanz konfigurieren

  • Wählen Sie die Datenbank-Engine: Wählen Sie in diesem Fall MySQL.

Connecting AWS RDS to Spring Boot

  • Wählen Sie eine Vorlage: Der Einfachheit halber können Sie die Kostenlose Stufe verwenden, da ich eine Demoanwendung einrichten werde.

Connecting AWS RDS to Spring Boot

  • DB-Instanz einrichten:
    • Wählen Sie Einzelne DB-Instanz (wenn Sie keine hohe Verfügbarkeit benötigen).
    • Definieren Sie DB-Instanz-ID, Master-Benutzernamen (ich habe den Standardnamen „admin“ verwendet) und Passwort.

Connecting AWS RDS to Spring Boot

  • Wählen Sie eine DB-Instance-Klasse:
    • Ich habe db.t3.micro (Option für minimale Ressourcen) ausgewählt, da nicht mehr CPU oder RAM benötigt wird.

Connecting AWS RDS to Spring Boot

  • Wählen Sie einen Speichertyp:
    • Allzweck-SSD und 20 GB Speicher ausreichend für meine Demoanwendung.

Hinweis: Ich benötige keine bestimmte EC2-Instanz für diese Datenbank, da keine Rechenressourcen zugewiesen werden müssen.

Connecting AWS RDS to Spring Boot

Nachdem Sie diese Einstellungen konfiguriert haben, klicken Sie auf Datenbank erstellen, um mit der Bereitstellung der RDS-Instanz zu beginnen. Die Erstellung dauert einige Minuten.

Schritt 3: Spring Boot-Anwendung konfigurieren

Da Ihre RDS-MySQL-Instanz nun betriebsbereit ist, können Sie mit der Konfiguration Ihrer Spring Boot-Anwendung für die Verbindung damit fortfahren.

Ich werde nicht tief in Spring Boot eintauchen, ich zeige nur ein paar Java-Dateien und -Konfigurationen, um eine Vorstellung zu bekommen. Wenn Sie neu bei Spring Boot sind, machen Sie sich bitte vor der Implementierung einen grundlegenden Überblick über Spring Boot-Anwendungen.

3.1. Aktualisieren Sie application.properties

In Ihrem Spring Boot-Projekt müssen Sie die erforderlichen Datenbankverbindungsdetails in der Datei application.properties hinzufügen. Die Verbindung verwendet den Endpunkt (unter der Konnektivität und Sicherheit der RDS-Instanz) zusammen mit den Anmeldeinformationen, die während der RDS-Einrichtung festgelegt wurden.

spring.application.name=DevOps
spring.datasource.url=jdbc:mysql://<End Point>/devops
spring.datasource.username=admin
spring.datasource.password=<Password>
spring.jpa.hibernate.ddl-auto=update
  • spring.datasource.url: Dies ist die URL Ihrer RDS-Instanz (ersetzen Sie den Host durch den tatsächlichen RDS-Endpunkt, den Sie erhalten haben).
  • spring.datasource.username: Der admin-Benutzer oder der Master-Benutzername, den Sie während der Einrichtung konfiguriert haben.
  • spring.datasource.password: Das Passwort, das Sie für Ihre RDS-Instanz konfiguriert haben.
  • spring.jpa.hibernate.ddl-auto: Auf Update setzen, um Ihr Schema automatisch zu aktualisieren (ideal für die Entwicklung).

3.2. MySQL-Abhängigkeit hinzufügen

Stellen Sie sicher, dass Sie die MySQL-Treiberabhängigkeit in Ihrer pom.xml für Maven oder build.gradle für Gradle haben.

Für Maven:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

Für Gradle:

implementation 'mysql:mysql-connector-java'

Hinweis: Stellen Sie sicher, dass Sie auch die Abhängigkeit spring-boot-starter-data-jpa hinzufügen.

3.3. Definieren Sie JPA-Entität und Repository

Sie können jetzt Ihre JPA-Entität und das entsprechende Repository definieren. Um beispielsweise eine Benutzer-Entität zu erstellen:

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;

    <getters, setters and constructions>
}

Und eine Repository-Schnittstelle:

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}

Schritt 4: Erstellen Sie einen einfachen REST-Controller

Erstellen Sie einen Controller, um Anfragen im Zusammenhang mit der Entität Benutzer zu verarbeiten. Der folgende Code zeigt, wie man eine einfache POST-Methode zum Speichern von Benutzerdaten erstellt:

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @PostMapping
    public String saveUser(@RequestBody User user){
        try {
            userService.saveUser(user);
            return "Success!";
        } catch (Exception e) {
            return e.getMessage();
        }
    }
}

Die UserService-Klasse übernimmt das Speichern der Daten in der Datenbank.

spring.application.name=DevOps
spring.datasource.url=jdbc:mysql://<End Point>/devops
spring.datasource.username=admin
spring.datasource.password=<Password>
spring.jpa.hibernate.ddl-auto=update

Schritt 5: Überprüfen der Verbindung in MySQL Workbench

Sie können die Verbindung überprüfen, indem Sie MySQL Workbench verwenden, um eine Verbindung zur AWS RDS-Instanz herzustellen. Geben Sie die Verbindungsdetails wie folgt ein:

  • Host: Der Endpunkt Ihrer RDS-Instanz.
  • Benutzername: Der Administrator-Benutzername.
  • Passwort: Das Passwort, das Sie für Ihre Datenbank festgelegt haben.
  • Port: 3306.

Sobald die Verbindung hergestellt ist, können Sie die Datenbanken und Tabellen durchsuchen, um zu bestätigen, dass Ihre Spring Boot-Anwendung mit der MySQL-Datenbank interagiert.

Connecting AWS RDS to Spring Boot



Schritt 6: Testen mit Postman

Sie können den POST-Endpunkt mit Postman testen. Senden Sie eine POST-Anfrage an http://localhost:8080/user mit einem JSON-Text:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

Sie sollten eine Antwort „Erfolgreich!“ sehen, wenn alles richtig eingerichtet ist.

Connecting AWS RDS to Spring Boot



Fazit

Sie haben Ihre Spring Boot-Anwendung jetzt erfolgreich mit einer AWS RDS MySQL-Instanz verbunden. Durch Befolgen der oben genannten Schritte konnten Sie Folgendes tun:

  • Richten Sie eine AWS RDS-Instanz für MySQL ein.
  • Konfigurieren Sie die erforderlichen Sicherheitsgruppen für die Zugriffskontrolle.
  • Verbinden Sie Ihre Spring Boot-Anwendung über JDBC mit der RDS-Instanz.
  • Testen Sie die Einrichtung, indem Sie POST-Anfragen über Postman senden und die Datenbankeinträge überprüfen.

Dieses Setup gewährleistet ein nahtloses und skalierbares Datenbank-Backend für Ihre auf AWS gehostete Spring Boot-Anwendung.

Lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen oder Ideen zur Verbesserung des Setups haben!

Vielen Dank!
Connecting AWS RDS to Spring Boot

Das obige ist der detaillierte Inhalt vonVerbinden von AWS RDS mit Spring Boot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn