여기서 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
);
이건 그대로야.
바뀌는 건 앱 접속 대상뿐이야.
원래:
DB_HOST = RDS 엔드포인트Proxy 버전:
DB_HOST = RDS 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 버전 흐름은 이렇게 돼: