brunch

You can make anything
by writing

- C.S.Lewis -

by DNS전문가카페운영 Jul 27. 2018

40.[AWS]글로벌 내부연동 VPC Peering

AWS로 글로벌 서비스하기

문제점
글로벌 서비스하려면 각 나라  데이터 연동이 필요하다.

인터넷 구간으로 데이터 전송시 비용이나 부하가 발생한다.


해결방안

나라(리즌)간 내부연동은 VPC Peering으로 해결한다.

AWS 리전 네트워크간 내부 연동하기

각 나라 VPC간 내부 연결하기
각 나라 VPC간  Peering 하기

AWS 글로벌 네트워크간 내부 연동하기

자 ~ 독일과 싱가포르에 네트워크를 구축하고 내부 연동해보자~

ㅎㅎ 혼자서도 글로벌 네트워크를 구축할수 있는 시대가 되었다 ^^

유럽에서 인터넷 서비스하려면 독일에 서버를 구축한다.
일반적으로 중국쪽은 싱가포르쪽에 구축하여 운영한다.

여기서는 독일에 서버 구축하고, 싱가포르에 서버 구축하고,내부연동 해보겠다.

1. 각 나라에 네트워크(VPC)를 구성한다.
네트워크를 구축하고, 서브네팅하고 ,게이트웨이 설정, 라우팅 설정한다.
ping테스트용으로 서버 1대 생성한다.
방화벽은 ssh,ping(icmp) 허용하는 구성으로 한다.

1) 독일에 네트워크를 구축한다.
싱가포르는 동일하게 네트워크를 구축한다.
독일은 10.100.100.0 /22 (C-class 4개) - Frank1
싱가포르는 192.168.0.0 /22 (C-class 4개) -




나중에 IP가 부족하지 않게 C-Class 4개 네트워크로 생성한다.
참고로 사설 블럭은 아래와 같다.
10.0.0.0~10.255.255.255.255  (10.0.0.0/8)
172.16.0.0~172.31.255.255 (172.16.0.0/12)
192.168.0.0 ~192.168.255.255)


독일 네트워크 서브네팅 한다.
10.100.100.0/24
Frank1-0.100.100.0-24
VPC ID는 알아두자. 연동(피어링) 할때 필요하다. vpc-6a4c6901




인터넷 게이트웨이 설정한다.
Frank1-GW



디폴트 라우팅 설정한다.
0.0.0.0/0  Frank1-GW

ping테스트옹 서버 1대 생성한다.
Auto-assign Public IP를 Enable해서 생성한다.
키는 frank1으로 한다.
생성 완료
ip확인 10.100.100.115  
public ip 18.185.211.152

방화벽에서 ping허용한다.(icmp허용)



집에서 독일은 300ms
18.185.211.152의 응답: 바이트=32 시간=302ms TTL=42
18.185.211.152의 응답: 바이트=32 시간=315ms TTL=42
18.185.211.152의 응답: 바이트=32 시간=302ms TTL=42
18.185.211.152의 응답: 바이트=32 시간=302ms TTL=42

호스팅업체 서버에서 288ms
64 bytes from 18.185.211.152: icmp_seq=1 ttl=36 time=288 ms
64 bytes from 18.185.211.152: icmp_seq=2 ttl=36 time=288 ms
64 bytes from 18.185.211.152: icmp_seq=3 ttl=36 time=288 ms
64 bytes from 18.185.211.152: icmp_seq=4 ttl=36 time=288 ms
64 bytes from 18.185.211.152: icmp_seq=5 ttl=36 time=288 ms
64 bytes from 18.185.211.152: icmp_seq=6 ttl=36 time=288 ms
64 bytes from 18.185.211.152: icmp_seq=7 ttl=36 time=288 ms
64 bytes from 18.185.211.152: icmp_seq=8 ttl=36 time=289 ms


2) 싱가포르도 192.168.0.0 /22 (C-class 4개)로 네트워크 구축한다.
    

그 : sing1-vpc
싱가포르 VPC ID : vpc-42540a25

VPC ID는 알아두자. 연동(피어링) 할때 필요하다.



서브네팅

sing1-sub1

192.168.0.0/24


인터넷 게이트웨이 설정한다.

디폴트 라우팅  0.0.0.0/0 을  설정한다.


서버생성

key pair는 sing1

방화벽 ssh, icmp 허용


싱가포르 서버정보 확인

192.168.0.159

52.221.242.231




싱가포르까지는 100ms정도 구나~

집에서 싱가포르까지 92ms

