En este artículo, recorreré el proceso de configuración de una instancia de AWS RDS MySQL después de configurar el grupo de seguridad y conectarlo a su aplicación de arranque de Spring, y probar la conexión.
Antes de configurar la instancia RDS, debe asegurarse de que la instancia sea accesible. Puede hacer esto configurando un grupo de seguridad AWS . El grupo de seguridad actúa como un firewall virtual para controlar el tráfico entrante y saliente.
Una vez configurado el grupo de seguridad, continúe para configurar la instancia rds .
Nota: No necesito una instancia de EC2 específica para este DB porque no hay necesidad de asignar recursos de cómputo.
Después de configurar estas configuraciones, haga clic en Crear base de datos para comenzar a aprovisionar la instancia RDS. Tomará un par de minutos para la creación.
Ahora que su instancia RDS MySQL está en funcionamiento, puede proceder a configurar su aplicación Spring Boot para conectarse a ella.
No voy a sumergir profundamente en Spring Boot, solo muestro algunos archivos y configuraciones Java para obtener una idea. Si es nuevo en Spring Boot, obtenga una idea básica sobre las aplicaciones de arranque de Spring antes de esa implementación.
En su proyecto Spring Boot, deberá agregar los detalles de conexión de la base de datos necesaria en el archivo Application.Properties. La conexión utilizará el punto final (en la instancia de conectividad y seguridad de RDS) junto con las credenciales establecidas durante la configuración de RDS.
spring.application.name=DevOps spring.datasource.url=jdbc:mysql:///devops spring.datasource.username=admin spring.datasource.password= spring.jpa.hibernate.ddl-auto=update
asegúrese de tener la dependencia del controlador MySQL en su pom.xml para maven o build.gradle para gradle.
para maven:
mysql mysql-connector-java
para gradle:
implementation 'mysql:mysql-connector-java'
Nota: Asegúrese de agregar la dependencia de Spring-Boot-Starter-Data-JPA también.
ahora puede definir su entidad JPA y el repositorio correspondiente. Por ejemplo, para crear una entidad user :
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email;}
y una interfaz de repositorio:
@Repository public interface UserRepository extends JpaRepository{ }
cree un controlador para manejar solicitudes relacionadas con la entidad user . El siguiente código muestra cómo crear un método de publicación simple para guardar los datos del usuario:
@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(); } } }
La clase UserService maneja guardando los datos en la base de datos.
@Service public class UserService { @Autowired private UserRepository userRepository; public void saveUser(User user) { userRepository.save(user); } }
puede verificar la conexión usando mysql workbench para conectarse a la instancia de AWS RDS. Ingrese los detalles de la conexión de la siguiente manera:
Una vez conectado, puede explorar las bases de datos y las tablas para confirmar que su aplicación de arranque de Spring está interactuando con la base de datos MySQL.
puede probar el punto final post usando postman . Enviar una solicitud post a http: // localhost: 8080/user con un cuerpo json:
{ "name": "test", "email": "[email protected]" }
debe ver una respuesta "¡éxito!" si todo está configurado correctamente.
ahora ha conectado con éxito su aplicación Spring Boot a una instancia de AWS RDS MySQL. Siguiendo los pasos anteriores, pudo:
Esta configuración garantiza un backend de la base de datos perfecto y escalable para su aplicación Spring Boot alojada en AWS.
Avíseme si necesita más ayuda o si tiene alguna idea para mejorar la configuración!
¡Gracias!
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3