13I. RDS DB ์ธ์คํด์ค Read Replica ์์ฑํ๊ธฐ
13I. RDS DB ์ธ์คํด์ค Read Replica ์์ฑํ๊ธฐ ๊ด๋ จ
Read Replica๋ DB ์ธ์คํด์ค์ ์ฝ๊ธฐ ๋ณต์ ๋ณธ์ ๋ง๋ค์ด ์ฑ๋ฅ์ ํฅ์์ ์ฐ์ ๋๋ค(ํ์ฌ Read Replica๋ MySQL๋ง ์ง์ํฉ๋๋ค). ์๋น์ค์์ ์ฝ๊ธฐ ์์ฃผ์ ์์ ์ด ๋ง์ ๊ฒฝ์ฐ Read Replica๋ฅผ ์ฌ๋ฌ ๊ฐ(์ต๋ 5๊ฐ) ๋ง๋ค์ด ๋ถํ๋ฅผ ๋ถ์ฐํ ์ ์์ต๋๋ค. ์ฆ ์ฐ๊ธฐ ์์ ์ ๋ง์คํฐ DB ์ธ์คํด์ค์ ํ๊ณ ์ฝ๊ธฐ ์์ ์ Read Replica์ธ ์ฌ๋ ์ด๋ธ DB ์ธ์คํด์ค์์ ์ค์ํ๋ค๋ฉด ๋ง์คํฐ DB ์ธ์คํด์ค์ ๋ถํ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
๋ง์คํฐ DB ์ธ์คํด์ค์ ์ฐ๊ธฐ๋ฅผ ํ๋ฉด ์๋์ผ๋ก ์ฌ๋ ์ด๋ธ DB ์ธ์คํด์ค๋ก ๋ฐ์ดํฐ๊ฐ ๋ณต์ ๋ฉ๋๋ค. ๋จ ์ฐ๊ธฐ ์์ ์ ์ค์ํ ์ฆ์ ๋ณต์ ๋๋ ๊ฒ์ ์๋๋ฉฐ ์ฝ๊ฐ์ ์๊ฐ์ฐจ๊ฐ ์์ต๋๋ค.
Multi-AZ ๋ณต์ ์ Read Replica
- Multi-AZ ๋ณต์ : ์ฐ๊ธฐ ์์ ์ ์ค์ํ ์ฆ์ ์๋น ์ธ์คํด์ค์ ๋ณต์ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๊ฐ ํญ์ ์ผ์นํ๋ค๋ ๊ฒ์ ๋ณด์ฅํ ์ ์์ต๋๋ค. Multi-AZ ๋ณต์ ๋ ์๋น์ค๊ฐ ํญ์ ๊ฐ๋ํด์ผ ํ๋ ๊ฐ์ฉ์ฑ(Availability)์ ์ํ ๊ฒ์ด์ง ๋ถํ ๋ถ์ฐ์ ํตํ ์ฑ๋ฅ ํฅ์์ ์ํ ๊ฒ์ ์๋๋๋ค. ๋ํ, ์๋น ์ธ์คํด์ค์์๋ ์ฝ๊ธฐ ์์ ์ ํ ์ ์์ต๋๋ค.
- Read Replica: ์ฐ๊ธฐ ์์ ์ ์ค์ํ๋ฉด ์ฝ๊ฐ์ ์๊ฐ์ฐจ๋ฅผ ๊ฐ์ง๊ณ ๋ณต์ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๊ฐ ์ผ์นํ์ง ์์ ์ ์์ต๋๋ค. Read Replica๋ ์ฝ๊ธฐ ๋ถํ ๋ถ์ฐ์ ํตํด ์ฑ๋ฅ ํฅ์์ ์ํ ๊ธฐ๋ฅ์ ๋๋ค.
RDS DB ์ธ์คํด์ค(exampledbinstance
)์ Read Replica๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค. RDS DB ์ธ์คํด์ค ๋ชฉ๋ก(Instances)์์ DB ์ธ์คํด์ค(exampledbinstance
)๋ฅผ ์ ํํ๊ณ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ํ์
๋ฉ๋ด๊ฐ ๋์ต๋๋ค.
Read Replica๋ฅผ ์์ฑํฉ๋๋ค.
- Destination Region: Read Replica ์ธ์คํด์ค๊ฐ ์์นํ ๋ฆฌ์ ์ ๋๋ค. Read Replica๋ ์ฌ๋ฌ ๋ฆฌ์ ์ ์์ฑํ ์ ์์ด, ์ง์ญ๋ณ๋ก ์ฝ๊ธฐ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Read Replica Source: Read Replica๋ฅผ ์์ฑํ DB ์ธ์คํด์ค์
๋๋ค.
exampledbinstance
๊ฐ ์ ํ๋์๋์ง ํ์ธํฉ๋๋ค. - DB Instance Identifier: ์๋ก ์์ฑ๋ Read Replica ์ธ์คํด์ค์ ์ด๋ฆ์
๋๋ค. ๊ตฌ๋ถ์ ์ฝ๊ฒ ํ๊ธฐ ์ํด
exampledbinstance-read-1
๋ก ์ ๋ ฅํฉ๋๋ค. - DB Instance Class: ์์ฑํ Read Replica ์ธ์คํด์ค์ ํด๋์ค์ ๋๋ค. Read Replica ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ์ฑ๋ฅ์ด ๋ ์ข์ ์ธ์คํด์ค ํด๋์ค๋ก ๋ฐ๊ฟ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ db.t1.micro๋ฅผ ์ ํํฉ๋๋ค.
- Storage Type: ์คํ ๋ฆฌ์ง ํ์ ์ ๋๋ค. ๋ง์คํฐ DB ์ธ์คํด์ค๊ฐ Provisioned IOPS๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ฌ๊ธฐ์ Provisioned IOPS๋ฅผ ์ ํํ ์ ์์ต๋๋ค. Standard๋ฅผ ์ ํํ์ฌ ์ผ๋ฐ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Auto Minor Version Upgrade: ์๋์ผ๋ก ๋ง์ด๋ ๋ฒ์ ์ ์ ๋ฐ์ดํธํ๋ ์ต์ ์ ๋๋ค. ๋ณด์ ํจ์น๋ ๋ฒ๊ทธ๊ฐ ์์ ๋ ๋ฒ์ ์ ์๋์ผ๋ก ์ ๋ฐ์ดํธํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด MySQL์ ๊ฒฝ์ฐ 5.6.13์ ์ฌ์ฉํ๊ณ ์๋๋ฐ 5.6.14๊ฐ ๋์ค๋ฉด 5.6.14 ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๊ฒ ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Database Port: MySQL ์ ์ ํฌํธ ๋ฒํธ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Availability Zone: Read Replica๊ฐ ์์ฑ๋ ๊ฐ์ฉ ์์ญ(Availability Zone)์ ๋๋ค. ์ถํ ๊ฐ์ ์ํฉ์ ๋ง๊ฒ ๋ฆฌ์ ์ ์ํ AZ๋ฅผ ์ ํํ๋ฉด ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Publicly Accessible: DB๋ฅผ ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๊ฒ ํ๋ ์ต์ ์ ๋๋ค. No๋ก ์ค์ ํ๋ฉด VPC ๋ด๋ถ์์๋ง ์ ๊ทผํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Destination DB Subnet Group: Read Replica ์ธ์คํด์ค๊ฐ ์์นํ ์๋ธ๋ท์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
RDS DB ์ธ์คํด์ค ๋ชฉ๋ก(Instances)์์ Read Replica ์ธ์คํด์ค(exampledbinstance-read-1
)๊ฐ ์์ฑ๋๊ณ ์์ต๋๋ค. ์์ ํ ์์ฑ๋๊ธฐ๊น์ง ์ฝ 10~15๋ถ ์ ๋ ์์๋ฉ๋๋ค(DB์ ์ฉ๋์ ๋ฐ๋ผ ์๊ฐ์ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค).
Read Replica ์ธ์คํด์ค(exampledbinstance-read-1
)๊ฐ ์์ ํ ์์ฑ๋ ํ ์ธ๋ถ ๋ด์ฉ์ ์๋ํฌ์ธํธ ์ฃผ์, Read Replica Source, Replication State๊ฐ ํ์๋ฉ๋๋ค. ์ ๊ฐ ์์ฑํ Read Replica ์ธ์คํด์ค์ ์๋ํฌ์ธํธ ์ฃผ์๋ exampledbinstance-read-1.cnlconsezo7y.ap-northeast-1.rds.amazonaws.com:3306
์
๋๋ค.
์ด Read Replica ์ธ์คํด์ค์ ์๋ํฌ์ธํธ ์ฃผ์๋ก ์ ์ํ๋ฉด ๋ง์คํฐ DB์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋จ ์ฝ๊ธฐ ์ ์ฉ์ด๋ฏ๋ก SQL๋ฌธ์ INSERT
, UPDATE
, DELETE
๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Promote Read Replica
Promote Read Replica ๊ธฐ๋ฅ์ Read Replica ์ธ์คํด์ค๋ฅผ ์๋ก์ด ๋ง์คํฐ DB ์ธ์คํด์ค๋ก ์น๊ฒฉ(promote)์ํค๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ด์ ๋ง์คํฐ(์์ค) DB ์ธ์คํด์ค์์ ๋ณต์ ๊ด๊ณ๋ ๋์ด์ง๊ณ , ๋ณ๊ฐ์ DB ์ธ์คํด์ค๊ฐ ๋ฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ์๋ ๋ฐฑ์ (Enable Automatic Backups), ๋ฐฑ์ ์ ์ง ๊ธฐ๊ฐ(Backup Retention Period), ๋ฐฑ์ ์๊ฐ(Backup Window)๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.