๐ก 20230802 TIL : AWS์ ๋ํด ๊ณต๋ถํ ๋ด์ฉ ์ ๋ฆฌ
1. On-premise vs Cloud computing
1) ๐ On-premise
- ์จํ๋ ๋ฏธ์ค(On-premise)๋ ๊ธฐ์ ์ด ์ง์ ๋ฌผ๋ฆฌ์ ๊ณต๊ฐ์ ์ค์ ํ๋์จ์ด ์ฅ๋น๋ฅผ ๊ฐ์ง๊ณ IT ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ์ฌ ์ด์ํ๋ ๋ฐฉ์์ ๋งํ๋ค.
- ํ์ํ ์ธํ๋ผ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํด ํ๋์จ์ด์ ์ํํธ์จ์ด๋ฅผ ์ง์ ๊ตฌ์ ํ์ฌ, ์ ๊ณต ์๋น์ค๋ ์์คํ ์ํฉ์ ๋ง๊ฒ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ค.
- ์๋ฒ์ ์ ์ง๋ณด์ ์ญ์ ํด๋น ์กฐ์ง์ IT ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ๋ ํ์ด ์ง์ ํ๋ค.
- ๊ฐํน ํ๊ต๋ ํ์ฌ์์ ๋ดค์๋ ์๋ฒ์ค ๊ฐ์ ๊ณณ๋ค์ ๋ ์ฌ๋ฆฌ๋ฉด ๋๋ค.
2) โ๏ธ Cloud computing
- ํด๋ผ์ฐ๋ ์ปดํจํ (Cloud Computing) ๋๋ ํด๋ผ์ฐ๋ ์๋น์ค(Cloud Service)๋ ์ 3์ ์๋น์ค ๊ณต๊ธ์๋ก๋ถํฐ ๋ฐ์ดํฐ ์ผํฐ ๋ฆฌ์์ค๋ฅผ ์๋ํ๋ ๊ฒ์ผ๋ก, ์ผ๋ฐ์ ์ผ๋ก ์ธํฐ๋ท์ ํตํด ์ก์ธ์คํ ์ ์๋ ์ธ๋ถ ๋ฐ์ดํฐ ์ผํฐ์์ ํธ์คํ ๋๋ค.
- ํ์ํ IT ์ธํ๋ผ๋ง ์ ํํ๊ณ ์ ํํ ์ธํ๋ผ๋ฅผ ์๋น์ค ๋ฐฉ์์ผ๋ก ๊ตฌ์ ํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
ํด๋ผ์ฐ๋ ์๋น์ค๋ ์ ๊ณต ์์์ ๋ฐ๋ผ ๋ค์์ 3๊ฐ์ง๋ก ๋ถ๋ฅํ ์ ์๋ค.
→ IaaS, PaaS, SaaS
- IaaS (Infrastructure as a Service, ์๋น์ค๋ก์์ ์ธํ๋ผ)
- ๊ฐ์ ์๋ฒ, ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง ๊ฐ์ ํ๋์จ์ด ์ธํ๋ผ๋ฅผ ์ธํฐ๋ท์ ํตํด ์ ๊ณตํ๋ ์๋น์ค
- IaaS๋ ๊ฐ์ํ๋ ํ๋์จ์ด, ์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ, ์ด์์ฒด์ ๋ฑ์ ์ ๊ณตํ๋ฉฐ, ์ฌ์ฉ์๋ ์ด๋ฅผ ์ด์ฉํด์ ์์ ์ ์ฑ์ ์๋น์คํ ์ ์๋ค.
- IaaS๋ฅผ ์ด์ฉํ๋ ๋ํ์ ์ธ ๊ธฐ์ ์๋ ๋ทํ๋ฆญ์ค๊ฐ ์๋ค. ๋ทํ๋ฆญ์ค๋ ์์ฒด ๋ฐ์ดํฐ์ผํฐ๋ฅผ ๊ตฌ์ถํ์ง ์๊ณ AWS์ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ด์ฉํ๋ค.
- ๋ํ์ ์ธ IaaS ์๋น์ค : AWS EC2, Microsoft Azure, Google Compute Engine
- PaaS (Platform as a Service, ์๋น์ค๋ก์์ ํ๋ซํผ)
- ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐ, ์คํ, ๊ด๋ฆฌํ ๋ ํ์ํ ํ๋ซํผ์ ์ธํฐ๋ท์ ํตํด ์ ๊ณตํ๋ ์๋น์ค
- PaaS๋ IaaS์์ ์ ๊ณตํ๋ ํ๋์จ์ด ์ธํ๋ผ์ ๋ฏธ๋ค์จ์ด๋ฅผ ์ด์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ, ๋ฐฐํฌ, ์ด์ ๋ฑ์ ํ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
- ๋ํ์ ์ธ PaaS ์๋น์ค : AWS Elastic Beanstalk, Heroku, Google App Engine
- SaaS (Software as a Service, ์๋น์ค๋ก์์ ์ํํธ์จ์ด)
- ์ดํ๋ฆฌ์ผ์ด์ ์ ์น์์ ์ฌ์ฉํ ์ ์๋ ์๋น์ค
- ์ฌ์ฉ์๊ฐ ์ํํธ์จ์ด๋ฅผ ์์ ํ์ง ์๊ณ ์ธํฐ๋ท, ์ฆ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ฌ์ฉํ๋ ์๋น์ค
- ๋ํ์ ์ธ SaaS ์๋น์ค : Google Drive, Microsoft 365, Slack, ๋ค์ด๋ฒ ํด๋ผ์ฐ๋
2. ์๋ง์กด ์น ์๋น์ค(AWS)๋?
- AWS๋ Amazon Web Services์ ์ฝ์๋ก, Amazon์ด ์ ๊ณตํ๋ ํด๋ผ์ฐ๋ ์ปดํจํ ํ๋ซํผ ์๋น์ค์ด๋ค.
- AWS๋ ์ ์ธ๊ณ์ ๋ถ์ฐ๋์ด ์๋ ๋ฐ์ดํฐ ์ผํฐ์์ ๊ณ ๊ฐ๋ค์๊ฒ ๋ค์ํ IT ์ธํ๋ผ๋ฅผ ์ ๊ณตํ๋ฉฐ, ๊ณ ๊ฐ๋ค์ ํ์ํ ์ธํ๋ผ๋ฅผ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๊ตฌ์ถํ๊ณ ์ค์ , ๊ด๋ฆฌํ ์ ์๋ค.
1) ๋ฆฌ์ (Region)
- AWS ๋ฆฌ์ (Region)์ AWS๊ฐ ์ ์ธ๊ณ ๊ฐ์ง์์ ์ด์ํ๋ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ์๋ ๋ฌผ๋ฆฌ์ ์ง์ญ์ ์๋ฏธํ๋ค.
- AWS์์ ์ ๊ณตํ๋ ๋ค์ํ ์๋น์ค๋ค์ ๋ฆฌ์ ์ ๊ธฐ๋ฐ์ผ๋ก, ๋ฆฌ์ ๋ณ๋ก ๋ค๋ฅด๊ฒ ์ ๊ณตํ๊ณ ์์ผ๋ฏ๋ก ์ฌ์ฉํ๊ณ ์ ํ๋ ์๋น์ค๊ฐ ํน์ ๋ฆฌ์ ์์ ์ ๊ณต๋๋์ง ์ฒดํฌํด์ผ ํ๋ค.
- ๊ฐ ๋ฆฌ์ ์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ฉ ์์ญ(Availability Zone, AZ)์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
2) ๊ฐ์ฉ ์์ญ(Availability Zone, AZ)
- ๊ฐ์ฉ ์์ญ(Availability Zone, AZ)์ด๋ ๋ฆฌ์ ์์ ์กด์ฌํ๋ ๋ฐ์ดํฐ ์ผํฐ์ ๋ ผ๋ฆฌ์ ๊ทธ๋ฃน์ ์๋ฏธํ๋ค.
- ๊ฐ์ฉ ์์ญ์ ๋ ๋ฆฝ์ ์ธ ๋ฐ์ดํฐ ์ผํฐ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ์ด ๋ฐ์ดํฐ ์ผํฐ๋ค์ ๋คํธ์ํฌ๋ฅผ ํตํด ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ค.
- 2023. 8 ํ์ฌ ์์์ ํํ์ ์ง์ญ์๋ 10๊ฐ์ ๋ฆฌ์ ์ด ์์ผ๋ฉฐ, ์์ธ๋ ๊ทธ ์ค์ ํ๋์ด๋ค.
- ์์ธ ๋ฆฌ์ ์๋ 4๊ฐ์ ๊ฐ์ฉ ์์ญ์ด ์๋ค.
3. AWS์ ์ฃผ์ ์๋น์ค
๐ฅ๏ธ ์ปดํจํ
EC2(Elastic Compute Cloud)
- AWS์ ๊ฐ์ฅ ๋ํ์ ์ธ ์ปดํจํ ์๋น์ค๋ก, ๋ฆฌ๋ ์ค ๋๋ ์๋์ฐ ๊ธฐ๋ฐ์ ์ปดํจํ ์์์ ์ธ์คํด์ค๋ผ๋ ๊ฐ์ ์๋ฒ๋ก ์ ๊ณตํ๋ค.
- EC2๋ฅผ ์ด์ฉํ๋ฉด ํ์ํ๋งํผ ๊ฐ์ ์๋ฒ๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ฌ์ฉ๋์ ๋ฐ๋ผ ์ค์ผ์ผ ์ ๋๋ ์ค์ผ์ผ ๋ค์ด ํ ์ ์์ด ์ฌ์ฉ์ด ๊ฐํธํ๋ค.
Elastic Beanstalk
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ฒ ๋ฐฐํฌํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ํ๋ ์๋น์ค
- ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ์ ๋ก๋ํ๋ฉด ์ฉ๋ ํ๋ก๋น์ ๋, ๋ก๋ ๋ฐธ๋ฐ์ฑ, ์๋ ์กฐ์ ๋ถํฐ ์์ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ํ ๋ชจ๋ํฐ๋ง์ ์ด๋ฅด๊ธฐ๊น์ง ๋ฐฐํฌ๋ฅผ ์๋์ผ๋ก ์ฒ๋ฆฌํ๋ค.
- Go, Java, .NET, Node.js, PHP, Python ๋ฑ์์ ๊ฐ๋ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ํ๋ค.
๐๏ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค
RDS(Relational Database Service)
- RDS๋ ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ณตํ๋ ์๋น์ค๋ก, ์ ํํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ํด๋ผ์ฐ๋๋ ์จํ๋ ๋ฏธ์ค์ ๋ฐฐํฌํ๊ณ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์๋๋ก ๋์์ค๋ค.
- ์ธํ๋ผ๋ฅผ ํ๋ก๋น์ ๋ํ๊ฑฐ๋ ์ํํธ์จ์ด๋ฅผ ์ ์ง ๊ด๋ฆฌํ ํ์ ์์ด ๋นํจ์จ์ ์ด๊ณ ์๊ฐ ์๋ชจ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ํ์คํฌ๋ฅผ ์ ๊ฑฐํ ์ ์๋ค.
๐ฅ ์คํ ๋ฆฌ์ง
S3(Simple Storage Service)
- ์ค๋ธ์ ํธ ์๋น์ค ์คํ ๋ฆฌ์ง ์๋น์ค๋ก, ์ด๋์๋ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ๊ตฌ์ถํ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง๋ฅผ ์ ๊ณตํ๋ค.
- ํ์ผ ์์คํ ์ด ์๋ ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง ์๋น์ค๋ก ๋ชจ๋ ํ์ผ์ API๋ก ์ ๊ทผํ ์ ์๋๋ก ํ๋ค.
EBS(Elastic Block Store)
- EC2 ์ธ์คํด์ค์ ์ฐ๊ฒฐํ ์ ์๋ ๋ธ๋ก ์์ค ์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ ์๋น์ค
- EBS ๋ณผ๋ฅจ์ ๋คํธ์ํฌ๋ฅผ ํตํด EC2 ์ธ์คํด์ค์ ์ฐ๊ฒฐ๋๋ฏ๋ก ๋ฐ์ดํฐ ์ง์์ฑ, ์ค๋ ์ท ๋ฐฑ์ ์ ์ฉ์ดํ๋ฉฐ ๋ค๋ฅธ ์ธ์คํด์ค์์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค.
- terminate ๋ ์ธ์คํด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ ์ ์์ง๋ง, ์ฌ์ฉ ๋ฒ์๊ฐ ๋ฆฌ์ ์ด ์๋ AZ ๋ฒ์๋ก ํ์ ๋๋ฏ๋ก ์ ์ํด์ผ ํ๋ค.
๐ธ๏ธ ๋คํธ์ํน
VPC(Virtual Private Cloud)
- ๊ณ์ ๋ณ, ์ฆ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ฒฉ๋ฆฌ๋ ๋คํธ์ํฌ ํด๋ผ์ฐ๋ ๋ฆฌ์์ค ์๋น์ค์ด๋ค.
- ๋ฆฌ์์ค ๋ฐฐ์น, ์ฐ๊ฒฐ ๋ฐ ๋ณด์์ ํฌํจํ ๊ฐ์ ๋คํธ์ํน ํ๊ฒฝ์ ์ ์ดํ ์ ์๋ค.
CloudFront
- AWS๊ฐ ์ ๊ณตํ๋ ๊ธ๋ก๋ฒ ์ปจํ ์ธ ์ ์ก ๋คํธ์ํฌ(Content Delivery Network, CDN) ์๋น์ค๋ฅผ ์๋ฏธํ๋ค.
- ๊ฐ๋ฐ์ ์นํ์ ์ผ๋ก ๊ตฌ์ถ๋์ด ๋น ๋ฅด๊ณ ์์ ํ๊ฒ ์ปจํ ์ธ ๋ฅผ ์ ์กํ๋ค.
Route 53
- ๊ฐ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ ๋๋ฉ์ธ ์ด๋ฆ ์์คํ (DNS) ์น ์๋น์ค
- ๋๋ฉ์ธ ์ด๋ฆ์ ๋ฑ๋กํ๊ณ , ๊ฐ๋จํ ์๊ฐ์ ํธ๋ํฝ ํ๋ฆ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ DNS ๋ผ์ฐํ ์ ์ฝ๊ฒ ์ค์ ํ ์ ์๋๋ก ๋์์ค๋ค.
๐ก๏ธ ๋ณด์
IAM(Identify and Access Management)
- AWS ์๋น์ค ๋ฐ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๋ฐ ID๋ฅผ ๊ด๋ฆฌ์ ์ด ํ๋ ์๋น์ค
- IAM์ ์ฌ์ฉํ๋ฉด AWS์์ ์ฌ์ฉ์, ์ญํ ๋ฐ ๊ทธ๋ฃน์ ์์ฑ ๋ฐ ๊ด๋ฆฌํ์ฌ AWS ์๋น์ค์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ์์ ํ๊ฒ ์ ์ดํ ์ ์๋ค.
์ฐธ๊ณ ์ฌ์ดํธ
์จํ๋ ๋ฏธ์ค(On-premise)์ ์ ์๋ ๋ฌด์์ธ๊ฐ?
์ ์๊ณ์ฝ ๋์ , ํด๋ผ์ฐ๋ or ์จํ๋ ๋ฏธ์ค