簡介
在本文中,我將逐步介紹在配置安全組并將其連接到 spring boot 應用程序并測試連接后設置 aws rds mysql 實例的過程。
第1步:創建新的安全組
在設置rds實例之前,您需要確保該實例可訪問。您可以通過配置 aws 安全組 來執行此操作。安全組充當虛擬防火墻來控制入站和出站流量。
- 訪問 aws 控制臺:轉至 ec2 儀表板 > 安全組 > 創建安全組。
- 入站規則:
- 出站規則:
- 設置允許所有流量,以保證實例可以與其他資源自由通信。
設置安全組后,繼續配置rds實例。
第 2 步:配置 rds 實例
- 選擇數據庫引擎:在本例中,選擇mysql。
- 選擇模板:為簡單起見,您可以使用免費套餐,因為我將設置一個演示應用程序。
- 選擇數據庫實例類:
- 我選擇了 db.t3.micro(最小資源選項),因為不需要更多 cpu 或 ram。
- 選擇存儲類型:
- 通用 ssd 和 20 gb 存儲價值足以滿足我的演示應用程序的需要。
注意:我不需要此數據庫的特定 ec2 實例,因為不需要分配計算資源。
配置這些設置后,單擊創建數據庫開始配置rds實例。創建需要幾分鐘。
第 3 步:配置 spring boot 應用程序
現在您的 rds mysql 實例已啟動并運行,您可以繼續配置 spring boot 應用程序以連接到它。
我不會深入研究 spring boot,我只是展示一些 Java 文件和配置來了解一下。如果您是 spring boot 的新手,請在實現之前對 spring boot 應用程序有一個基本的了解。
3.1。更新 application.properties
在 spring boot 項目中,您需要在 application.properties 文件中添加必要的數據庫連接詳細信息。連接將使用端點(在 rds 實例的連接性和安全性下)以及 rds 設置期間設置的憑據。
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:這是您的 rds 實例的 url(將主機替換為您收到的實際 rds 端點)。
- spring.datasource.username:admin 用戶或您在設置過程中配置的主用戶名。
- spring.datasource.password:您為 rds 實例配置的密碼。
- spring.jpa.hibernate.ddl-auto:設置為 update 自動更新您的架構(非常適合開發)。
3.2。添加 mysql 依賴
確保您的 pom.xml(對于 maven)或 build.gradle(對于 gradle)具有 mysql 驅動程序依賴項。
對于 maven:
<dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> </dependency>
對于 gradle:
implementation 'mysql:mysql-connector-java'
注意:確保還添加 spring-boot-starter-data-jpa 依賴項。
3.3。定義 jpa 實體和存儲庫
您現在可以定義 jpa 實體和相應的存儲庫。例如,要創建 user 實體:
@entity public class user { @id @generatedvalue(strategy = generationtype.identity) private long id; private string name; private string email; <getters, setters and constructions> }
和存儲庫接口:
@repository public interface userrepository extends jparepository<user, long> { }
第 4 步:創建一個簡單的 rest 控制器
創建一個控制器來處理與user實體相關的請求。以下代碼展示了如何創建一個簡單的 post 方法來保存用戶數據:
@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(); } } }
userservice 類負責將數據保存到數據庫。
@service public class userservice { @autowired private userrepository userrepository; public void saveuser(user user) { userrepository.save(user); } }
第 5 步:驗證 mysql workbench 中的連接
您可以使用 mysql workbench 連接到 aws rds 實例來驗證連接。輸入連接詳細信息如下:
- 主機:您的 rds 實例的端點。
- 用戶名:管理員用戶名。
- 密碼:您為數據庫設置的密碼。
- 端口:3306。
連接后,您可以瀏覽數據庫和表以確認您的 spring boot 應用程序正在與 mysql 數據庫交互。
第 6 步:使用 postman 進行測試
您可以使用postman測試post端點。使用 json 正文向 發送 posthttp://localhost:8080/user 請求:
{ "name": "test", "email": "test@gmail.com" }
如果一切設置正確,您應該會看到一個響應“成功!”。
結論
您現在已成功將 spring boot 應用程序連接到 aws rds mysql 實例。通過執行上述步驟,您能夠:
- 為 mysql 設置 aws rds 實例。
- 配置必要的安全組以進行訪問控制。
- 通過 jdbc 將您的 spring boot 應用程序連接到 rds 實例。
- 通過 postman 發送 post 請求并驗證數據庫條目來測試設置。
此設置可確保為 aws 上托管的 spring boot 應用程序提供無縫且可擴展的數據庫后端。
如果您需要任何進一步的幫助或者您有任何改進設置的想法,請告訴我!
謝謝!