컴퓨터/프로그래밍

Move AWS Tokyo Region's instance to AWS Seoul Region (AWS도쿄 리젼에서 AWS서울 리젼으로 인스턴스 옮기기)

StudioEgo 2016. 1. 9. 16:33

2016년 1월 7일, Amazon에서 AWS Seoul Region(서울 리젼) 설립을 발표하였습니다.




위의 발표공지를 보고나서, AWS Seoul Region의 Latency와 AWS Tokyo Region의 Latency를 측정해보았습니다.

측정은 Apache ab와 nginx를 이용하여 다음의 링크를 사용하여 측정했습니다.



AWS Tokyo Region 

 # ab -n 10 -c 1 http://**.**.**.**/index.html

This is ApacheBench, Version 2.3 <$Revision: 1706008 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/


Benchmarking **.**.**.** (be patient).....done



Server Software:        nginx/1.9.9

Server Hostname:        **.**.**.**

Server Port:            80


Document Path:          /index.html

Document Length:        612 bytes


Concurrency Level:      1

Time taken for tests:   0.848 seconds

Complete requests:      10

Failed requests:        0

Total transferred:      8440 bytes

HTML transferred:       6120 bytes

Requests per second:    11.79 [#/sec] (mean)

Time per request:       84.805 [ms] (mean)

Time per request:       84.805 [ms] (mean, across all concurrent requests)

Transfer rate:          9.72 [Kbytes/sec] received


Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:       40   42   1.3     42      45

Processing:    41   43   1.2     43      45

Waiting:       41   42   1.2     42      45

Total:         82   85   1.8     84      88


Percentage of the requests served within a certain time (ms)

  50%     84

  66%     85

  75%     85

  80%     87

  90%     88

  95%     88

  98%     88

  99%     88

 100%     88 (longest request)

AWS Seoul Region

 # ab -n 10 -c 1 http://**.**.**.**/index.html

This is ApacheBench, Version 2.3 <$Revision: 1706008 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/


Benchmarking **.**.**.** (be patient).....done



Server Software:        nginx/1.9.9

Server Hostname:        **.**.**.**

Server Port:            80


Document Path:          /index.html

Document Length:        612 bytes


Concurrency Level:      1

Time taken for tests:   0.172 seconds

Complete requests:      10

Failed requests:        0

Total transferred:      8440 bytes

HTML transferred:       6120 bytes

Requests per second:    58.14 [#/sec] (mean)

Time per request:       17.201 [ms] (mean)

Time per request:       17.201 [ms] (mean, across all concurrent requests)

Transfer rate:          47.92 [Kbytes/sec] received


Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:        7    9   1.3      9      11

Processing:     6    8   2.2      8      14

Waiting:        6    8   2.2      8      14

Total:         14   17   2.4     17      22


Percentage of the requests served within a certain time (ms)

  50%     17

  66%     18

  75%     18

  80%     19

  90%     22

  95%     22

  98%     22

  99%     22

 100%     22 (longest request)



AWS Tokyo Region Avg. Latency

 87.11111111(ms)

AWS Seoul Region Avg. Latency

 20.22222222(ms)


AWS Seoul Region 의 Latency와 AWS Tokyo Region의 Latency를 비교하니 AWS Seoul Region이 훨씬 빠르다는걸 체감하였습니다.

이후 다운로드 전송량 측정을 해보아도 AWs Seoul Region이 빠르다는 것도 확인하였습니다.


AWS Tokyo Transfer Rate

 9.72 [Kbytes/sec] 

AWS Seoul Transfer Rate

 47.92 [Kbytes/sec]


측정결과 AWS Tokyo와 AWS Seoul간의 엄청난 속도차이를 경험하였고, AWS Tokyo Region의 사용료보다 AWS Seoul Region의 사용료가 조금 더 저렴하다는 걸 보고 깜짝 놀랐습니다.


Tokyo 보다 접근 속도가 빠르면서, Tokyo보다 저렴한 Seoul을 사용해야겠다는 결론을 내렸습니다.


기존에 AWS Tokyo Region에서 생성한 인스턴스(Instance)를 AWS Seoul Region으로 옮기는 작업을 진행하였습니다.


AWS Tokyo Region(도쿄/東京 리젼)의 인스턴스를 AWS Seoul Region(서울 리젼)으로 옮기는 방법

이 방법은 

위의 링크를 참조하였습니다. 위의 링크에 있는대로 따라하니 문제 없이 Tokyo Region의 Instance가 그대로 Seoul Region의 Instance로 옮겨지고, 정상작동함을 확인함.


1. AWS Tokyo Region EC2 Instances 메뉴 

옮길려는 인스턴스의 속성 메뉴에서 Create image(EBS AMI)함.

2. AMIs 메뉴 - 새로 만든 AMI 이미지로 Launch Instance 하고 기존에 생성한 Instance와 같은 사양의 Instance를 만든다.

3. Instances 메뉴 - 새로운 Instance가 Running 되면 Instance의 속성 메뉴에서 Stop 한다.

4. Volumes 메뉴 - Instance에 연결된 볼륨의 속성 메뉴에서 Create Snapshot 한다.

5. Snapshots 메뉴 - 새로 만든 스냅샵의 속성 메뉴에서 Copy Snapshot 한다. 

6. 팝업창에서 Destination region 항목에 Seoul Region을 선택한다.


7. AWS Seoul Region EC2Snapshots 메뉴 - Tokyo Region 에서 복사 된 스냅샷의 속성 메뉴에서 Create Volume from Snapshot 한다.

8. Volumes 메뉴 - 스냅샷으로 만든 볼륨의 Volume ID를 확인 한다.

9. Instances 메뉴 - Tokyo Region Instance 와 같은 사양의 Instance를 Launch Instance로 생성하고 Instance가 Running 되면 속성 메뉴에서 Stop 한다.

10. Volumes 메뉴 - Instance에 연결(sda1)된 볼륨의 속성 메뉴에서 Detach Volume 하고 Instance에서 볼륨을 때어낸다. Tokyo Region의 스냅샷으로 만든 볼륨을 속성 메뉴에서 Attach Volume 한다. 

팝업창에서 Instance 항목에 해당 Instance를 선택하고, Device 항목에  "/dev/sda1"으로 수정한 다음 Yes, Attach 해서 볼륨을 붙인다.

12. Instance 메뉴 - Stop 되어 있는 Instance를 Start 한다. Instance가 Running 되면 접속해서 확인한다.


이제 AWS Seoul Region이 생겼으니 Seoul Region을 애용해야겠습니다 ~_~