여기서 rds proxy 쓰는 버전으로는?

가능해. 다만 과제 필수는 아니고, 기본 요구사항은 EC2 → RDS 구조라서 RDS Proxy를 추가하는 건 선택사항으로 보는 게 맞아. 문제지에는 DB를 MySQL 호환 RDS/Aurora, VPC-2에 배치하고, EC2가 Peering 통해 접속해야 한다고 되어 있고, 시크릿 /secret/db 를 통해 접속 정보를 읽게 되어 있어.

핵심은 테이블은 똑같이 users 하나라는 거야.

RDS Proxy를 쓰더라도 DB 스키마는 안 바뀌어.

테이블

CREATE DATABASE worldpay;
USE worldpay;

CREATETABLE users (
    idINT AUTO_INCREMENTPRIMARYKEY,
    emailVARCHAR(255)UNIQUENOTNULL,
    nameVARCHAR(100)NOTNULL,
    passwordVARCHAR(255)NOTNULL,
    activeBOOLEANDEFAULTTRUE
);

이건 그대로야.

RDS Proxy 버전에서 바뀌는 점

바뀌는 건 앱 접속 대상뿐이야.

원래:

Proxy 버전:

/secret/db 의 JSON에서 DB_HOST 만 프록시 주소로 바꾸면 돼.

예:

{
  "DB_HOST":"my-proxy.proxy-xxxx.ap-northeast-2.rds.amazonaws.com",
  "DB_PORT":"3306",
  "DB_NAME":"worldpay",
  "DB_USERNAME":"admin",
  "DB_PASSWORD":"your-password"
}

main.py/secret/db 에서 DB_HOST, DB_PORT, DB_NAME, DB_USERNAME, DB_PASSWORD 를 읽어 SQLAlchemy 연결 문자열을 만들기 때문에, 코드 수정 없이 Proxy 엔드포인트로 우회할 수 있어.

구성 흐름

Proxy 버전 흐름은 이렇게 돼: