Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- redis ์กฐํ
- s3 log ์ ์ฅ
- docker-compose kafka
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- ํ์ดํผ๋ฐ์ด์
- Codedeploy ์ค๋ฅ
- Entity
- redis ํ ์คํธ์ฝ๋
- aws saa ํฉ๊ฒฉ
- nGrinder
- ์๋ฐ
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- jvm ๋ฐ๋ฐ๋ฅ๊น์ง ํํค์น๊ธฐ
- docker
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- aws ์ฟ ํฐ
- ๋ค์ค ์ปจํ ์ด๋
- JPA
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- docker ps -a
- Kafka
- prod docker-compose
- docker compose
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
- AWS Certified Solutions Architect - Associate
- ์คํํ๋ ๋ฏธ์ค
- private subnet ec2 ๋ก์ปฌ ์ ์
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
Archives
- Today
- Total
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง
[AWS] ํ๋ฆฌ์จ๋ณด๋ฉ ๋ฐฑ์๋ ์ฑ๋ฆฐ์ง 3์ 1ํ์ฐจ - AWS ๊ตฌ์กฐ ๋ณธ๋ฌธ
๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป/๐๐๐
[AWS] ํ๋ฆฌ์จ๋ณด๋ฉ ๋ฐฑ์๋ ์ฑ๋ฆฐ์ง 3์ 1ํ์ฐจ - AWS ๊ตฌ์กฐ
๐คRyusun๐ค 2024. 3. 6. 15:59์ํฐ๋์์ ํ๋ฆฌ์จ๋ณด๋ฉ ๋ฐฑ์๋ ์ฑ๋ฆฐ์ง 3์ ํ๋ก๊ทธ๋จ์ ์ฐธ์ฌ์ ์ฒญ์ ํ๋ค.
AWS๋ฅผ ํ์ฉํ ์์คํ ์ํคํ ์ฒ ์ค๊ณ์ ๊ดํ ๋ด์ฉ์ ์ค๋ช ํด์ค๋คํด์ AWS ๋น ์์ด์ธ ๋๋ก์จ ๋น์ฅ ์ ์ฒญํ๋ค.
1ํ์ฐจ ์์ ์์๋ ์ ๋ฐ์ ์ธ AWS ๊ตฌ์กฐ์ ํจ์จ์ ์ธ ์ด์ ๋ฐฉ์์ ๋ํด ์ค๋ช ํด์ฃผ์ จ๋ค.
Agenda
- ์ข์ ์ํคํ ์ฒ๋?
- Monolithic server
- RDS scaling
- EC2 scaling
- Cache
- CDN
- Serverless
๋ด์ฉ ์์ฝ
- ์ข์ ์ํคํ
์ฒ๋? ์๋น์ค ์ด์ ๋ฐฉ์์ ์ ํฉํ ์ํคํ
์ฒ
- ๊ฐ๋ฐ์๊ฐ ์๊ฐํ๊ธฐ์ “์ด๊ฑฐ ๋ฌด์กฐ๊ฑด ํด์ผ๋ผ์"
- ์ฌ์ฉ์๊ฐ ์๋น์ค๋ฅผ ์ฌ์ฉํ๋๋ฐ bottleneck์ด ๋ฐ์ํ์ง ์๋ ์ํคํ ์ฒ
- ์๋น์ค ์ด๊ธฐ๋จ๊ณ์์ ๊ตณ์ด auto scaling ์ํด๋ ๋๋ค. ๋ฌด์กฐ๊ฑด ๊ธฐ๋ณธ๋ง ๋ง๋ค๊ณ ํธ๋ํฝ์ด ๋์ด๋๋ค๋ฉด ๊ทธ๋ ํ์ฅํ์!
โ๏ธscaling์ ๊ณ ๋ คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํํ๊ธฐ
- ๊ท๋ชจ๊ฐ ์๊ฑฐ๋ ํ๋ก์ ํธ์ฉ์ด๋ฉด ๋ฌด๋ฃ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋๊ฒ์ ์ถ์ฒํ๋ค. RDS๋ ๋น์ธ๋ฏ๋ก Docker๋ก Mysql ๋ฅผ ๋์ฐ๊ฑฐ๋ EC2์ Mysql ๋ฅผ ์ค์นํ๋๊ฒ์ด ์ข๋ค.
- ๊ทธ๋ฐ๋ฐ ์๋น์ค ๊ท๋ชจ๊ฐ ์ปค์ง๋ค๋ฉด?
- Join์ด ๋ง์ด ๋ฐ์ํ๋ฉด ๊ด๊ณํ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋๋ ค์ง๋ค.
- ๋ฐ์ดํฐ์์ด ๋ง์์ง๋ฉด ๋ ๋๋ ค์ง๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ NoSQL ๋์
์ ๊ณ ๋ คํ์
- AWS๋ ๋๋ถ๋ถ DynamoDB
- ๋ฌผ๋ก ์๋น์ค ํน์ฑ์ ๋ฐ๋ผ NoSQL๋ก ์์ํ ์๋ ์๋ค.
- RDS ๋ฅผ ์ฌ์ฉํ์ฌ Scale Out ๋ฅผ ๊ตฌํํ๋ค๋ฉด
- ์ฝ๊ธฐ์ ์ฉ ๋ณต์ ๋ณธ(READ Replica) ๋ฅผ ์ฌ์ฉํด์ Scale Out
- ํธ๋ํฝ์ด ๋ง์์ง๋ ์๋ฒ๋ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ READ query๋ฅผ ๋ ๋ฆด ์ ์๋ค.
- ์์ฒญ์ด ๋ชฐ๋ ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋๋ ค์ง๊ฑฐ๋ ํฐ์ง๋ ๊ฒ์ ๋ฐฉ์ง ๊ฐ๋ฅ
- Connection Pooling ์ค์ ์ ํตํ Scalue Out
- connection(์ฐ๊ฒฐ)์ ๋ฏธ๋ฆฌ ์ฌ๋ฌ๊ฐ ์์ฑํด๋๊ณ ํ์ฉํ๋ ๋ฐฉ์
- AWS RDS Proxy๋ฅผ ์ฌ์ฉํ ๋, Idle timeout, Max Connections, Subnet ์ ๊ณ ๋ คํด์ ์ค์ ํ์
- connection pool์ ๋น์ฉ๋ฌธ์ ์ ์ฝ๋ ๊ด๋ฆฌ ํธ์์ฑ์ผ๋ก AWS RDS๋ณด๋ค ์ดํ๋ฆฌ์ผ์ด์ ๋จ์์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
- ์ฝ๊ธฐ์ ์ฉ ๋ณต์ ๋ณธ(READ Replica) ๋ฅผ ์ฌ์ฉํด์ Scale Out
- DynamoDB Scale out
- Partition key๋ฅผ ํ์ฉํ ์๋ partitioning
- ์๋ฒ๋ฆฌ์ค๋ก ํธ๋ฆฌํ๋ค
- ๋น์ฉ์ด ๋น๊ต์ ์ ๋ ด
- ๊ฐ์ธ ํ๋ก์ ํธ์ฉ์ผ๋ก๋ dynamoDB ์ฌ์ฉ ์ถ์ฒ
โ๏ธscaling์ ๊ณ ๋ คํ ์๋ฒ ์ ํ
- EC2๋ RDS์ ์ ์ฌํ๊ฒ scale up / out ๊ฐ๋ฅ
- Scale up ์ RDS์ ์ ์ฌํ๊ฒ ๋ ํฐ ์ฌ์ด์ฆ์ ์ธ์คํด์ค๋ฅผ ์ ํ
- Scale out์ Load Balancer๊ฐ ํ์ํ๋ค.
- Load Balancer
- ๋ถํ๋ฅผ ๋ถ์ฐํ๋ ์๋น์ค
- ํด๋ผ์ด์ธํธ๋ ๋ก๋๋ฐธ๋ฐ์๋ก ์์ฒญ์ ๋ณด๋ด๊ณ , ๋ก๋๋ฐธ๋ฐ์๊ฐ ์์ฒญ์ ์๋ฒ๋ก ๋ถ์ฐํ๋ค.
- ์ญํ
- Load ๋ถ์ฐ
- EC2 instance health check
- SSL ์ธ์ฆ์ ์ ์ฉ
- ๊ณ ๊ฐ์ฉ์ฑ
โ๏ธCache
1. Database Cache
- Read๊ฐ ๋น๋ฒํ ๊ฒฝ์ฐ cache์ ์ ์ฅํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊น์ง ๊ฐ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์ฌ ์ ์์
i. ์๋์์ ์ด์ ์ด ์๋ค
- ํ์ง๋ง cache๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ ๋น์ฉ
- Cache instance ๋น์ฉ
- ๊ฐ๋ฐ ์ ์ง๋ณด์ ๋น์ฉ
- latency๋ฅผ ์ค์ด๋๊ฒ์ด ์๋น์ค ์ด์์ ์ผ๋ง๋ ์ค์ํ์ง๋ฅผ ๊ณ ๋ คํด์ผํ๋ค.
- ์
๋ฐ์ดํธ ์ฃผ๊ธฐ๋ ๊ณ ๋ คํด์ผํจ
- DB๋ ์ ๋ฐ์ดํธ ๋๋๋ฐ, Cache๋ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด?
- Expiration ์ ์ฑ ์ ํ์ฉํ๊ฑฐ๋, sync๋ฅผ ์์ฃผ ํด์ค์ผํ๋ค.
- ํ์ง๋ง ์ด๊ฒ์ ์๋น์ค ์ด์๋ฐฉ์์ ๋ฐ๋ผ ๋ค๋ฅด๋ค.
โ๏ธAWS Cache
- ElasticCache
- AWS DynamoDB Accelerator
- DynamoDB์ ๋ถ์ด์ READ 10๋ฐฐ ๋น ๋ฆ
- CloudFront - CDN
- CDN (Content Delivery Network)
- staticํ ๊ฒ๋ค ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์ฌ ์ ์๋๋ก
- ์ฃผ๋ก ์ด๋ฏธ์ง๋ ์์
- CDN (Content Delivery Network)
โ๏ธAWS CloudFront
- ๋ค๋ฅธ ์๋น์ค๋ค๊ณผ ๋ค๋ฅด๊ฒ region์ด Global a. Route53๋ Global
- Edge Locationํ์ฉ
- AWS ์์ฒด์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ ค ๊ฑฐ์ ์๋ค๊ฐ ์ ์ฅ
- ์ฌ๋ฌ data center์ cachingํด์ latency๋ฅผ ์ค์ธ๋ค.
- S3 ์ฐ๋ ์ bucket policy ๋ณ๊ฒฝ
- CloudFront์์ ์ ๊ทผํ ์ ์๋๋ก ์ค์ ํด์ฃผ์ด์ผ CDNํ์ฉ ๊ฐ๋ฅ
- CloudFront ์์ฑ ์ S3 ์ฐ๊ฒฐํ๋ฉด, ๋ณต์ฌํ ์ ์๋ policy ์ ๊ณต
โ๏ธ ๋ฉํ ๋์ ์ถ์ฒ ๋ฐฉ์
- Serverless ๋ฐฉ์
- ์๋ฒ๊ฐ ์์ - AWS๊ฐ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์
- Lambda ์ฌ์ฉ
- Application ์๋ฒ ์ ์ฒด๋ฅผ ๋๋ค์ ์ฐ๊ฒฐ ๊ฐ๋ฅ
- ๋๋ ๊ฐ๋จํ ๊ธฐ๋ฅ ํ ๋๊ฐ ์ ๋๋ง ์ฐ๊ฒฐ๊ฐ๋ฅ
- AWS๊ฐ ์๋์ผ๋ก scalingํด์ค๋ค.
- ์ฌ์ฉํ๋งํผ๋ง ๋น์ฉ ์ง๋ถ - ์ ๋ ดํ๋ค.
โ๏ธ ๊ทธ ์ธ ์ ๋ณด
- ์ฌ๋ฌ ์ปจํ ์ด๋๊ฐ ์คํ์ค์ด๋ผ๋ฉด ์ด์ํ๊ธฐ ์ฝ๊ฒ Kubernates ๊ณ ๋ คํด๋ณด์. ๊ทผ๋ฐ ๋น์ธ๋ค
- Scale Out๋ฐฉ์์ ์ธ์ ๋ฆฌ์์ค๊ฐ ๋ง์ด ์์๋ผ์ ํฐ ๊ธฐ์ ๋ค์ Scale up ๋ฐฉ์์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.