- java
- CloudFormation
- AWS CloudFormation
- yumpackage
- map
- db
- jpa
- redis
- list
- ์ด๋ ธํ ์ด์
- Cognito
- javaIteration
- S3
- REST
- Iteration๋ฐ๋ณต๋ฌธ
- rabbitmq์ค์น๋ฐฉ๋ฒ
- ์๋ฃ๊ตฌ์กฐ
- ๋ฆฌ๋ ์คrabbitmq์ค์น
- ELB
- AWS
- ์ฐจ์ด์
- rabbitmq์ค์น๋ช ๋ น์ด
- javamap๋ฐ๋ณต
- cloudfront
- Heap
- Amazon
- ์ธ์คํด์ค
- instance
- dynamodb
- spring
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (58)
You are a developer, not a coder.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bTfHiK/btqD3JfsGZ0/eLI1LS28FiNbkWJkKzeC1k/img.webp)
1. RDS์ ๊ธฐ๋ฅ,์ ํ ๋ฐ ๋ค์คํ๊ฐ ํ์ํ ์ด์ AWS์์ RDB๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ 2๊ฐ์ง๋ก ๋๋๋ค. EC2 ์ธ์คํด์ค์ RDBMS๋ฅผ ์ค์นํ์ฌ ์ฌ์ฉ ํ๋ ๋ฐฉ๋ฒ ๊ด๋ฆฌํ ์๋น์ค์ธ ์๋ง์กด RDS๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ ์ ์๋ OS์ RDBMS๋ฅผ ์์ ๋กญ๊ฒ ์ ํํ๊ณ ์ค์ ํ ์ ์๋ ๋ฐ๋ฉด์ ๋จ์ ์ผ๋ก๋ OS์ DBํ๊ฒฝ์ ์ฌ์ฉ์๊ฐ ์ง์ ๊ด๋ฆฌํ์ง ์์ผ๋ฉด ์๋๋ค๋ ์ ์ด ์๋ค. ํ์์ธ ๊ฒฝ์ฐ ํจ์น ์ ์ฉ๊ณผ ๋ฐฑ์ ์ด ์๋ํ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด์์ ๋ฒ๊ฑฐ๋ก์์ด ์ค์ด๋ ๋ค๋ ์ฅ์ ์ด ์์ผ๋ DB์ด์์๋ ์ ์ฝ์ฌํญ์ด ์์ด, ์ด์ฉ ๋ชฉ์ ์ ๋ง๋์ง ๊ฒํ ๊ฐ ํ์ํ๋ค. RDS์ ์ฃผ์ ๊ธฐ๋ฅ ๋ฐ ์ ํ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋ด์ฉ ์๋ ์ ์ง๋ณด์ ๋ฐฑ์ ์๋์ ์ผ๋ก ๋ฐฑ์ ์ด ์์ฑ๋๊ธฐ ๋๋ฌธ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋ณดํต 5๋ถ ์ด๋ด์ ๋ณต๊ตฌํ ์ ์๋ค. ๋ง์ด๋ ๋ฒ์ ์ ์ด ์๋์ ์ผ๋ก ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pf7l8/btqD5INAT7u/r2hxdmlVWmT9T0Tz4slYP0/img.png)
1. ๋ชฉ์ ํ๋์ฉ ์์์ ์ผ๋ก ์ค์ ํ๋ฉด ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ๊ฐ์ ์๋ฒ ํ ํ๋ฆฟ์ธ AMI๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ ์๋ฒ ์ฌ๋ฌ ๋๋ฅผ ํ๊บผ๋ฒ์ ์ ์ ํ์. ๊ท๋ชจ๊ฐ ํฐ ์์คํ ์ ๊ตฌ์ถํ๋ ๊ฒฝ์ฐ๋ ๊ฐ์ ํ๊ฒฝ์ ๋ฐ๋ณตํด์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ์์ ์ ๊ฐ์ํํ ์ ์๋ค. ELB๊ฐ ์น ์๋ฒ์ ๋ถํ๋ฅผ ๊ฐ์ํ์ฌ ๋ถํ๊ฐ ๋ฎ์ ์น ์๋ฒ๋ก ์์ฒญ์ ๋ถ์ฐ์ํค๋๋ฐ์ ๋ชฉ์ ์ ๋๋ค. 2. ๊ตฌ์ฑ ํ์ํ ์์ ์น์๋ฒ๋ฅผ ๋ง๋ ํ์ ELB์ ์ฐ๊ณํ ๋ค์คํ ๊ตฌ์ฑ์ ์ค์ ELB๋ฅผ ์น ํธ๋ํฝ์ ์ ๊ตฌ๋ก ์ฌ์ฉํ์ฌ ํธ๋ํฝ์ด ๋ณต์์ ์น ์๋ฒ์ ๋ถ์ฐ๋๋๋ก ํ๋ค ์ธํฐ๋ท ์ ์ End Point๋ฅผ ELB๋ก ์ง์ ELB๋ IP ์ฃผ์๊ฐ ์๋ CNAME(๋์ฒด ๋๋ฉ์ธ ์ด๋ฆ)์ ์ง์ ํ์ฌ ์ ์ (ELB์ IP์ฃผ์๋ ๊ณ ์ ์ด ์๋๋ผ ๊ณ์ ๋ณํ๊ธฐ ๋๋ฌธ) DNS ์๋ฒ์ธ Route 53์ ์ด์ฉํ์ฌ ELB์ ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cBJEBI/btqD4zDyO6y/UPOnbTz12FUUEkWTK7kiPk/img.png)
1. ์์ ์ฌ์ดํธ์ ๊ฐ์ ๊ณต๊ฐ ์น์ฌ์ดํธ๋ก ์ฌ์ฉ์๋ ๊ฑฐ๋์ฒ, ์ ์ฌ์ ๊ณ ๊ฐ, ์ ์ฌ์ง์์ ๋ฑ์ด๋ค. ์ ์ ์ฝํ ์ธ ์ค์ฌ์ด๋ค. ์๋ฒ๋ฅผ ๋ค์คํํ์ฌ ์ฅ์ ์ ๋๋นํ๋ค. ๋ถํ๊ฐ ๋์์ง๋ฉด ์ญ๋ฅผ ์ถ๊ฐํ ์ ์๊ฒ ๊ตฌ์ฑํ๋ค. ์ฅ์ ์๋ฒ์ ๊ต์ฒด, ์ถ๊ฐ๋ ์๋์ผ๋ก ์กฐ์ํ๋ค. ์๋ต์๊ฐ๊ณผ ๋น์ฉ์ ๊ณ ๋ คํ์ฌ ๊ตฌ์ฑํ๋ค. 2. ์ธํ๋ผ ํต์ฌ ์ค๊ณ ์ฌํญ ์น ์๋ฒ ๋ค์คํ ๋ก๋๋ฐธ๋ฐ์๋ก ์ฅ์ ์ ๋๋นํ๊ณ , ๋ถํ๊ฐ ๋์์ง ๊ฒฝ์ฐ์ ๋๋นํด ์น ์๋ฒ ์ถ๊ฐ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค. 2020/05/11 - [AWS] - ELB๋ฅผ ์ด์ฉํ์ฌ ์น ์๋ฒ ๋ค์คํ ELB๋ฅผ ์ด์ฉํ์ฌ ์น ์๋ฒ ๋ค์คํ 1. ๋ชฉ์ ํ๋์ฉ ์์์ ์ผ๋ก ์ค์ ํ๋ฉด ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ๊ฐ์ ์๋ฒ ํ ํ๋ฆฟ์ธ AMI๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ ์๋ฒ ์ฌ๋ฌ ๋๋ฅผ ํ๊บผ๋ฒ์ ์ ์ ํ์. ๊ท๋ชจ๊ฐ ํฐ ์์คํ ์ ๊ตฌ์ถํ๋ ๊ฒฝ์ฐ๋ ๊ฐ์ ํ๊ฒฝ์ ๋ฐ๋ณตํด..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bzg8FH/btqD5HHNvJH/GM4QHXf090XYsKpF90km6k/img.png)
๋ถ์ฐ์ฒ๋ฆฌ ํ๊ฒฝ์ ๊ตฌ์ถํ๋๋ฐ ์์ด์ ๋ก๋๋ฐธ๋ฐ์์ ์ญํ ์ ํต์ฌ์ด๋ผ ํ ์ ์๋ค. ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ๋ถ์ฐ์ฒ๋ฆฌ๋ฅผ ์ํ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ๋ค๋ฉด, AWS์ Load Balancer๋ฅผ ์ด์ฉํด ๋ณผ ์ ์๋ค. Amazon Web Service๊ฐ Provisioningํ๋ Load Balancer๋ ELB (Elastic Load Banacing) ์๋น์ค๋ผ ํ๋ฉฐ, ๊ธฐ๋ณธ์ ์ผ๋ก Logging, Cloud Watch๋ฅผ ํตํ ์งํ, ์ฅ์ ๋ณต๊ตฌ, Health Check์ ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ์ ๊ณต ํ๋ค. ELB ์๋น์ค์ ์ข ๋ฅ๋ ์๋์ ๊ฐ๋ค. Classic Load Balancer (CLB) ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ์ด์ ์ด๊ธฐ์ ํ๋ก๋น์ ๋๋๋ ์๋น์ค๋ก, ํฌ์คํ ๋ฑ์ ๋์ค๋ ์ค๋ช ์ ๋จ์ํ ELB ๋ผ๊ณ ๋์์์ผ๋ฉด Classic Load Balancer..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b9Ii4y/btqD0MQg4fQ/HC7MNtdJWvSFjNbO0pCDl1/img.jpg)
์๋น์ค Lanuch ์ดํ ์ด์กฐํ๊ฒ ๋ชจ๋ํฐ๋ง์ ํ๋ฉด์ ๊ธฐ๋ค๋ฆฌ๋? ์๋๋ฉด ๋ถํํ ์คํธ ์ฌ์ ์ํ์ผ๋ก ๋ถํ๋ฅผ ์ Check ํ ๊ฒ์ด๋ ๋์ค์ ํ๊ฐ๋ฅผ ํํ๋ผ ํ๋ฉด ๊ฐ๋ฐ์๋ ๋น์ฐํ ํ์๋ฅผ ํํ ๊ฒ์ด๋ค. ์ ๊ทธ๋ผ AWS ๋ถํํ ์คํธ์ ๋ํด์ ์์๋ณด์. 1. ๋ถํ ํ ์คํธ๋? ์ํํธ์จ์ด ์์คํ ๋๋ ์ปดํจํ ์ฅ์น์ ์์ฒญ์ ๋ณด๋ด๊ณ , ์๋ต์ ์ธก์ ํ๋ ํ ์คํธ ๋ฐฉ๋ฒ์ด๋ค. ์ฐ๋ฆฌ๋ ๋ถํํ ์คํธ๋ฅผ ํตํด์ ๋ค์๊ณผ ๊ฐ์ ํ์๋ค์ ์ฐพ์๋ผ ์ ์๋ค. ํ์ฌ ์๋น์ค ๊ตฌ์ฑ์ ์ ํ(limit)์ ์ฐพ๊ธฐ ์ํ๋ ๋ถํ๋ฅผ ์์ฉํ ์ ์๊ฒ๋ ๊ตฌ์ฑ๋์๋์ง ํ์ธ ๋ณ๋ชฉ ์ง์ ์ ์ฐพ๊ณ ๋ณ๋ชฉ ํ์์ ์ ๊ฑฐ 2. ์ข ๋ฅ ๋ถํ ํ ์คํธ (Load Test) ์ํํธ์จ์ด ์์คํ ์ ์์ฒญ์ ๋ณด๋ด์ ์๋ต์ ์ธก์ ํ๋ ์ ์ฐจ ์คํธ๋ ์ค ํ ์คํธ (Stress Test) ์์คํ ์ ์์ ์ฑ์ ๊ฒฐ์ ํ๊ธฐ ์ํด..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/WhdnC/btqDMHoCVRJ/dUk9nPHu5xdKr1QyaT68k1/img.png)
1. UUID๋ ๋คํธ์ํฌ ์์์ ๊ณ ์ ์ฑ์ด ๋ณด์ฅ๋๋ id๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ์ค ๊ท์ฝ์ด๋ค. UUID๋ Universally Unique IDentifier์ ์ฝ์ด์ด๊ณ ๋ฒ์ฉ ๊ณ ์ ์๋ณ์๋ผ๊ณ ํ๋ค. ์ฃผ๋ก ๋ถ์ฐ ์ปดํจํ ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ ์๋ณ์์ด๋ค. ์ค์๊ด๋ฆฌ์์คํ ์ด ์๋ ํ๊ฒฝ์ด๋ผ๋ฉด ๊ฐ ์ธ์ ์ ์ผ๋ จ๋ฒํธ๋ฅผ ๋ถ์ฌํด์ค์ผ๋ก์จ ์ ์ผ์ฑ์ ๋ณด์ฅํ ์ ์๊ฒ ์ง๋ง ์ค์์์ ๊ด๋ฆฌ๋์ง ์๋ ๋ถ์ฐ ํ๊ฒฝ์ด๋ผ๋ฉด ๊ฐ๋ณ ์์คํ ์ด id๋ฅผ ๋ฐ๊ธํ๋๋ผ๋ ์ ์ผ์ฑ์ด ๋ณด์ฅ๋์ด์ผ๋ง ํ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ํด ํ์ํ ๊ฒ์ด ๋ฒ์ฉ๊ณ ์ ์๋ณ์ UUID์ด๋ค. RFC 4122์ ๋ช ์๋์ด ์๋ค. UUID๋ 128๋นํธ์ ์ซ์์ด๋ฉฐ, 32์๋ฆฌ์ 16์ง์๋ก ํํ๋๋ค. 8์๋ฆฌ-4์๋ฆฌ-4์๋ฆฌ-4์๋ฆฌ-12์๋ฆฌ ํจํด์ผ๋ก ํ์ดํ์ ์ง์ด ๋ฃ์ด 5๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๊ตฌ๋ถํ๋ค. ์ด๋ฆ ๊ธธ์ด (๋ฐ์ดํธ) ๊ธธ์ด..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tKoAQ/btqDzD1bOvu/AB6Ba3tR9FqgcnLt1YAK20/img.png)
1. JPA ๋? JPA๋ฅผ ์ดํดํ๊ธฐ์ ์์ ORM์ด ๋จผ์ง์ ๋ํด์ ๋จผ์ ์ ๋ฆฌํด ๋ณด๋๊ฒ ์ข์๊ฒ ๊ฐ๋ค. ORM (Object-relational mapping) ์ด๋? ๊ฐ์ฒด๋ ๊ฐ์ฒด๋๋ก ์ค๊ณํ๊ณ , ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋๋ก ์ค๊ณํ๋ค. ORM ํ๋ ์์ํฌ๊ฐ ์ค๊ฐ์์ ๋งคํํด ์ฃผ๋ ๊ตฌ์กฐ์ด๋ค. ๋์ค์ ์ธ ์ธ์ด์๋ ๋๋ถ๋ถ ORM ๊ธฐ์ ์ด ์กด์ฌํ๋ค. ORM์ ๊ฐ์ฒด์ RDB ๋ ๊ธฐ๋ฅ ์์ ์๋ ๊ธฐ์ ์ด๋ค. ORM์ ์ฅ์ ํน์ DBMS์ ์ข ์๋์ง ์๋๋ค. SQL๋ฌธ์ด ์ฝ๋์ ๋ค์ด๊ฐ์ง ์์ ๊น๋ํ๊ณ ๊ฐ๊ฒฐํ ์ฝ๋๋ฅผ ์ ์งํ ์ ์๋ค. ORM์ด nesting ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ธ๋ฉํด์ค๋ค. ORM์ ๋จ์ RAW query์ ๋นํด performance๊ฐ ๋๋ฆฌ๋ค. Query tuning์ด ํ๋ค๋ค. ์๋น์ค๊ฐ ๋ณต์กํด ์ง์๋ก ORM์ผ๋ก ํ ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bN5R8l/btqCD9tZQzz/uCuIe3BNGHAnqCgBw7KSkk/img.jpg)
1. ๊ฐ์ ์ธ์ฆ ๋ฐ ๊ถํ๋ถ์ฌ๋ฅผ ์ํด์ Oauth ํ๋ ์์ํฌ์ ํ์ฌ ์ต์ ๋ฒ์ ์ 2.0์ด๋ฉฐ, ํด๋น ๋ฒ์ ์ ์คํ ๋ฌธ์๋ https://tools.ietf.org/html/rfc6749์์ ํ์ธํ ์ ์๋ค. Oauth2.0์ ์ธ์ฆ ๋ฐ ๊ถํ๋ถ์ฌ์ ๊ดํ ๊ธฐ๋ณธ์ ์ธ ํ๋ฆ๋ฟ๋ง ์๋๋ผ ๋ชฉ์ ์ ๋ง๊ฒ ํ์ฅํ ์ ์๋๋ก ์ค๊ณ๋์ด ์๋ค. Oauth2.0์ ์ธ๋ถ ์๋น์ค (third-party application)์ ์ธ์ฆ ๋ฐ ๊ถํ๋ถ์ฌ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฒ์ฉ ํ๋ ์์ํฌ ์ด๋ค. Oauth ๊ธฐ๋ฐ ์๋น์ค์ API๋ฅผ ํธ์ถ์ ํ ๋์๋, HTTP ํค๋์ access token์ ํฌํจํ์ฌ ์์ฒญ์ ๋ณด๋ด๊ฒ ๋๋ค. ์๋น์ค๋ access token์ ๊ฒ์ฌํ๋ฉด์ ์ด ์์ฒญ์ด ์ ํจํ์ง ํ๋จํ์ฌ ์ ์ ํ ๊ฒฐ๊ณผ๋ฅผ ์๋ตํ๋ค. 2. ํ๋ฆ๋ ๋ญ ๊ตฌํํ๊ธฐ ์ ์๋ ์... ..