13D. RDS DB ์ธ์คํด์ค ์์ฑํ๊ธฐ
13D. RDS DB ์ธ์คํด์ค ์์ฑํ๊ธฐ ๊ด๋ จ
RDS ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉํด๋ณด๊ฒ ์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ๊ฐ์ฅ ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ MySQL๋ก ํ๊ฒ ์ต๋๋ค.
์ค๋ฅธ์ชฝ ์์์ RDS์ ๋ฆฌ์ ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ผ์ชฝ ๋ฉ๋ด์์ [Instances]
๋ฅผ ์ ํํฉ๋๋ค.
RDS DB ์ธ์คํด์ค์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ์ ํํฉ๋๋ค.
์ฅ์ ์ ๋์ํ ์ ์๋ ์ด์คํ๋ฅผ ์ํ ๋ค์ค ๊ฐ์ฉ ์์ญMulti-AZ ๋ณต์ ์ ๊ณ ์ฑ๋ฅ I/O๋ฅผ ์ ๊ณตํ๋ Provisioned IOPS Storage๋ฅผ ์ฌ์ฉํ ๊ฒ์ธ์ง ์ ํํฉ๋๋ค. Multi-AZ์ Provisioned IOPS Storage๋ฅผ ์ฌ์ฉํ๋ฉด ์ถ๊ฐ ์๊ธ์ด ๋ฐ์ํฉ๋๋ค.
RDS DB ์ธ์คํด์ค ์ธ๋ถ ์ค์ ์ ๋๋ค(๊ทธ๋ฆผ 13-8).
- License Model: MySQL์ general-public-license๋ง ์ ํํ ์ ์์ต๋๋ค.
- DB Engine Version: ์ฌ์ฉํ MySQL์ ๋ฒ์ ์ ๋๋ค. ํน์ ๋ฒ์ ์ ์ฌ์ฉํด์ผ ํ๋ ํ๊ฒฝ์ด ์๋๋ผ๋ฉด ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- DB Instance Class: ์์ฑํ DB ์ธ์คํด์ค ํด๋์ค์ ๋๋ค. ํ๋ฆฌ ํฐ์ด์์ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์๋ ๋ง์ดํฌ๋ก ์ธ์คํด์ค(db.t1.micro)๋ฅผ ์ ํํฉ๋๋ค.
- Multi-AZ Deployment: ์ฅ์ ์ ์๋์ผ๋ก ๋์ฒํ๋ Failover ๊ธฐ๋ฅ์ ์ํ ๋ค์ค ๊ฐ์ฉ ์์ญ(Multi Availability Zone) ๋ณต์ ์ต์ ์ ๋๋ค. No๋ฅผ ์ ํํฉ๋๋ค.
- Allocated Storage: DB์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์คํ ๋ฆฌ์ง์ ์ฉ๋์ ๋๋ค. ์ต์ 5GB์์ 3072GB(3TB)๊น์ง ์ค์ ํ ์ ์์ต๋๋ค. 5GB๋ก ์ค์ ํฉ๋๋ค.
- Use Provisioned IOPS: ๊ณ ์ฑ๋ฅ I/O ์ต์ ์ ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ์คํ ๋ฆฌ์ง์ ์ฝ๊ธฐ/์ฐ๊ธฐ ์ฑ๋ฅ์ ์ํ๋ ๋๋ก ์กฐ์ ํ ์ ์์ต๋๋ค. ๋จ ์ถ๊ฐ๋น์ฉ์ ์ง๋ถํด์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- DB Instance Identifier: DB ์ธ์คํด์ค์ ์ด๋ฆ์ ๋๋ค(์ด๋ฆ์ ๊ฐ์ ๋ฆฌ์ ์์์ ์ค๋ณต๋๋ฉด ์๋ฉ๋๋ค). exampledbinstance๋ก ์ค์ ํฉ๋๋ค.
- Master Username: MySQL DB ๊ด๋ฆฌ์ ๊ณ์ ์ ๋๋ค. admin์ผ๋ก ์ค์ ํฉ๋๋ค.
- Master Password, Confirm Password: MySQL DB ๊ด๋ฆฌ์ ๊ณ์ ์ ๋น๋ฐ๋ฒํธ์ ๋๋ค. ์ฌ๋ฌ๋ถ์ด ์ฌ์ฉํ๊ณ ์ถ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํฉ๋๋ค.
DB ์ธ์คํด์ค ์ถ๊ฐ ์ค์ ์ ๋๋ค
- VPC: DB ์ธ์คํด์ค๊ฐ ์์นํ ๋คํธ์ํฌ(VPC)์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- DB Subnet Group: DB ์ธ์คํด์ค๊ฐ ์์นํ ์๋ธ๋ท์ ๋๋ค. ์์์ Default VPC์ด์ธ์ VPC๋ฅผ ์ ํํ์ ๋ ์ด ์๋ธ๋ท์ ์ค์ ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Publicly Accessible: DB๋ฅผ ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๊ฒ ํ๋ ์ต์ ์ ๋๋ค. No๋ก ์ค์ ํ๋ฉด VPC ๋ด๋ถ์์๋ง ์ ๊ทผํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Availability Zone: DB ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๊ฐ์ฉ ์์ญ(Availability Zone)์ ๋๋ค. EC2 ์ธ์คํด์ค์์ DB์ ์ ์ํ๋ค๋ฉด ๊ฐ์ AZ์ ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- VPC Security Group: ๋ฐฉํ๋ฒฝ ์ค์ ์ธ Security Group์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค. ์ด Security Group์ ๋์ค์ DB ์ธ์คํด์ค ์ ์ฉ์ผ๋ก ๋ฐ๋ก ์์ฑํด์ผ ํฉ๋๋ค.
- Database Name: ์์ฑํ DB ์ด๋ฆ์ ๋๋ค. ExampleDB๋ก ์ค์ ํฉ๋๋ค. ์๋ฌด๊ฒ๋ ์ ๋ ฅํ์ง ์์ผ๋ฉด DB ์ธ์คํด์ค์์ MySQL ์๋ฒ๋ง ์คํ๋๊ณ DB๋ ์์ฑ๋์ง ์์ต๋๋ค.
- Database Port: DB ์ ์ ํฌํธ ๋ฒํธ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Parameter Group: MySQL์ ์คํํ ๋ ํ์ํ ํ๋ผ๋ฏธํฐ ์งํฉ์
๋๋ค. DB ์ธ์คํด์ค ์์ฑ ํ Parameter Group์ ์ถ๊ฐํ ์ ์์ต๋๋ค(
my.cnf
ํ์ผ์ ์์ฑํ๋ ๊ฒ๊ณผ ๋์ผํฉ๋๋ค.) ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค. - Option Group: DB ์ต์ ์ ๋๋ค. MySQL์ ํน๋ณํ ์ง์ ํ์ง ์์๋ ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
์ด์ด์ง๋ DB ์ธ์คํด์ค ์ถ๊ฐ ์ค์ ์ ๋๋ค
- Backup: ์๋ ๋ฐฑ์ ์ต์ ์ ๋๋ค. ์ด ์๋ ๋ฐฑ์ ์ ์ฌ์ฉํ๋ฉด ์ํ๋ ์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ ์ ์๋ PIT(Point in Time) ๋ณต๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. PIT ๋ณต๊ตฌ๋ ์ต๊ทผ 5๋ถ ์ ์ํ๋ก ๋๋๋ฆด ์ ์์ผ๋ฉฐ 1์ด ๋จ์๋ก ์ค์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
- Backup Retention Period: ๋ฐฑ์ ๋ฐ์ดํฐ ์ ์ง ๊ธฐ๊ฐ์ ๋๋ค. ์ต๋ 35์ผ๊น์ง ์ค์ ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ง์ ํ ๋ ์ง ์ด์ ๊น์ง ๋๋๋ฆด ์ ์์ต๋๋ค.
- Backup Window: ๋ฐฑ์ ์๊ฐ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ No Preference์ ๋๋ค. ์ฌ๊ธฐ์๋ Select Window๋ฅผ ์ ํํ๊ณ Start Time์ 00:00, Duration์ 0.5๋ก ์ค์ ํฉ๋๋ค. UTC ๊ธฐ์ค์ผ๋ก 00์ 00๋ถ์ ๋ฐฑ์ ์ ์์ํ๋ฉฐ ๋ฐฑ์ ์๊ฐ์ 0.5์๊ฐ(30๋ถ)์ ๋๋ค. ๋ฐ์ดํฐ์ ์ฉ๋์ด ํฌ๋ฉด ์ค์ ํ ๋ฐฑ์ ์๊ฐ์ ๋๊ธธ ์๋ ์์ต๋๋ค. ์ด Duration์ ์ค์ ํ๋ ์ด์ ๋ ์๋ Maintenance Window์ ์๊ฐ๊ณผ ๊ฒน์น์ง ์๊ฒ ํ๊ธฐ ์ํด์ ์ ๋๋ค.
- Auto Minor Version Upgrade: ์๋์ผ๋ก ๋ง์ด๋ ๋ฒ์ ์ ์ ๋ฐ์ดํธํ๋ ์ต์ ์ ๋๋ค. ๋ณด์ ํจ์น๋ ๋ฒ๊ทธ๊ฐ ์์ ๋ ๋ฒ์ ์ ์๋์ผ๋ก ์ ๋ฐ์ดํธํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด MySQL์ ๊ฒฝ์ฐ 5.6.13์ ์ฌ์ฉํ๊ณ ์๋๋ฐ 5.6.14๊ฐ ๋์ค๋ฉด 5.6.14 ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๊ฒ ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Maintenance Window: ์ ๊ฒ ์๊ฐ์
๋๋ค. ๊ธฐ๋ณธ๊ฐ์ No Preference์
๋๋ค. ์ฌ๊ธฐ์๋ Select Window๋ฅผ ์ ํํ๊ณ Start Day๋ฅผ Monday, Start Time์ 03:00, Duration์ 0.5๋ก ์ค์ ํฉ๋๋ค. UTC ๊ธฐ์ค์ผ๋ก 03์ 00๋ถ์ ์ ๊ฒ์ด ์์๋๋ฉฐ ์๊ฐ์ 0.5์๊ฐ(30๋ถ)์
๋๋ค. Duration์ ์ค์ ํ๋ ์ด์ ๋ ์ Backup Window์ ์๊ฐ๊ณผ ๊ฒน์น์ง ์๊ฒ ํ๊ธฐ ์ํด์ ์
๋๋ค. ์ ๊ฒ์ Duration์ ์ค์ ํ ์๊ฐ๋ณด๋ค ์ผ์ฐ ๋๋ ์ ์์ต๋๋ค.
- ์ด ์๊ฐ์ Auto Minor Version Upgrade๋ฅผ ์ค์ ํ๋ค๋ฉด DB ๋ฒ์ ์ ๋ฐ์ดํธ ๋๋ ํจ์น๊ฐ ์ ์ฉ๋ฉ๋๋ค. DB ๋ฒ์ ์ ๋ฐ์ดํธ ๋๋ ํจ์น๋ ํ์์ ์ธ ๊ฒ(๋ณด์ ํจ์น)๋ง ์ ์ฉ๋๋ฉฐ ์์ฃผ ๋ฐ์ํ์ง ์๊ณ ๋ช ๋ฌ์ ํ ๋ฒ ๋ฐ์ํฉ๋๋ค. DB ์ ๋ฐ์ดํธ ๋๋ ํจ์น๊ฐ ์ ์ฉ๋๋ ์๊ฐ ๋์์๋ DB ์ธ์คํด์ค์ ์คํ์ด ์ค์ง๋ฉ๋๋ค.
- DB ์ธ์คํด์ค ํด๋์ค๋ฅผ ๋ณ๊ฒฝํ๋ค๋ฉด ์ด ์๊ฐ์ ์ ์ฉ๋ฉ๋๋ค. DB ์ธ์คํด์ค ํด๋์ค๋ฅผ ๋ณ๊ฒฝํ๋ ๋์์๋ DB ์ธ์คํด์ค์ ์คํ์ด ์ค์ง๋ฉ๋๋ค.
Multi-AZ ๋ณต์ ์ ๋ฐฑ์
Multi-AZ ๋ณต์ ๋ฅผ ์ฌ์ฉํ์ ๋์๋ ์๋น ์ธ์คํด์คStandby์์ ๋ฐฑ์ ์ ์งํํ๊ฒ ๋๋ฏ๋ก ๋ฉ์ธ ์ธ์คํด์ค์ I/O ์ฑ๋ฅ์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.
MySQL์์ ์๋ ๋ฐฑ์
์ค์ ํ๋ฉด์ ๋์ ์๋ ๊ฒ์ฒ๋ผ MySQL์์ ์๋ ๋ฐฑ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์คํ ๋ฆฌ์ง ์์ง์ผ๋ก InnoDB๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. MyISAM์ ์ง์ํ์ง ์์ต๋๋ค.
RDS DB ์ธ์คํด์ค ๋ชฉ๋ก(Instances)์ผ๋ก ๋์์์ต๋๋ค. ๋ฐฉ๊ธ ์ค์ ํ DB ์ธ์คํด์ค๊ฐ ์์ฑ๋๊ณ ์์ต๋๋ค.
Multi-AZ ๋ณต์ ์ Failover
Multi-AZ
๋ณต์ ๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํ ๋ค, ๋ฉ์ธ DB ์ธ์คํด์ค์ ์ฅ์ (AZ ์ฅ์ , ์ธ์คํด์ค ์ค๋จ, ๋คํธ์ํฌ ์ฅ์ , ์คํ ๋ฆฌ์ง ์ฅ์ )๊ฐ ๋ฐ์ํ๋ฉด ์๋์ผ๋ก ์๋น ์ธ์คํด์ค๊ฐ ๋ฉ์ธ ์ธ์คํด์ค๋ก ์น๊ฒฉ๋ฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ Failover๋ผ๊ณ ํ๋ฉฐ Failover๊ฐ ์๋ฃ๋๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ฝ 3~6๋ถ์
๋๋ค. Failover ๊ธฐ๋ฅ์ด ๋์ํ๋ฉด Endpoint ์ฃผ์๊ฐ ๊ฐ๋ฆฌํค๋ DB ์ธ์คํด์ค๊ฐ ๋ฉ์ธ ์ธ์คํด์ค์์ ์๋น ์ธ์คํด์ค๋ก ๋ฐ๋๋ฏ๋ก Endpoint๋ฅผ ์ฌ์ฉํ๋ ์ธก์์๋ Failover๋ฅผ ์ํด ๋ฐ๋ก ์ค์ ์ ํด์ค ํ์๊ฐ ์์ต๋๋ค. ์ด Multi-AZ
๋ณต์ ๋ MySQL๊ณผ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์์๋ง ์ง์ํฉ๋๋ค.
RDS DB ์ธ์คํด์ค ์ ์ง(Stop)
EC2 ์ธ์คํด์ค์๋ ๋ฌ๋ฆฌ RDS DB ์ธ์คํด์ค๋ ์ ์ง ๊ฐ๋ ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ DB ์ธ์คํด์ค๋ฅผ ์ ์งํ๊ณ ์ถ์ผ๋ฉด ์ญ์ (Delete)ํด์ผ ํฉ๋๋ค. ๋จ DB ์ธ์คํด์ค๋ฅผ ์ญ์ (Delete)ํ ๋ ์ต์ข (Final) DB ์ค๋ ์ท์ ์์ฑํ ์ ์์ต๋๋ค. ์ดํ ์ด ์ต์ข DB ์ค๋ ์ท์ผ๋ก DB ์ธ์คํด์ค๋ฅผ ๋ค์ ์์ฑํ์ฌ ์ด์ ๋ฐ์ดํฐ ๊ทธ๋๋ก ์์ํ ์ ์์ต๋๋ค.