database 인스턴스 생성
스프링부트 적용
build.gradle
implementation 'com.mysql:mysql-connector-j'
application.yml
spring:
datasource:
url: jdbc:mysql://(엔드포인트):(포트번호 3306)/(식별자)?serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
username: (username)
password: (password)
DBeaver 적용
Too many connections(커넥션 관리)
현상: DB관리 툴에 연결하거나 DB와 연결된 새로운 서비스를 배포할 때, “too many connections”가 뜨며 RDS를 이용하지 못하게 될 수 있다.(아래 connection이 꽉차있을 것)

원인: 각 rds 인스턴스마다 연결할 수 있는 최대 횟수(max_connection)에 한계가 있기 때문에 오류가 발생한 것이다. 이 값은 RDS 메모리(ex. t3.micro)에 따라 달라진다.
해결: AWS Console-RDS-파라미터 그룹으로 가서, max_connection 파라미터 값을 올린 새로운 파라미터 그룹을 생성하고, 해당 RDS 인스턴스의 파라미터 그룹을 새로 생성된 그룹으로 변경하고, 데이터베이스 재부팅을 진행한다.


혹은 이미 연결되어 있는 connection을 일부 없앨 수도 있다.
(파라미터를 수정해줄 때, wait_timeout도 함께 조정해줄 수 있다. 클라이언트가 실제로 사용하지 않더라도, 이 값 동안 DB는 계속 커넥션을 붙잡고 있다. → 이는 비효율적이므로 줄여주는 것도 좋다.)
Security Group(Inbound, outbound)
RDS 인스턴스와 연결이 불가능할 경우(cmd에서 ping을 보내는 것도 실패한다면), security group 문제일 수 있다. (←보안 그룹 설정이 현위치에서의 연결을 허용하지 않는 것)
AWS 콘솔 - 해당 database- Security-VPC security groups-Inbound rules-Edit inbound rules→아래와 같은 rule을 추가해준다.(source는 anywhereIPv4를 선택했는데, 0.0.0.0/0이라(보안 위험 야기 주의) custom도 무관)

Restoring at specific time

TABLE 미생성 문제
RDS DB 인스턴스 생성시
jdbc:mysql://db-cheapat9-instance-identifier.cmlb6weeeogc.ap-northeast-2.rds.amazonaws.com:3306/db_cheapat9?serverTimezone=UTC
한 계정(루트 계정)의 AWS 리소스를 다른 사람들도 공유할 수 있도록 IAM 계정을 만들 수 있다.
Root 계정 MFA 설정(현재 적용되어 있다.)
AWS 콘솔- IAM-루트 계정 MFA 추가 - 가상 인증 앱 다운 등의 방식 중 하나를 골라 진행.

IAM 계정 생성+권한 추가
IAM-Users-Create User
User name 작성
Provide user access to the AWS Management Console(optional이지만 선택함)-Usertype은 ‘I want to create an IAM user’로 선택했다.
Console password-직접 지어도 되고, 자동생성해도 된다. 나중에 IAM 계정사용자가 처음 접속할 때 비밀번호를 바꿀 수 있다.
Set permissions- 아래 옵션을 선택하고, permissions policies에서 해당 IAM 계정 사용자에게 주고 싶은 Root 계정에 관한 권한을 선택한다.



이후 생성된 csv 파일의 링크에 접속해서 IAM용 id와 password를 입력하면 사용할 수 있다.
도커 이미지 생성해보기 1편 (feat. Dockerfile)