AWS IaaS의 유연성과 안정성은 개인 또는 비즈니스 요구 사항에 맞춰 인프라를 구축할 수 있게 해줍니다. 예를 들어 본인은 미국에 거주하면서 비즈니스는 유럽에서 운영하는 경우, 고객이 비즈니스 리소스에 접근할 때 지연(latency) 문제 없이 최상의 서비스를 제공하는 것이 핵심 목표가 됩니다. Amazon은 현재 16개 이상의 리전을 운영하고 있으며, 이곳에서 Amazon EC2 인스턴스를 호스팅할 수 있습니다.
한 리전 또는 가용 영역(Availability Zone)에 호스팅된 Amazon EC2 인스턴스는 다른 리전이나 다른 가용 영역으로 손쉽게 이동할 수 있습니다. 이번 글에서는 EC2 인스턴스를 다른 AWS 리전으로 이동하는 전체 절차를 실제 시나리오와 함께 단계별로 살펴보겠습니다.

시나리오: 웹샵 애플리케이션의 지연 문제 해결
EC2 인스턴스를 다른 리전으로 이동하는 절차를 설명하기 위해 현실적인 시나리오를 가정해 보겠습니다. 미국 동부(오하이오) 리전의 Amazon EC2 인스턴스에서 웹샵 애플리케이션을 호스팅하고 있다고 상상해 봅시다. 모든 고객은 DACH 지역(독일, 오스트리아, 스위스)에 위치해 있으며, 웹샵에 접속할 때 높은 지연 시간을 경험하고 있습니다. 이러한 부정적인 사용자 경험은 자연스럽게 고객 만족도 하락으로 이어집니다.
이 문제를 해결하기 위해 Amazon EC2 인스턴스를 미국 동부(오하이오)에서 유럽(프랑크푸르트) 리전으로 이동할 것입니다.
1단계: AMI 이미지 생성
- AWS Management Console에 로그인합니다.
- Services를 클릭한 후 EC2를 선택합니다.
- Running instances(실행 중인 인스턴스)를 클릭합니다.
- 인스턴스를 마우스 오른쪽 버튼으로 클릭하고 Instance state → Stop을 선택하여 인스턴스를 중지합니다.
- 인스턴스를 마우스 오른쪽 버튼으로 클릭하고 Image → Create Image를 선택합니다.

- Create Image 화면에서 아래 설정을 입력한 후 Create image를 클릭합니다.
- Image name – 이미지 이름을 입력합니다.
- Image description – 이미지의 내용과 용도에 대한 설명을 입력합니다.
- No reboot – 활성화하면 Amazon EC2가 이미지를 생성하기 전에 인스턴스를 종료하지 않습니다. 이 옵션을 사용하면 생성된 이미지의 파일 시스템 무결성이 보장되지 않으므로 주의가 필요합니다. 본 예제에서는 비활성화합니다.
- Instance Volumes – 볼륨 크기와 볼륨 유형을 정의합니다. 추가 볼륨을 생성하려면 Add New Volume을 클릭하세요. 여기서는 기본 설정을 유지합니다.

2단계: AMI를 대상 리전으로 복사
- Create Image request received 아래의 View pending image ami-xxxxxxxxxx를 클릭합니다.

- Status: available로 표시되면 AMI 이미지가 성공적으로 생성된 것입니다.
- AMI 이미지를 마우스 오른쪽 버튼으로 클릭하고 Copy AMI를 선택합니다.

- AMI 'ami-0fdba46d625030531'이 새로운 AMI로 복사됩니다. 아래와 같이 새 AMI 설정을 구성합니다:
- Destination region – 대상 리전을 선택합니다. 현재 16개의 AWS 리전이 있으며, 여기서는 Amazon EC2 인스턴스를 미국 동부(오하이오)에서 유럽(프랑크푸르트)으로 이동합니다.

- Name – 새 Amazon EC2 인스턴스의 이름을 정의합니다.
- Description – AMI에 대한 설명을 입력합니다.
- Encryption – 대상 EBS 스냅샷을 암호화하는 옵션입니다. 본 예제에서는 사용하지 않습니다.
AMI 설정을 구성한 후 Copy AMI를 클릭합니다.

- AMI 복사 작업이 시작됩니다. 새 AMI를 확인하려면 AMI 화면을 새로고침해야 할 수 있습니다. 새 AMI가 표시되기까지 몇 분 정도 걸릴 수 있습니다. Visit the AMIs page in eu-central-1을 클릭하여 복사 작업 진행 상황을 확인하세요.

- 복사 중에는 Status: pending으로 표시됩니다.

몇 분 후 AMI 이미지가 사용 가능한 상태가 됩니다.

3단계: 새 리전에서 인스턴스 시작
- AMI 이미지를 마우스 오른쪽 버튼으로 클릭하고 Launch를 선택합니다.

- 인스턴스 유형을 선택한 후 Next: Configure Instance Details를 클릭합니다. 본 예제에서는 t2.micro(가변 ECU, vCPU 1개, 2.5GHz Intel Xeon 패밀리, 메모리 1GiB, EBS 전용)를 선택합니다.

- 필요에 따라 인스턴스 세부 정보를 구성합니다. Subnet 항목에서 유럽(프랑크푸르트) 리전의 적절한 서브넷과 가용 영역을 선택하세요. 또한 실수로 인스턴스가 종료되는 것을 방지하는 termination protection(종료 방지)을 활성화하는 것을 권장합니다. 설정이 완료되면 Review and Launch를 클릭합니다.

- 인스턴스 설정을 검토한 후 Launch를 클릭합니다.
- 기존 키 페어를 선택하거나 새 키 페어를 생성합니다. 키 페어는 AWS가 저장하는 공개 키와 사용자가 보관하는 개인 키 파일로 구성되며, 두 키를 함께 사용하여 인스턴스에 안전하게 연결할 수 있습니다. Create a new key pair를 클릭하면 페어 이름을 정의하고 Windows 암호를 해독하는 데 사용될 키 페어를 다운로드해야 합니다. 계속 진행하기 전에 반드시 개인 키 파일(*.pem 파일)을 다운로드해야 합니다. 본 예제에서는 새 키 페어를 생성합니다.

- Launch Instances를 클릭합니다.
- 인스턴스가 시작됩니다. View launches를 클릭하여 시작 상태를 확인합니다.
- 인스턴스가 성공적으로 초기화될 때까지 몇 분간 기다립니다.
- Amazon EC2 인스턴스에 연결하여 모든 것이 정상적으로 작동하는지 확인합니다.