この記事では、セキュリティ グループを設定して Spring Boot アプリケーションに接続した後に AWS RDS MySQL インスタンスをセットアップし、接続をテストするプロセスについて説明します。
RDS インスタンスを設定する前に、インスタンスがアクセス可能であることを確認する必要があります。これを行うには、AWS セキュリティ グループ を設定します。セキュリティ グループは、受信トラフィックと送信トラフィックを制御する仮想ファイアウォールとして機能します。
セキュリティ グループを設定したら、RDS インスタンスの構成に進みます。
注: コンピューティング リソースを割り当てる必要がないため、この DB に特定の EC2 インスタンスは必要ありません。
これらの設定を構成した後、[データベースの作成] をクリックして RDS インスタンスのプロビジョニングを開始します。作成には数分かかります。
RDS MySQL インスタンスが起動して実行されているので、それに接続するための Spring Boot アプリケーションの構成に進むことができます。
Spring Boot について詳しく説明するつもりはありません。アイデアを得るために、いくつかの Java ファイルと構成を示すだけです。 Spring Boot を初めて使用する場合は、実装する前に Spring Boot アプリケーションについての基本的な概念を理解してください。
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
Maven の場合は pom.xml に、Gradle の場合は build.gradle に MySQL ドライバーの依存関係があることを確認してください。
Maven の場合:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
Gradle の場合:
implementation 'mysql:mysql-connector-java'
注: spring-boot-starter-data-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> { }
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 クラスは、データベースへのデータの保存を処理します。
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
MySQL Workbench を使用して AWS RDS インスタンスに接続することで、接続を確認できます。次のように接続の詳細を入力します:
接続したら、データベースとテーブルを参照して、Spring Boot アプリケーションが MySQL データベースと対話していることを確認できます。
Postman を使用して POST エンドポイントをテストできます。 JSON 本文を使用して POST リクエストを http://localhost:8080/user に送信します:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
すべてが正しく設定されている場合、「Success!」 という応答が表示されるはずです。
これで、Spring Boot アプリケーションが AWS RDS MySQL インスタンスに正常に接続されました。上記の手順に従うことで、次のことが可能になりました。
このセットアップにより、AWS でホストされる Spring Boot アプリケーションのシームレスでスケーラブルなデータベース バックエンドが保証されます。
さらにサポートが必要な場合、またはセットアップを改善するためのアイデアがある場合はお知らせください。
ありがとうございます!
以上がAWS RDS を Spring Boot に接続するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。