52.221.242.231의 응답: 바이트=32 시간=92ms TTL=233
52.221.242.231의 응답: 바이트=32 시간=92ms TTL=233
52.221.242.231의 응답: 바이트=32 시간=92ms TTL=233
52.221.242.231의 응답: 바이트=32 시간=94ms TTL=233


외부 호스팅서버에서는 82 ms

64 bytes from 52.221.242.231: icmp_seq=2 ttl=235 time=82.4 ms
64 bytes from 52.221.242.231: icmp_seq=3 ttl=235 time=82.4 ms
64 bytes from 52.221.242.231: icmp_seq=4 ttl=235 time=82.4 ms
64 bytes from 52.221.242.231: icmp_seq=5 ttl=235 time=82.4 ms



독일에서 싱가포르까지는 얼마나 걸리나? 165ms

[ec2-user@ip-10-100-100-115 ~]$ ping 52.221.242.231

PING 52.221.242.231 (52.221.242.231) 56(84) bytes of data.
64 bytes from 52.221.242.231: icmp_seq=1 ttl=231 time=165 ms
64 bytes from 52.221.242.231: icmp_seq=2 ttl=231 time=165 ms
64 bytes from 52.221.242.231: icmp_seq=3 ttl=231 time=165 ms
64 bytes from 52.221.242.231: icmp_seq=4 ttl=231 time=165 ms
64 bytes from 52.221.242.231: icmp_seq=5 ttl=231 time=165 ms
64 bytes from 52.221.242.231: icmp_seq=6 ttl=231 time=165 ms
64 bytes from 52.221.242.231: icmp_seq=7 ttl=231 time=165 ms


내부 통신은 안되는구나. 그렇지.

[ec2-user@ip-10-100-100-115 ~]$ ping 192.168.0.159
PING 192.168.0.159 (192.168.0.159) 56(84) bytes of data.



내부통신 어떻게 가나 보자~

유럽에서 다른데로 못가지요~

[root@ip-10-100-100-115 ~]# traceroute 192.168.0.159

traceroute to 192.168.0.159 (192.168.0.159), 30 hops max, 60 byte packets
1 ec2-54-93-0-70.eu-central-1.compute.amazonaws.com (54.93.0.70) 19.226 ms ec2-54-93-0-66.eu-central-1.compute.amazonaws.com (54.93.0.66) 21.809 ms ec2-54-93-0-68.eu-central-1.compute.amazonaws.com (54.93.0.68) 26.063 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *




2. 두 나라간 내부연동을 한다


순서
1) 독일에서 피어링 요청을 한다.

2) 싱가포르에서 피어링 요청을 승인한다.

3) 독일에서 싱가포르로 라우팅 잡는다.

    싱가포로에서 독일로 라우팅을 잡는다.
4) 잘 되는지 ping으로 확인한다.


1) 독일에서 피어링 요청을 한다.

[VPC] - [Peering Connections]


싱가포르 VPC ID : vpc-42540a25

둘간에 피어링 pcx-02xxxx





2) 싱가포르에서 피어링 요청을 승인한다.






3) 싱가포르에서 독일로 라우팅을 잡는다.

VPC - Route Tables - Routes 텝 - Edit해서  목적지인 독일 네트워크에 대해 PCX(피어링게이트웨이)로 잡는다.

10.100.100.0/22 쪽으로 pcx-02xxxxx 추가한다.





독일에서 싱가포르로 라우팅 잡는다.




사설IP간에 Ping이 잘 되는지 확인한다.

안되던 ping 잘된다 ^^


[root@ip-10-100-100-115 ~]# ping 192.168.0.159
PING 192.168.0.159 (192.168.0.159) 56(84) bytes of data.
64 bytes from 192.168.0.159: icmp_seq=39 ttl=255 time=162 ms
64 bytes from 192.168.0.159: icmp_seq=40 ttl=255 time=162 ms
64 bytes from 192.168.0.159: icmp_seq=41 ttl=255 time=162 ms
64 bytes from 192.168.0.159: icmp_seq=42 ttl=255 time=162 ms


트레이스는 여전히 제공하지 않나보다.

[root@ip-10-100-100-115 ~]# traceroute 192.168.0.159

traceroute to 192.168.0.159 (192.168.0.159), 30 hops max, 60 byte packets

 1  * * *

 2  * * *

 3  * * *

 4  * * *

 5  * * *

 6  * * *

 7  * * *

 8  * * *

 9  * * *

10  * * *

11  * * *

12  * * *

13  * * *

14  * * *

감사합니다.

매거진의 이전글 39.[AWS]모바일 홈페이지 2대 CLI로 만들기2

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari
;