코딩 범고래의 해저동굴

ECS + Github action을 위한 여정 (4) ~ ECS에서 사용할 VPC 구성하기 ~ 본문

AWS

ECS + Github action을 위한 여정 (4) ~ ECS에서 사용할 VPC 구성하기 ~

코딩범고래 2023. 4. 24. 10:57

이전글:

ECS + Github action을 위한 여정 (3) ~ EC2에 있는 Docker image 파일을 ECR에 push하기 ~

 

ECS + Github action + CodeDeploy를 위한 여정 (3) ~ EC2에 있는 Docker image 파일을 ECR에 push하기 ~

이전 글 : ECS + Github action + CodeDeploy를 위한 여정 (2) ~ Local에 있는 React 프로젝트를 EC2로 옮긴 뒤 Docker로 Build하기 ~ ECS + Github action + CodeDeploy를 위한 여정 (2) ~ Local에 있는 React 프로젝트를 EC2로 옮긴

coding-orca.tistory.com

 

 

이전글에서 올린 ECR로 ECS를 돌려보겠다.

우선 VPC를 먼저 설정해보자. (귀찮으면 이 글은 건너 뛰고 default VPC를 사용해도 좋음)

 

1)  VPC 생성하기

 

VPC 대시보드에서 VPC 클릭

 

"VPC 생성" 클릭

 

이름 지정, 

IPv4 CIDR은 

/16까지는 필요 없으므로 

192.168.0.0/24로 지정하겠다.

 

"VPC 생성"클릭

 

잘 생성되었다

이제 서브넷을 만들어야한다.

AWS는 VPC만 만들어서는 아무런 네트워킹도 할 수없다

서브넷을 만들고 이 서브넷을 라우팅 테이블에 연결하고, 외부망과의 연결이 필요하면 IGW(인터넷게이트웨이)와의 연결까지 필요하다. 지금부터 차근 차근 해보자.

 

 

 

 

2) 서브넷 만들고 설정하기

VPC => 서브넷 페이지로 가서 "서브넷 생성" 클릭

 

 

 

첫번째 서브넷 가용 영역은 서울 ap-northeast-2a로 해준다

 

※ 서브넷 계산 타임

192.168.0.0/24였으니

32 - 24 => 8 => 2의 8승 => 256 이므로

192.168.0.0 ~ 192.168.0.255 까지라고 생각..

이를 서브넷 2개로 나눠가질 생각이므로

/25를 해주면 32-25 => 7 => 2의 7승으로 2개의 서브넷이 나눠가질예정이다.(128 개 / 128개)

 

현재는 192.168.0.0/25

다음 만드는 것은 192.168.0.128/25로 만들 예정..!

 

작성해준 뒤 "서브넷 생성"

 

이후 바로 두번째 서브넷 생성 

 

 

이번엔 가용 영역을 ap-nrtheast-2b로 해주고

위의 계산대로 192.168.0.128/25로 해준다.

"서브넷 생성"클릭..

 

생성 후 필터링된 상태로 서브넷을 보여주는데 필터링을 해제하고 보면

 

우리가 만든 서브넷이 잘 보인다.

 

※ 주의

서브넷을 만든 후 이를 ECS 컨테이너에서 에서 사용할 것인데, 이 때

컨테이너로 생성되는 EC2의 public IPv4할당을 위해 서브넷 설정이 필요하다!

만약 이를 설정 안하면 해당 VPC로 자동 오토스케일링된 EC2를 만들면 public IPv4 할당이 안되어서

네트워크 통신이 안되어 ECR을 가져오지 못하는 상태가 발생한다..!

반드시 아래의 설정까지 해주자..

 

방금 만든 서브넷을 클릭해 상세 페이지로 진입한다

 

 

 

"작업"클릭

 

 

"서브넷 설정 편집" 클릭

 

"퍼블릭 IPv4 주소 자동 할당 활성화" 체크 후 
"저장" 클릭

 

02 서브넷도 동일하게 진행해준다..

 

이러면 이제 서브넷 설정은 끝이다.

 

 

3. 라우팅 테이블 설정 및 서브넷 연결

 

이제 이 서브넷을 라우팅 테이블에 연결해야한다.

 

VPC를 생성하면 라우팅테이블 하나가 디폴트로 생성되는데 이에 이름을 지어주고 여기에 서브넷들을 연결하고자한다.

 

라우팅 테이블 중 이름이 없는 것이 있는데 VPC 이름을 확인해보면 우리가 아까 만든 test-vpc가 있는 것을 확인할 수 있다

Name 컬럼 아래의 해당 열의 이름을 바꿔주자 

"-"라고 되어있는 이름 옆 네모를 클릭하면 변경 가능하다.

저장 후 해당 라우팅 테이블 ID를 클릭한다

 

 

일단 서브넷을 연결하기 위해 왔으므로 "서브넷 연결" 탭을 클릭

 

아까 만든 서브넷들이 "명시적 연결이 없는 서브넷" 하위에 속해있다..

이제 이녀석들에게 소속감을 심어주자!

 

명시적 서브넷 연결 옆의 "서브넷 연결 편집 클릭"

 

 

아까 만들어준 녀석들을 체크해준 뒤 "연결 저장" 

 

그 후 다시 "서브넷 연결"탭으로 돌아와보면 소속이 변경된 것을 확인할 수 있다.

 

welcome

 

4. 라우팅 테이블을 인터넷 게이트웨이와 연결

 

이제 라우팅 테이블을 외부망과 연결해야 한다.

이를 위해서는 IGW(인터넷 게이트웨이)가 필요하다.

 

인터넷 게이트웨이 페이지로 이동

 

 

"인터넷 게이트웨이 생성"클릭

 

이름만 정해주면 끝이다.

 

위에 초록색으로 VPC연결이 뜨는데 이걸 통해서 들어가도 되고 

오른쪽 "작업"을 클릭해 "VPC 연결"에 들어가도 된다.

해당 페이지로 들어가게 되면

 

 

 

아까 만든 vpc를 선택한 뒤 "인터넷 게이트웨이 연결" 클릭.

기분 좋은 향기가 솔솔

 

연결 완료가 되었음을 확인한 뒤, 다시 라우팅 테이블 페이지로 돌아가

우리가 만들어준 라우팅 테이블의 "라우팅"탭으로 가준다.

 

 

"라우팅 편집" 클릭

 

 

모든 요청에 대해 인터넷 게이트웨이를 연결할 생각이므로 

0.0.0.0/0을 입력 후 인터넷 게이트웨이 선택,

 

우리가 만들어준 인터넷 게이트웨이 (test-igw)를 클릭 후 "변경사항 저장 클릭"

 

 

 

 

완료되었음을 확인하면 이제 VPC 생성은 마무리이다.

 

다음 포스팅은 이 VPC를 이용해 본격적으로 ECS를 만들어볼 생각이다.

 

다음포스팅:

ECS + Github action을 위한 여정 (5) ~ ECR의 image를 ECS로 띄워보기 ~

 

ECS + Github action + CodeDeploy를 위한 여정 (5) ~ ECR의 image를 ECS로 띄워보기 ~

이전글 : ECS + Github action + CodeDeploy를 위한 여정 (4) ~ ECS에서 사용할 VPC 구성하기 ~ ECS + Github action + CodeDeploy를 위한 여정 (4) ~ ECS에서 사용할 VPC 구성하기 ~ 이전글: ECS + Github action + CodeDeploy를 위한

coding-orca.tistory.com

 

Comments