Introdução
Neste artigo, passarei pelo processo de configuração de uma instância do AWS RDS MySQL depois de configurar o grupo de segurança e conectá -lo ao seu aplicativo de inicialização de primavera e testar a conexão.
Etapa 1: Crie um novo grupo de segurança
Antes de configurar a instância do RDS, você precisa garantir que a instância esteja acessível. Você pode fazer isso configurando um grupo de segurança AWS . O grupo de segurança atua como um firewall virtual para controlar o tráfego de entrada e saída.
-
Access AWS Console : vá para o EC2 Dashboard > Grupos de segurança > Criar Grupo de Segurança .
-
regras de entrada :
- escolha o tipo como mysql/aurora (porque estou planejando usar o mysql), que abre a porta 3306 (porta padrão do mysql).
Defina o - fonte para o meu IP, ele obterá automaticamente seu endereço IP para se conectar com a instância RDS.
- regras outbound :
SET para permitir que todo o tráfego garantisse que a instância possa se comunicar livremente com outros recursos. -
Depois que o grupo de segurança estiver configurado, siga em frente para configurar a instância
rds .
Etapa 2: Configurar RDS Instância
- escolha o mecanismo de banco de dados : neste caso, selecione mysql .
- Escolha um modelo : Para simplificar, você pode usar o de forma gratuita porque vou configurar um aplicativo de demonstração.
- Configurar DB Instância :
SELECT - Single DB Instância (se você não precisar de alta disponibilidade).
define - DB Instância Identifier , mestre nome de usuário (usei o nome padrão "admin") e senha .
- escolha uma classe de instância de db :
selecionei db.t3.micro (opção de recursos mínimos) porque não precisa de mais CPU ou RAM. -
- escolha um tipo de armazenamento :
SSD de propósito geral e valor de armazenamento de 20 GB o suficiente para o meu aplicativo de demonstração. -
NOTA: Não preciso de uma instância EC2 específica para este banco de dados porque não há necessidade de alocar recursos de computação.
Depois de definir essas configurações, clique em
Crie banco de dados para iniciar o fornecimento da instância RDS. Levará alguns minutos para a criação.
Etapa 3: Configurar o aplicativo de inicialização da primavera
!
Não vou mergulhar profundamente na inicialização da primavera, apenas mostro alguns arquivos e configurações Java para obter uma ideia. Se você é novo no Spring Boot, obtenha uma ideia básica sobre os aplicativos de inicialização da primavera antes dessa implementação.
3.1. Atualizar Application.Properties
No seu projeto de inicialização da primavera, você precisará adicionar os detalhes de conexão do banco de dados necessários no arquivo Application.Properties. A conexão usará o endpoint (sob a conectividade e segurança da instância RDS) junto com as credenciais definidas durante a configuração do RDS.
spring.application.name = DevOps
spring.dataSource.url = jdbc: mysql: // /DevOps
spring.datasource.username = admin
spring.dataSource.password =
spring.jpa.hibernate.ddl-auto = atualização
spring.application.name=DevOps
spring.datasource.url=jdbc:mysql:///devops
spring.datasource.username=admin
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update
spring.dataSource.url
: Este é o URL da sua instância RDS (substitua o host pelo ponto de extremidade RDS real que você recebeu). -
spring.dataSource.username
: o - admin ou o nome de usuário mestre que você configurou durante o setup.
spring.dataSource.password
: a senha que você configurou para sua instância RDS. -
spring.jpa.hibernate.ddl-auto
: defina - update para atualizar automaticamente seu esquema (ideal para desenvolvimento).
3.2. Adicione a dependência do MySQL
!
para maven:
mysql
mysql-conector-java
para gradle:
mysql
mysql-connector-java
NOTA: Verifique se você adiciona a dependência Spring-Boot-Starter-Data-JPA também.
implementation 'mysql:mysql-connector-java'
agora você pode definir sua entidade JPA e o repositório correspondente. Por exemplo, para criar um usuário
User entidade:
@Entidade
Public Class User {
@Eu ia
@GeneratedValue (estratégia = generationType.Identity)
Private Long Id;
nome de string privado;
e -mail privado de string;
}
e uma interface repositório:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
}
Etapa 4: Crie um controlador de repouso simples
spring.application.name=DevOps
spring.datasource.url=jdbc:mysql:///devops
spring.datasource.username=admin
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update
Crie um controlador para lidar com solicitações relacionadas ao
user entity. O código a seguir mostra como criar um método de postagem simples para salvar dados do usuário:
@RestController
@RequestMapping ("/Usuário")
classe pública UserController {
@Autowired
Usuários Service Service privado;
@PostMapping
public String saveUser (usuário do usuário do @RequestBody) {
tentar {
UserService.SaveUser (Usuário);
retornar "sucesso!";
} catch (Exceção e) {
retorno e.getMessage ();
}
}
}
A classe UserService lida com salva os dados no banco de dados.
@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();
}
}
}
Etapa 5: Verificando a conexão no mysql workbench
spring.application.name=DevOps
spring.datasource.url=jdbc:mysql:///devops
spring.datasource.username=admin
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update
você pode verificar a conexão usando
mysql workbench para conectar -se à instância do AWS RDS. Digite os detalhes da conexão da seguinte forma:
host : o terminal da sua instância RDS.
- nome de usuário : o nome de usuário do admin.
- senha : a senha definida para o seu banco de dados.
- porta : 3306.
- Uma vez conectado, você pode navegar nos bancos de dados e tabelas para confirmar que seu aplicativo de inicialização de primavera está interagindo com o banco de dados MySQL.
Etapa 6: Testando com Postman
você pode testar o endpoint da postagem usando
postman . Envie um post
solicitação para http: // localhost: 8080/usuário com um corpo json:
{
"Nome": "teste",
"E -mail": "[email protected]"
}
você deve ver uma resposta
"sucessão!"
se tudo estiver configurado corretamente.
{
"name": "test",
"email": "[email protected]"
}
Conclusão
agora você conectou com sucesso seu aplicativo de inicialização de primavera a uma instância do AWS RDS MySQL. Seguindo as etapas acima, você foi capaz de:
Configure uma instância do AWS RDS para MySql.
Configure os grupos de segurança necessários para controle de acesso.
conecte seu aplicativo de inicialização de mola à instância RDS via jdbc. -
Teste a configuração enviando solicitações de postagem através do Postman e verificando as entradas do banco de dados. -
- Esta configuração garante um back -end de banco de dados contínuo e escalável para o seu aplicativo de inicialização de primavera hospedado na AWS.
- avise -me se precisar de mais assistência ou se tiver alguma idéia para melhorar a configuração!
Obrigado!