AWS ๋ฐฐํฌ ์๋ฒฝ๊ฐ์ด๋ (feat. Lightsail, Docker, ECS)
์ด ๊ฐ์์์๋ Container Orchestration ๋ํ๊ธฐ์ ์ค ํ๋์ธ AWS ECS๋ฅผ ๋ฐฐ์ฐ๊ฒ๋ฉ๋๋ค! Github Action์ผ๋ก CICD๋ ๊ตฌ์ถํฉ๋๋ค. ํ์ง๋ง ์ฒ์๋ถํฐ ECS๋ฅผ ๋ฐฐ์ฐ์ง ์์์. ECS๋ DevOps ๋ํ์์ด๋ผ๊ณ ํ ์ ์์ด์ ๋๋ฌด ์ด๋ ต๊ฒ ๋๊ปด์ง ์ ์๊ฑฐ๋ ์. ๊ทธ๋์ ๊ฐ์ ์ด๋ฐ์๋ ์ ํต์ ์ธ ๊ฐ์์๋ฒ ์ค์์๋ ๋น๊ต์ learning curve๊ฐ ๋ฎ์ AWS Lightsail๋ก ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋จผ์ ๋ค์ง๋๋ค. ๊ธฐ์กด ๋ฐฉ์์ ํ๊ณ์ ๊ณผ ๋ถํธํ์ ๋ค๋ ์ฒด๊ฐํ ์ ์์ด์. ์ด๋ ๊ฒ ๊ธฐ๋ณธ๊ธฐ์ โWhyโ๋ก ๋น๋์ ์ ํด์ ์์ฐ์ค๋ฝ๊ฒ Docker Container์ ECS๋ฅผ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค!
์๊ฐ์ 720๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

