์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- prod docker-compose
- docker ps -a
- jvm ๋ฐ๋ฐ๋ฅ๊น์ง ํํค์น๊ธฐ
- docker
- redis ์กฐํ
- ์๋ฐ
- aws saa ํฉ๊ฒฉ
- ํ์ดํผ๋ฐ์ด์
- Codedeploy ์ค๋ฅ
- aws ์ฟ ํฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์คํํ๋ ๋ฏธ์ค
- Entity
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- nGrinder
- redis ํ ์คํธ์ฝ๋
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
- docker compose
- ๋ค์ค ์ปจํ ์ด๋
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- docker-compose kafka
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- private subnet ec2 ๋ก์ปฌ ์ ์
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
- AWS Certified Solutions Architect - Associate
- JPA
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- s3 log ์ ์ฅ
- Kafka
- Today
- Total
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง
[AWS] AWS S3 ์ ์ ์น ํธ์คํ + ๊ฐ๋น์ ๋๋ฉ์ธ ์ฐ๊ฒฐ + CloudFront HTTPS ์ค์ ํ๊ธฐ ๋ณธ๋ฌธ
[AWS] AWS S3 ์ ์ ์น ํธ์คํ + ๊ฐ๋น์ ๋๋ฉ์ธ ์ฐ๊ฒฐ + CloudFront HTTPS ์ค์ ํ๊ธฐ
๐คRyusun๐ค 2025. 4. 7. 15:49๊ฐ๋น์์์ ๋๋ฉ์ธ์ ๊ตฌ๋งคํ ํ, AWS S3์ ์ ์ ์น ํธ์คํ ์ฉ ๋ฒํท์ ์์ฑํฉ๋๋ค.
์ด๋ ๋ฒํท ์ด๋ฆ์ ๊ตฌ๋งคํ ๋๋ฉ์ธ ์ด๋ฆ๊ณผ ์ ํํ ์ผ์นํ๋๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
์ดํ ๋ง๋ ๋ฒํท -> ๊ถํ ํญ์ ๊ฐ์ ์๋ ๊ถํ์ ์ถ๊ฐํฉ๋๋ค.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
์ด์ Route 53 ์๋น์ค๋ก ์ด๋ํ 'ํธ์คํ
์์ญ'์ ํด๋ฆญํ ํ, '๋ ์ฝ๋ ์์ฑ' ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
๋ ์ฝ๋ ์ ํ์ ์ผ๋ฐ์ ์ผ๋ก A๋ ์ฝ๋(A - IPv4 ์ฃผ์)๋ฅผ ์ ํํ๊ณ , ํธ๋ํฝ ๋ผ์ฐํ
๋์์ 'S3 ์น์ฌ์ดํธ ์๋ํฌ์ธํธ'๋ก ์ค์ ํฉ๋๋ค.
์ดํ, ๋ ์ฝ๋ ํ
์ด๋ธ์์ NS ํ์
์ ๋ค์์๋ฒ(NS) ๊ฐ 4๊ฐ๋ฅผ ํ์ธํฉ๋๋ค.
๊ฐ ๊ฐ์ ๋งจ ๋์ ์๋ ๋ง์นจํ(.)๋ ์ ๊ฑฐํ ํ, ๊ฐ๋น์ ๋๋ฉ์ธ ๊ด๋ฆฌ ํ์ด์ง๋ก ์ด๋ํด ๋ค์์๋ฒ ์ค์ ํญ๋ชฉ์ 1์ฐจ ~ 4์ฐจ์ ์์๋๋ก ์
๋ ฅํด์ค๋๋ค.
์ด ์์ ์ ํตํด ๊ฐ๋น์ ๋๋ฉ์ธ์ด AWS Route 53๊ณผ ์ ์์ ์ผ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
๋ณ๊ฒฝ ์ฌํญ์ด ์ฆ์ ๋ฐ์๋์ง๋ ์์ผ๋ฉฐ, ์ ์ฉ๋๊ธฐ๊น์ง๋ ์ต๋ ๋ช์ญ๋ถ๊น์ง ์์๋ฉ๋๋ค!
CloudFront๋ก ์ ์ ์น์ฌ์ดํธ์ HTTPS ์ ์ฉํ๊ธฐ
AWS Certificate Manager(ACM) ์๋น์ค๋ก ์ด๋ํ ํ, ๋ฆฌ์ ์ ๋ฐ๋์ ๋ฒ์ง๋์ ๋ถ๋ถ(us-east-1)๋ก ๋ณ๊ฒฝํฉ๋๋ค.
์ด๋ CloudFront๊ฐ ๊ธ๋ก๋ฒ ์๋น์ค์ด๊ธฐ ๋๋ฌธ์, ์ธ์ฆ์ ์ฌ์ฉ ์ ๋ฒ์ง๋์ ๋ถ๋ถ์ ์์นํ ์ธ์ฆ์๋ง ์ง์ํ๊ธฐ ๋๋ฌธ์
๋๋ค.
์ด์ ‘์ธ์ฆ์ ์์ฒญ’ ๋ฒํผ์ ํด๋ฆญํ๊ณ , ๋๋ฉ์ธ ์ด๋ฆ์๋ ๊ตฌ์ ํ ๋๋ฉ์ธ๊ณผ ํจ๊ป ์์ผ๋์นด๋ ๋๋ฉ์ธ(*.๋๋ฉ์ธ)๋ ํจ๊ป ์ ๋ ฅํด์ค๋๋ค.
๋ฐ๊ธ์ ์๋ฃํ๋ฉด ๊ฒ์ฆ ๋๊ธฐ์ค์ด ๋ฉ๋๋ค.
ํด๋น ์ธ์ฆ์๋ฅผ ํด๋ฆญ ํ, Route53์์ ๋ ์ฝ๋ ์์ฑ ๋ฒํผ์ ๋๋ฌ์ ๋ ์ฝ๋ ์์ฑ์ ๋๋ฌ์ค๋๋ค.
์ํ๊ฐ '๋ฐ๊ธ๋จ'์ผ๋ก ๋ฐ๋๋ฉด ์ธ์ฆ์์ ARN์ ๋ณต์ฌํ CloudFront ์๋น์ค๋ก ์ด๋ํฉ๋๋ค.
CloudFront์๋น์ค์ ๋ฐฐํฌ ์์ฑ์ ํด๋ฆญํ ์๋ณธ ๋๋ฉ์ธ์ S3์ ์ ์ ์น ํธ์คํ url๋ฅผ ์ ๋ ฅํฉ๋๋ค.
CloudFront ๋ฐฐํฌ ์ค์ ์์ ์ถ๊ฐ๋ก ๋ณ๊ฒฝํด์ผ ํ ํญ๋ชฉ์ ์ด 4๊ฐ์ง์ ๋๋ค.
์ฐ์ ๋ทฐ์ด ํ๋กํ ์ฝ ์ ์ฑ ์ Redirect HTTP to HTTPS๋ก ๋ณ๊ฒฝํฉ๋๋ค.
Redirect HTTP to HTTPS๋ก ์ค์ ํ์ฌ HTTP ์์ฒญ์ HTTPS๋ก ์๋ ๋ฆฌ๋๋ ์ ๋๋๋ก ํฉ๋๋ค.
๋ํ, ์บ์ ํค ๋ฐ ์๋ณธ ์์ฒญ(Cache key and origin requests) ํญ๋ชฉ์์ Legacy cache settings๋ฅผ ์ ํํ ๋ค, ๊ฐ์ฒด ์บ์ฑ(Object caching)์ Customize๋ก ๋ณ๊ฒฝํ๊ณ , ๊ธฐ๋ณธ TTL(Default TTL) ๊ฐ์ 0์ผ๋ก ์ค์ ํฉ๋๋ค.
Default TTL ๊ฐ์ 0์ผ๋ก ์ค์ ํ๋ฉด CloudFront๊ฐ ์บ์ฑ์ ํ์ง ์๊ฒ ๋์ด, ์ ์ ํ์ผ(html, css, js ๋ฑ)์ ์์ ํ์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฆ์ ๋ฐ์๋ฉ๋๋ค.
๋ํ, ํญ์ ์๋ณธ์์ ์ต์ ํ์ผ์ ๋ถ๋ฌ์ค๊ธฐ ๋๋ฌธ์, ๊ฐ๋ฐ ์ค ๋ณ๊ฒฝ ์ฌํญ์ ๋น ๋ฅด๊ฒ ํ
์คํธํ ์ ์์ด ๊ฐ๋ฐ ํ๊ฒฝ์ ๋งค์ฐ ์ ๋ฆฌํฉ๋๋ค.
์ถ๊ฐ๋ก, ์๋๋ก ์คํฌ๋กคํ์ฌ ๋์ฒด ๋๋ฉ์ธ ์ด๋ฆ(CNAME) ํญ๋ชฉ์ S3 ๋ฒํท ์ด๋ฆ(๋๋ฉ์ธ ์ด๋ฆ๊ณผ ๋์ผ) ์ ์
๋ ฅํฉ๋๋ค.
๊ทธ๋ค์, Custom SSL Certificate ํญ๋ชฉ์์๋ ์์ ์์ฑํ ์ธ์ฆ์(ACM) ๋ฅผ ์ ํํด์ค๋๋ค.
ํ์ฌ๋ Route 53์์ ์ค์ ๋ ๋๋ฉ์ธ์ด S3 ์น์ฌ์ดํธ ์๋ํฌ์ธํธ๋ฅผ ์ง์ ๊ฐ๋ฆฌํค๊ณ ์์ต๋๋ค.
์ด์ ๋ CloudFront๋ฅผ ์ค๊ฐ์ ๋ผ์ ๋ฃ์ด, ๋๋ฉ์ธ์ด CloudFront๋ฅผ ๊ฑฐ์ณ S3๋ก ์ฐ๊ฒฐ๋๋๋ก ํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด Route 53์์ ๊ธฐ์กด S3 ์น์ฌ์ดํธ ์๋ํฌ์ธํธ์ ์ฐ๊ฒฐ๋ ๋ ์ฝ๋๋ฅผ CloudFront ๋ฐฐํฌ ๋๋ฉ์ธ์ผ๋ก ์์ ํด์ค๋๋ค.
์ด๋ ๊ฒ ์ค์ ํ๋ฉด ์ฌ์ฉ์ ์์ฒญ์ ๋จผ์ CloudFront๋ก ์ ๋ฌ๋๊ณ , ์ดํ CloudFront๊ฐ S3์์ ์ ์ ํ์ผ์ ๊ฐ์ ธ์ค๋ ๊ตฌ์กฐ๊ฐ ๋ฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก HTTPS ์ ์ฉ์ด๋ ์บ์ฑ ์ ๋ต ๋ฑ CloudFront์ ๋ค์ํ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
๋ชจ๋ ์ค์ ์ด ์๋ฃ๋์์ต๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋๊ธฐ๊น์ง๋ ๋ช ๋ถ ์ ๋ ์๊ฐ์ด ์์๋ ์ ์์ต๋๋ค.
์ ์ ํ ์น์ฌ์ดํธ์ ๋ค์ ์ ์ํด๋ณด๋ฉด, ๊ธฐ์กด์ ํ์๋๋ "๋ณด์๋์ง ์์" ๋ฉ์์ง๊ฐ ์ฌ๋ผ์ง๊ณ , HTTPS๊ฐ ์ ์ฉ๋ ์์ ํ ์ฐ๊ฒฐ๋ก ํ์๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์บ์ ๋๋ฌธ์ ์ด์ ์ค์ ์ด ๊ณ์ ๋ณด์ผ ์ ์์ต๋๋ค. ์ด๋ด ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ์บ์๋ฅผ ์ญ์ ํ๊ฑฐ๋ ์ํฌ๋ฆฟ ๋ชจ๋๋ก ์ ์ํด๋ณด์๊ธธ ์ถ์ฒ๋๋ฆฝ๋๋ค.
[์ฐธ๊ณ ]
https://www.youtube.com/watch?v=RbJ4-GWckeM&t=722s