본문 바로가기
Server

[AWS] VPC peering 서로 다른 계정 , 사설 IP 설정, 인스턴스 AMI 이미지

by 오늘도 깨달았다 2022. 10. 19.
반응형

클라이언트가 직접적으로 액세스하지 않는 서버 뒷단에서 보안상 공인IP가 아닌 사설 IP로 서로 통신하게 만들기 위해 

VPC peering을 통해 라우팅해준 경험을 작성하려고 한다. 

 

AWS에서 계정이 달라도 VPC peering을 할 수 있게 해줘서 다른 계정에 있는 서버들도 연결했다. 

(프리티어 쓰기위해.. )

 

 

일단 IP와 VPC의 개념에 대해 알아야하는데 잘 모른다면 해당 글을 보고 진행하면 더 잘 이해가 될 것같다.

https://realizetoday.tistory.com/m/entry/AWS-VPC-IP-%EC%A3%BC%EC%86%8C%EC%B2%B4%EA%B3%84

 

본 글은 인스턴스가 있는 상황에서 사설IP 대역을 나누는 예제로 작성됐으므로 , 인스턴스를 생성하기 전이라면 VPC 부터 만들고 인스턴스 생성하는 부분 보면 되고, 인스턴스를 생성했는데 VPC peering을 통해 사설 IP를 사용하려면 이 글 처음부터 보면 된다.

 

계정 A : VPC를 새로 추가할 계정

계정 B : 원래 있던 계정 or VPC를 새로 추가한 계정 


계정 A 

 

 

VPC를 새로 만들지 않고 기본 VPC로 이용할 경우에는 CIDR이 똑같다.

따라서 VPC를 새로 생성해야 하고 CIDR값은 다르게 설정해줘야 한다.

VPC 사설 IP 대역이 같게되면 peering을 할 수 없다.

 

CIDR의 기본 값은 172.31.0.0/16으로 설정되어 있기때문에 이 값을

172.16.0.0/16 한 개

172.17.0.0/16 한 개

이런식으로 서로 다른 IP대역의 VPC를 생성해줘야 한다.  

 

1. 먼저 VPC를 하나 생성해준다.

 

AWS console -> VPC -> VPC 생성 클릭 

 

 

1. 생성할  리소스

     VPC 등 

 

2. 이름 태그 자동 생성

 1) 선택적으로 이름을 만들던지, 자동생성하던지

 2) IPv4 CIDR 블록 

 나의 경우엔 10.0.0/16 CIDR로 아예 다른 대역을 선택해 겹칠일이 없게 만들어줬다. 잘 모르겠다면 그냥 이렇게 설정하면됨

 

3. 서브넷 수

공인 IP 는 원하는대로 만들어라

사설 IP 수는 최소 2개 이상 만들어야한다. 

 

 

이렇게 원하는대로 설정을 한 후 VPC 를 생성한다. 

 


VPC peering

 

 

계정 B

 

다른 계정에서 VPC peering을 할 거면 해당 계정의 aws console로 접속

( aws console은 쿠키로 계정정보를 가지고있기 때문에 chrome을 시크릿모드로 하나 더 틀어주거나, 다른 브라우저를 사용하면 계정 A 계정 B 둘 다 console을 켜 놓을 수있다 꿀팁)

 

VPC console 이동 -> 피어링 연결 클릭 

피어링 연결 생성 클릭

이름 : 선택인데 넣어주세요. 나중에 헷갈림..

피어링할 로컬 VPC 선택 : 아마 인스턴스를 생성했으면 자동으로 들어가 있을텐데 없다면 위에 VPC 생성과정을 한번 더 거치던가, 인스턴스를 생성하고 지금 이 부분을 진행하세요.

** CIDR는 계정 A의 IP 대역과 달라야함

 

피어링 할 다른 VPC 선택 : 내 계정이면 내 계정, 다른 계정이라면 계정 ID를 입력해야함 밑의 사진 참고

다른계정 : 계정 A

 

리전 : 서울에 만들었으면 같은 리전 선택하면 됨 (가용영역과는 상관없음)

 

VPC ID : 계정 A 의 VPC console 접속 후 아까 만든 VPC의 ID 복사

 

 

요청 클릭 


계정 A - VPC console -> 피어링 연결

 

대기중인 피어링 수락 

 

 


여기까지 하면 VPC peering 은 완료됐고 이제 원래 있던 인스턴스(계정B)에서 VPC 를 새로 지정하는 방법이다. 

 

VPC를 새로 지정하지 않는다면 이부분은 건너뛰어도 좋다.

 

계정 B 

 

EC2 console로 이동 

가동중인 인스턴스에 오른쪽마우스 클릭 후 이미지 생성

 

주의 EC2 콘솔 왼쪽에 이미지에서 생성이 완료 됐는지 확인하고 인스턴스를 종료하자.

 

 

인스턴스 새로 시작 

새로 인스턴스를 시작할 때 찍어놓은 이미지로 시작한다. 

 

네트워크설정이 제일 중요하다. 

VPC를 다르게 적용하고싶다면 위에 있는 VPC 생성을 계정 B에도 똑같이 진행하고 만든 VPC를 선택해야한다.

 

서브넷은 VPC를 만들면서 생긴 private ip 를 선택해야한다.

(글을 따라왔다면 서브넷은 네개가 생성되어있을건데 3번째꺼 선택)

 

 

이렇게 설정을 하고 인스턴스를 생성한다.

 

 

방금 만든 인스턴스에 들어가면 VPC ID, 서브넷 ID가 있다. 클릭하게 되면 링크로 이동하게되는데 

 

VPC ID 클릭한 화면에서 

기본 라우팅 테이블 클릭 -> 라우팅

 

방금 만든 VPC가 추가되어있을것이다. 

 

 

routing table에 서로의 값을 추가 해 줘야 한다.   

 

방금 만든 VPC 클릭 -> 라우팅 편집 클릭

 

 

사진에 맨 위에 검정색으로 칠해진 필터를 제거하고 보면 몇개가 있다. 

 

그 중 방금 인스턴스에 할당한 VPC 이름을 찾아서 클릭하고 라우팅을 정의해준다. 

 

계정 A, B 둘 다 적용해줘야하며 사진을 참고하고 밑에 설명을 참고하자

대상

0.0.0.0/0  -> 인터넷 게이트웨이이다. 오른쪽의 대상에는 눌러보면 인터넷 게이트웨이가 있을것이고 선택을 해주면된다.

 

172.31.0.0/16 

오른쪽의 대상은 피어링한 VPC peering id를 선택하면 된다.

 

계정 A는 계정 B의 VPC ip 대역

계정 B는 계정 A의 VPC ip 대역

 

 

 

test 는 설정한 두개의 인스턴스 포트포워딩 인바운드쪽에 ICMP를 전체로 열어주고

ping 상대방 사설IP 

를 보내서 핑이 잘 간다면 성공한 것이다.

반응형

댓글