๋ค๋ฅธ ์๊ฐ์๋ค์ด ์์ฃผ ๋ฌผ์ด๋ณด๋ ์ง๋ฌธ์ด ๊ถ๊ธํ์ ๊ฐ์?
- ๋ฏธํด๊ฒฐ
39๊ฐ ๋ฐฐํฌ์ฉ workflow ๋ง๋ค๊ธฐ์์ main ๋ธ๋์น์ merge ๊ฐ ์๊พธ ์คํจํฉ๋๋ค.
github action ํ ๋ ์คํจ ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด <a target="_blank" rel="noopener noreferrer nofollo
awsdockerci/cdaws-ecs๋ฐ์ ์
ใป
13์ผ ์
0
28
1
- ๋ฏธํด๊ฒฐ
๋๋ฉ์ธ ์์ฑ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ ค์
๋๋ฉ์ธ์ ๋ง๋๋ ๊ฒ์ ์๋ํ๋๋ฐ์, Status:<span style="color: rgb(104, 11
awsdockerci/cdaws-ecs๋ฐ์ ์
ใป
14์ผ ์
0
29
2
- ๋ฏธํด๊ฒฐ
loadbalancer๋ก vm ์ฐ๊ฒฐํ ๋ ๊ถ๊ธํ ์
loadbalancer๋ก vm ์ฐ๊ฒฐํ ๋์๋ฒ์์ npm start๊ฐ ์๋๊ด๋ฆฌ์ ๊ถํ์ผ๋ก sudo npm start ํ ํ <p style="text-
awsdockerci/cdaws-ecs๋ฐ์ ์
ใป
14์ผ ์
0
26
1
- ๋ฏธํด๊ฒฐ
typescript ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ ํด์ฃผ๊ธฐ(nodemon) ์ง๋ฌธ
nodemon ์ค์ ๊น์ง ๋ค ํ๊ณ ๋์ npm run dev ํ๋ฉด ์ ์์ ์ผ๋ก ์คํ์ด ๋ฉ๋๋ค. <p style="text-align: l
awsdockerci/cdaws-ecs๋ฐ์ ์
ใป
18์ผ ์
0
31
1
- ๋ฏธํด๊ฒฐ
lightsail ๊ฐ์์๋ฒ์์ sudo npm start๋ฅผ ์คํํ์๋ ์ค๋ฅ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
๊ฐ์ฌ๋ ์๋ ํ์ธ์:)๊ฐ์ ๋ค์ผ๋ฉด์ aws ์ ๋ฐฐ์ฐ๊ณ ์์ต๋๋ค.ํ๊ฐ์ง ์ง๋ฌธ์ด ์๋๋ฐ์,<p styl
awsdockerci/cdaws-ecsSJ Kim
ใป
4๋ฌ ์
0
54
1
- ๋ฏธํด๊ฒฐ
ec2๋ก ๋ฐฐํฌ
๊ฐ์์์๋ ec2๋ฅผ ์ฃผ๋ก ์๋ค๋ฃจ๋๋ฐ ๊ณผ์ ์ ์ง๋ฉดํ๊ฒ ec2๋ก ๋ฐฐํฌํ๋๊ฑฐ๋ผiam ๊ถํ์ ํฌ๊ฒ ์ ๊ฒฝ์์จ๋ ํด๋๋๋ค๋ฉด ๊ทธ๋๋กํด๋ ๊ด์ฐฎ์๊น์?
awsdockerci/cdaws-ecs๊น์ฑ๊ด
ใป
4๋ฌ ์
0
54
1
- ๋ฏธํด๊ฒฐ
์ฌ๋ ค์ฃผ์ ์๋ฃ ๋ค์ด๋ก๋ ํ npm run test ์ค๋ฅ
๊ฐ์์๋ฃ ์ฌ๋ ค์ฃผ์ ๊ฑฐ ๊ทธ๋๋ก ๋ค์ด๋ก๋ ํ npm run dev๋ ์ ์คํ๋๋๋ฐ npm run test์์ ์๋ ์ฌ์ง์ฒ๋ผ ์ค๋ฅ๊ฐ ๋์ต๋๋ค.<img src="h
awsdockerci/cdaws-ecsbjy829
ใป
7๋ฌ ์
0
72
1
- ๋ฏธํด๊ฒฐ
๊ฐ์ ํ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ง๋ฌธ
์๋ ํ์ธ์ ๊ฐ์ฌ๋์ด์ ๊ฐ์๋ฅผ ๋ง ๋ฃ๊ธฐ ์์ํ๋๋ฐ ์ง๋ฌธ์ด ์์ด ๋จผ์ ๋จ๊น๋๋ค์ ๋ Node๋ง๊ณ ํ์์ ์ฌ์ฉํ๋ spring ๊ธฐ๋ฐ์ผ๋ก์ ํ๋ฆฌ์ผ์ด์ ์ ๋์๋ AWS ๋ฐฐํฌ ๊ณผ์ ์ ํ์ตํ๋๋ฐ๋<b
awsdockerci/cdaws-ecs์๋
ใป
8๋ฌ ์
0
59
1
- ๋ฏธํด๊ฒฐ
๋ค์์คํ์ด์ค
<img src="https://cdn.inflearn.com/public/files/posts/213e177e-ca91-401b-8dfa-70a353874d59/9a4dfaa9-625b-4367-84a7-333b8f23b4c8.png" media-type="img"
awsdockerci/cdaws-ecsrhdrlehf5
ใป
10๋ฌ ์
0
110
1
- ๋ฏธํด๊ฒฐ
springboot
์ด ๊ฐ์๋ฅผ ์๊ฐํ ๋ ์คํ๋ง๋ถํธ๋ก ํด๋ ๊ด์ฐฎ๋์?
awsdockerci/cdaws-ecsrhdrlehf5
ใป
์ผ ๋ ์
0
106
2
- ๋ฏธํด๊ฒฐ
์์ ์ค๋ณต
์๋ ํ์ธ์, ๊ฐ์ ์ ๋ณด๊ณ ์์ต๋๋ค. ๋ค๋ฆ์ด ์๋๋ผ, ์น์ 11์ ์น์ ์๊ฐ ์์๊ณผ, ์น์ 12์ ์น์ ์๊ฐ ์์์ด ์ค๋ณต๋๋ ๊ฒ ๊ฐ์์ ์ฌ์ญค๋ด ๋๋ค. ์น์ 12๋ ๋ฐ๋ก ์น์ ์๊ฐ ์์์ด ์๋๊ฑธ๊น์?
awsdockerci/cdaws-ecs๋ณต๋
ใป
0
133
1
- ํด๊ฒฐ
๊ฐ์ ์์ ์์ฒญ๋ฌธ์
ํ์ง ๊ฐ๋ฐ์์ ๋๋ค. ๊ธฐ์กด EC2๋ง ์๋ ์ธํ๋ผ์์ ์์ ECS on EC2 ์๋น์ค๋ก ์ธํ๋ผ๋ฅผ ๋ค์ ์ ํ ํ๋ ค๊ณ ํฉ๋๋ค ์ด๋๋ถ๋ถ๋ถํฐ ๊ฐ์๋ฅผ ๋ด๋ ๋ ๊น์
awsdockerci/cdaws-ecsGolden_penguin
ใป
1
160
1
- ๋ฏธํด๊ฒฐ
blue/green ๋ฐฐํฌ ์ ๋ต ์ค์ ์ ๋ํด ์ง๋ฌธ ์์ต๋๋ค.
์๋ ํ์ธ์.๋๋ถ์ ecs์ ci/cd์ ๋ํด ์ฌ๋ฏธ์๊ฒ ์ค์ต์ ํด๋ณผ ์ ์์๊ณ ์ด์ ๋ํด ๊ฐ์ฌ์ ๋ง์ ์ ๋ฌ๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. ๊ฐ์๋ฅผ ์๊ฐํ๊ณ ํ์ ์์ blue/green ๋ฐฐํฌ ์ ๋ต์ ์ฌ์ฉํ ๋ ๋ฐฐํฌํ๋ฉด codeDeploy
blue/greenrollingsys19912002
ใป
0
166
1
- ๋ฏธํด๊ฒฐ
WSL์ ์ค์นํ Redis์ ์ฐ๊ฒฐ์ด ์ ๋ฉ๋๋ค.
import express from "express"; import * as redis from "redis"; const PORT = 4000; const createApp = async () =>
awsdockerci/cdaws-ecswslredis๋ชฐ๋๋ชฐ๋์ฐ์ฃผ์
ใป
0
296
1
- ํด๊ฒฐ
์ค์ต์ ๋น์ฉ ๊ด๋ จ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์.์ด๋ฒ ๊ฐ์๋ฅผ ํตํด์ ๋งค์ฐ ๋ง์ ๋์์ ๋ฐ๊ณ ์์ด์ ๋จผ์ ๊ฐ์ฌํ๋ค๋ ๋ง์์ ๋๋ฆฝ๋๋ค. ๋น์ฉ ๊ด๋ จํด์ ์ ๊ฐ ๊ด๋ฆฌ๋ฅผ ์ ๋ชปํ๋ ๋ถ๋ถ์ด ์์ด๋ณด์ฌ์์ ์ด์ ๋ค๋ฅธ ๋ถ๋ค์ ๋ต๊ธ์ ๋จ๊ฒจ์ฃผ์ จ๋ฏ์ด ์ด๋ฒ ๊ธฐํ์ ๋ฐฐ
awsdockerci/cdaws-ecsdrimdrim2002
ใป
0
374
2
- ๋ฏธํด๊ฒฐ
secret manager ์ง๋ฌธ์์ต๋๋ค.
ecs์์ secret manager ์ฐ๊ฒฐํ ๋RDS์์ secret manager๋ฅผ ์ฌ์ฉํด์ ๋น๋ฐ๋ฒํธ๋ฅผ ์๋์ผ๋ก ๊ต์ฒดํ๋๋ก ์ค์ ๋์ด ์๋ค๋ฉด ๋น๋ฐ๋ฒํธ๊ฐ ๋ณ๊ฒฝ๋์ ๋ ์๋ฒ์์ ๋ณ๊ฒฝ๋ ๋น๋ฐ๋ฒํธ๋ก RDS์ ๋ค์ ์ฐ๊ฒฐ์ด ๋๋
awsdockerci/cdaws-ecs๋ฐ์์
ใป
0
115
1
- ๋ฏธํด๊ฒฐ
์๋ ์ ํจ์ฑ ๊ฒ์ฌ ์คํจ
Create certificate ๊ณผ์ ์์ ๋๋ฉ์ธ ์ ๋ ฅ ํ ์๋ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ์คํจํดAutomatic validation failed. Manual validation requir
awsdockerci/cdaws-ecswlsdn6609
ใป
0
149
1
- ํด๊ฒฐ
ECS ํด๋ฌ์คํฐ์์ ๋ ๋์ค์ express ์ฐ๊ฒฐํ ๋ ์ง๋ฌธ์ด ์์ต๋๋ค!
๊ฐ์ฌ๋ ์๋ ํ์ธ์! ์ด๋ฏธ์ง ๊ด๋ฆฌ ํ์คํ ๊ฐ์๋ถํฐ ๋๋ฌด ์ ๋ค์ด์ ๋ชฝ๊ณ DB๋ AWS ๋ฐฐํฌ ์๋ฒฝ ๊ฐ์ด๋๊น์ง ๋๋ฌด๋๋ฌด ์ ๋ฃ๊ณ ์์ต๋๋ค. AWS ๋ฐฐํฌ ์๋ฒฝ ๊ฐ์ด๋ - ์น์ 10: AWS El
awsdockerci/cdaws-ecsJason Koh
ใป
0
368
2
- ํด๊ฒฐ
ํ๋ก ํธ ๋ฐฑ์๋๊ฐ์ http ์์ฒญ์ ์ฃผ๊ณ ๋ฐ์ผ๋ ค๋ฉด
์๋ ํ์ธ์ ์ ์๋.์ ๋ next.js๋ก ๋ง๋ ํ๋ก ํธ์๋์, nestjs๋ก ๋ง๋ ๋ฐฑ์๋๋ฅผ ECS์ ๊ฐ๊ฐ ์๋น์ค๋ก ๋ง๋ค์ด ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค.ํ๋ก ํธ์๋์์ fetch() ํจ์๋ก ๋ฐฑ์๋์ ์์ฒญ์ ๋ณด๋ด๋๋ฐ,์ด ๋
awsdockerci/cdaws-ecs๋๊ฐ์ค๋ ๋ค
ใป
0
327
1
- ๋ฏธํด๊ฒฐ
aws ecs + fargate ํ๊ฒฝ์์ aws elasticache ์ฐ๋ ์ด์
redis ์์ฑ ์, ๋ชจ๋ ํฌํธ์ ์ธ๋ฐ์ด๋ ๊ท์น์ ํ์ฉํด๋์์ต๋๋ค.ecs service ๊ตฌ์ฑ ์, redis๊ฐ ์ํด์๋ sg์์ ์ค๋ ์์ฒญ ํ์ฉํ๋ ์ธ๋ฐ์ด๋ ๊ท์น ์ถ๊ฐํ์ต๋๋ค.task-defi
awsdockerci/cdaws-ecsDev
ใป
1
504
1






