AWS에서 Google Cloud로 마이그레이션: Amazon EKS에서 GKE로 마이그레이션

Last reviewed 2023-09-30 UTC

Google Cloud는 Amazon Elastic Kubernetes Service(Amazon EKS)에서 Google Kubernetes Engine(GKE)으로 마이그레이션하기 위한 도구, 제품, 안내, 전문 서비스를 제공합니다. 이 문서는 Amazon EKS에서 GKE로의 마이그레이션 계획을 설계, 구현, 검증하는 데 도움이 됩니다. 이 문서에서는 마이그레이션 기회를 평가하고 마이그레이션 과정을 살펴보려는 경우에 필요한 안내도 제공합니다. Amazon EKS에는 Amazon Elastic Compute Cloud(Amazon EC2)에서 실행하는 것 외에도 AWS 출력 기반의 Amazon EKS, Amazon EKS Anywhere와 같은 몇 가지 다른 배포 옵션이 있습니다. 이 문서에서는 EC2 기반의 Amazon EKS에 대해 자세히 살펴봅니다.

이 문서는 AWS에서 Google Cloud로 마이그레이션하는 방법을 다루는 시리즈의 일부로서 이 시리즈에는 다음 문서가 포함됩니다.

이 문서는 사용자가 다음 문서를 읽고 숙지했다고 가정하고 작성되었습니다.

다음 다이어그램은 마이그레이션 과정을 보여줍니다. 마이그레이션 시나리오에서는 배포 단계가 마이그레이션 프로세스 수행에 해당합니다.

4가지 단계로 구성된 마이그레이션 경로

일부 워크로드를 먼저 마이그레이션하고 이후 다른 워크로드를 마저 마이그레이션하는 일련의 반복 작업을 통해 Amazon EKS에서 GKE로 마이그레이션할 수 있습니다. 개별 마이그레이션을 반복할 때마다 일반 마이그레이션 프레임워크의 단계를 수행합니다.

  1. 워크로드와 데이터를 평가하고 탐색합니다.
  2. Google Cloud의 기반을 계획하고 빌드합니다.
  3. 워크로드와 데이터를 Google Cloud로 마이그레이션합니다.
  4. Google Cloud 환경을 최적화합니다.

이 프레임워크의 단계에 대한 자세한 내용은 Google Cloud로 마이그레이션: 시작하기를 참조하세요.

원본 환경 평가

평가 단계에서는 Amazon EKS에서 GKE로 마이그레이션하려는 리소스의 요구사항과 종속 항목을 결정합니다.

평가 단계는 다음 작업으로 구성됩니다.

  1. 워크로드 및 데이터의 포괄적 인벤토리를 빌드합니다.
  2. 속성 및 종속 항목에 따라 워크로드 및 데이터를 분류합니다.
  3. 팀에 Google Cloud 교육을 실시합니다.
  4. Google Cloud에서 실험 및 개념 증명을 빌드합니다.
  5. 대상 환경의 총 소유 비용(TCO)을 계산합니다.
  6. 마이그레이션할 워크로드의 순서와 우선순위를 결정합니다.

평가 단계 및 이러한 작업에 대한 자세한 내용은 Google Cloud로 마이그레이션: 워크로드 평가 및 탐색을 참조하세요. 다음 섹션은 이 문서의 정보를 기반으로 합니다.

인벤토리 빌드

마이그레이션 범위를 지정하려면 인벤토리 두 개, 즉 Amazon EKS 클러스터 중 하나와 해당 클러스터에 배포된 워크로드 중 하나를 만듭니다. 이러한 인벤토리를 빌드한 후 클러스터에 워크로드를 배포하기 위한 배포 및 운영 프로세스를 평가합니다.

Amazon EKS 클러스터 및 워크로드의 인벤토리 빌드

Amazon EKS 클러스터의 인벤토리를 빌드하려면 현재 환경에서 Google Cloud까지의 엔드 투 엔드 클라우드 여정을 가속화하는 데 도움이 되는 Google Cloud의 통합 플랫폼인 Migration Center를 사용하는 것이 좋습니다. Migration Center를 사용하면 Amazon EKS 및 기타 AWS 리소스에서 데이터를 가져올 수 있습니다. 그러면 Migration Center에서 마이그레이션할 수 있는 관련 Google Cloud 서비스를 권장합니다.

Amazon EKS 클러스터의 인벤토리를 빌드할 때 마이그레이션 중에 일부 클러스터를 사용 중단해야 할 수 있습니다. 마이그레이션 계획에 이러한 리소스 중단이 포함되는지 확인합니다.

Migration Center에서 제공하는 데이터가 원하는 측정기준을 완전히 캡처하지 못할 수 있습니다. 이 경우 이 데이터를 AWS API, AWS 개발자 도구, AWS 명령줄 인터페이스를 기반으로 하는 사용자가 만든 다른 데이터 수집 메커니즘의 결과와 통합하면 됩니다.

Migration Center에서 가져오는 데이터 외에도 마이그레이션하려는 각 Amazon EKS 클러스터에서 다음 데이터 포인트를 고려합니다.

  • 'Kubernetes를 GKE로 마이그레이션'의 인벤토리 빌드 섹션의 안내를 따릅니다. 이 문서에서는 Kubernetes 클러스터 및 워크로드의 인벤토리를 빌드하는 방법을 설명합니다. Amazon EKS 환경의 인벤토리를 빌드하는 데에도 적용할 수 있습니다.
  • 다음을 비롯하여 각 Amazon EKS 클러스터의 Amazon EKS 관련 측면 및 기능을 고려하세요.
    • 비공개 클러스터
    • 클러스터 엔드포인트 액세스 제어
    • 보안 비밀 암호화
    • 관리형 노드 그룹 및 자체 관리형 노드
    • Amazon EKS 리소스의 태그
    • EKS의 Amazon 커스텀 AMI
    • Amazon EKS Fargate 사용
    • Amazon EKS 관리형 Prometheus 사용
    • OpenID Connect 인증 구성
  • Amazon EKS 클러스터에 대해 인증하는 방법과 Amazon EKS에 대해 AWS Identity and Access Management(IAM)를 구성한 방법을 평가합니다.
  • Amazon EKS 클러스터의 네트워킹 구성을 평가합니다.
  • 규정 준수 및 규제 요구사항을 평가하고 이러한 요구사항을 충족하는지 여부를 평가합니다.

배포 및 운영 프로세스 평가

Amazon EKS 클러스터 및 워크로드의 인벤토리를 빌드한 후 배포 및 운영 프로세스를 평가하는 것이 좋습니다. 배포 및 운영 프로세스의 작동 방식을 명확하게 이해하는 것이 중요합니다. 이러한 프로세스는 프로덕션 환경과 그 환경에서 실행되는 워크로드를 준비하고 유지관리하는 관행의 중요한 부분입니다.

배포 및 운영 프로세스에서 워크로드가 작동하는 데 필요한 아티팩트를 빌드할 수 있습니다. 따라서 각 아티팩트 유형에 대한 정보를 수집해야 합니다. 예를 들어 아티팩트는 운영체제 패키지, 애플리케이션 배포 패키지, 운영체제 이미지, 컨테이너 이미지 등일 수 있습니다.

아티팩트 유형 외에도 다음 작업을 완료하는 방법을 고려하세요.

  • Amazon EKS에 배포하는 아티팩트 생성. Amazon EKS에 워크로드를 배포하기 위해 컨테이너 이미지와 같은 배포 가능한 아티팩트를 생성할 수 있습니다. 이러한 아티팩트를 생성하는 방법에 대한 정보를 수집하면 생성된 아티팩트가 Google Cloud 배포에 적합한지 확인하는 데 도움이 됩니다. 예를 들어 AWS의 아티팩트 레지스트리에 저장하는 아티팩트를 생성하는 경우 Google Cloud 환경에서 아티팩트를 사용할 수 있도록 해야 합니다. 이렇게 하려면 다음과 같은 전략을 사용하면 됩니다.
    • 환경 간 통신 채널 설정: 원본 환경의 아티팩트를 대상 Google Cloud 환경에서 연결할 수 있도록 합니다. 이렇게 하면 Artifact Registry의 최종 사용을 준비하는 데 도움이 됩니다.
    • 아티팩트 빌드 프로세스 리팩터링: 원본 환경과 대상 환경 모두에 아티팩트를 저장할 수 있도록 원본 환경의 마이너 리팩터링을 완료합니다. 이 방식에서는 대상 Google Cloud 환경에서 아티팩트 빌드 프로세스를 구현하기 전에 아티팩트 저장소와 같은 인프라를 빌드하여 마이그레이션을 지원합니다. 이 접근 방식을 직접 구현하거나 통신 채널을 먼저 설정하는 이전의 접근 방식으로 빌드할 수 있습니다.
  • Amazon EKS 클러스터에 아티팩트 배포 배포 가능한 아티팩트를 생성한 후 Amazon EKS에 배포할 수 있습니다. 각 배포 프로세스를 평가하는 것이 좋습니다. 평가는 배포 프로세스가 Google Cloud와 호환되는지 확인하는 데 도움이 됩니다. 또한 프로세스를 리팩터링하는 데 필요한 노력을 파악하는 데도 도움이 됩니다. 예를 들어 배포 프로세스가 Amazon EKS에서만 작동하는 경우 Google Cloud 환경을 타겟팅하도록 이를 리팩터링해야 할 수 있습니다.
  • 런타임 구성 삽입. 특정 Amazon EKS 클러스터, 런타임 환경 또는 워크로드 배포에 런타임 구성을 삽입할 수 있습니다. 이 구성으로 환경 변수와 보안 비밀, 사용자 인증 정보, 키와 같은 기타 구성 값이 초기화될 수 있습니다. 런타임 구성 삽입 프로세스가 Google Cloud에서 작동하는지 확인하려면 Amazon EKS에서 실행되는 워크로드를 구성하는 방법을 평가하는 것이 좋습니다.

배포 및 운영 프로세스를 평가한 후에는 이러한 프로세스가 어떻게 Google Cloud로의 마이그레이션을 용이하게 하며 마이그레이션 범위와 위험을 줄이는 데 어떤 도움이 되는지 평가하는 것이 좋습니다.

평가 완료

Amazon EKS 환경에서 인벤토리를 빌드한 후 Google Cloud로 마이그레이션: 워크로드 평가 및 탐색에 설명된 대로 평가 단계의 나머지 활동을 완료하세요.

기반 계획 및 빌드

계획 및 빌드 단계에서는 다음을 수행하도록 인프라를 프로비저닝하고 구성합니다.

  • Google Cloud 환경에서 워크로드를 지원합니다.
  • AWS 환경과 Google Cloud 환경을 연결하여 마이그레이션을 완료합니다.

Google Cloud에서 기반 구축

계획 및 빌드 단계는 다음 작업으로 구성됩니다.

  1. 리소스 계층 구조를 빌드합니다.
  2. Google Cloud의 Identity and Access Management(IAM)를 구성합니다.
  3. 결제 설정.
  4. 네트워크 연결을 설정합니다.
  5. 보안을 강화합니다.
  6. 로깅, 모니터링, 알림을 설정합니다.

이러한 각 작업에 대한 자세한 내용은 'Google Cloud로 컨테이너 마이그레이션: Kubernetes를 GKE로 마이그레이션'의 기반 계획 및 빌드 섹션을 참조하세요.

데이터 마이그레이션 및 워크로드 배포

배포 단계에서는 다음을 수행합니다.

  1. GKE 환경을 프로비저닝하고 구성합니다.
  2. GKE 클러스터를 구성합니다.
  3. 원본 환경에서 Google Cloud로 데이터를 마이그레이션합니다.
  4. GKE 환경에 워크로드를 배포합니다.
  5. 워크로드를 검증합니다.
  6. GKE에서 실행되는 워크로드를 노출합니다.
  7. 원본 환경에서 GKE 환경으로 트래픽을 이동합니다.
  8. 원본 환경을 사용 중단합니다.

이러한 각 작업을 완료하는 방법에 대한 자세한 내용은 'Google Cloud로 컨테이너 마이그레이션: Kubernetes를 GKE로 마이그레이션'의 워크로드 배포 섹션을 참조하세요. 다음 섹션에는 이 문서의 고려사항이 통합되어 있습니다.

데이터 이전

'컨테이너를 Google Cloud로 마이그레이션: Kubernetes를 GKE로 마이그레이션'의 데이터 마이그레이션 섹션에는 일반 Kubernetes 환경에서 GKE로 데이터를 마이그레이션하는 방법에 대한 정보가 포함되어 있습니다. 이 섹션의 추천은 Amazon EKS에서 GKE로 데이터를 마이그레이션하는 데 적용할 수 있습니다. 마이그레이션을 계획하려면 연결된 문서의 일반 환경 정보와 함께 Amazon EKS에서 GKE로 데이터를 마이그레이션하는 것과 관련된 다음 섹션을 참고하세요.

AWS는 Amazon EKS에 대한 몇 가지 데이터 저장소 옵션을 제공합니다. 이 문서에서는 다음 데이터 마이그레이션 시나리오에 중점을 둡니다.

  • Amazon EBS 볼륨에서 GKE PersistentVolume 리소스로 데이터를 마이그레이션합니다.
  • Amazon EBS 볼륨에서 Amazon S3 또는 Cloud Storage로 데이터를 복사한 후 GKE PersistentVolume 리소스로 데이터를 마이그레이션합니다.

Amazon EBS 볼륨에서 GKE PersistentVolume으로 데이터 마이그레이션

다음 방법 중 하나를 사용하여 Amazon EBS 볼륨에서 GKE PersistentVolume 리소스로 데이터를 마이그레이션할 수 있습니다.

  • Amazon EBS 볼륨에서 Compute Engine 영구 디스크로 데이터를 직접 복사합니다.
    1. Amazon EC2 인스턴스를 프로비저닝하고 마이그레이션할 데이터가 포함된 Amazon EBS 볼륨을 연결합니다.
    2. 마이그레이션할 데이터를 저장하기에 충분한 용량이 있는 빈 영구 디스크가 있는 Compute Engine 인스턴스를 프로비저닝합니다.
    3. rsync와 같은 데이터 동기화 도구를 실행하여 Amazon EBS 볼륨에서 Compute Engine 영구 디스크로 데이터를 복사합니다.
    4. Compute Engine 인스턴스에서 영구 디스크를 분리합니다.
    5. Compute Engine 인스턴스를 사용 중단합니다.
    6. 영구 디스크를 GKE PersistentVolume 리소스로 구성합니다.
  • Amazon EC2 인스턴스와 Amazon EBS 볼륨을 Compute Engine으로 마이그레이션합니다.
    1. Amazon EC2 인스턴스를 프로비저닝하고 마이그레이션할 데이터가 포함된 Amazon EBS 볼륨을 연결합니다.
    2. Migrate to Virtual Machines를 사용하여 Amazon EC2 인스턴스와 Amazon EBS 볼륨을 Compute Engine으로 마이그레이션합니다.
    3. Compute Engine 인스턴스에서 영구 디스크를 분리합니다.
    4. Compute Engine 인스턴스를 사용 중단합니다.
    5. 영구 디스크를 GKE PersistentVolume 리소스로 구성합니다.

Amazon EC2 인스턴스를 Compute Engine으로 마이그레이션하는 방법에 대한 자세한 내용은 AWS에서 Google Cloud로 마이그레이션: Amazon EC2에서 Compute Engine으로 마이그레이션을 참조하세요.

Compute Engine 영구 디스크를 GKE PersistentVolume 리소스로 사용하는 방법에 대한 자세한 내용은 기존 영구 디스크를 PersistentVolume으로 사용을 참조하세요.

Amazon EBS 볼륨에서 중간 미디어로 데이터를 복사한 후 GKE PersistentVolume으로 마이그레이션

Amazon EBS 볼륨에서 GKE PersistentVolume 리소스로 직접 마이그레이션하는 대신 객체 저장소와 같은 중간 미디어를 사용할 수 있습니다.

  1. Amazon EBS 볼륨에서 Amazon S3 버킷 또는 Cloud Storage 버킷과 같은 중간 미디어로 데이터를 업로드합니다.
  2. 중간 미디어에서 GKE PersistentVolume 리소스로 데이터를 다운로드합니다.

특정 시나리오에서는 여러 미디어를 사용하면 네트워크 및 보안 구성을 기준으로 데이터 전송을 단순화할 수 있습니다. 예를 들어 처음에 데이터를 S3 버킷에 업로드한 다음 S3 버킷에서 Cloud Storage 버킷으로 복사하고 마지막으로 영구 볼륨에 데이터를 다운로드할 수 있습니다. 선택한 접근 방식에 관계없이 중요한 고려사항을 알고 원활하게 전환할 수 있도록 AWS에서 Google Cloud로 마이그레이션: Amazon S3에서 Cloud Storage로 마이그레이션을 검토하는 것이 좋습니다.

이전 옵션 선택하기

가장 적합한 마이그레이션 옵션은 다음 고려사항과 같은 특정 필요 및 요구사항에 따라 달라집니다.

  • 마이그레이션해야 하는 데이터의 양
    • 마이그레이션할 데이터 양이 적은 경우(예: 데이터 파일 몇 개) rsync와 같은 도구를 사용하여 데이터를 Compute Engine 영구 디스크에 직접 복사하는 것이 좋습니다. 이 옵션은 비교적 빠르지만 대량의 데이터에는 적합하지 않을 수 있습니다.
    • 마이그레이션할 데이터가 많은 경우 Migrate to Virtual Machines를 사용하여 데이터를 Compute Engine으로 마이그레이션하는 것이 좋습니다. 이 옵션은 데이터를 직접 복사하는 것보다 복잡하지만 더 안정적이고 확장 가능합니다.
  • 마이그레이션해야 하는 데이터 유형
  • 원본 환경과 대상 환경 간의 네트워크 연결
    • AWS EC2 및 Compute Engine 인스턴스 간에 직접 네트워크 연결을 설정할 수 없는 경우 Amazon S3 또는 Cloud Storage를 사용하여 Compute Engine으로 마이그레이션하는 동안 데이터를 일시적으로 저장할 수 있습니다. 이 옵션은 EC2 및 Compute Engine 인스턴스를 동시에 실행할 필요가 없으므로 비용이 적게 들 수 있습니다.
  • 마이그레이션 일정
    • 네트워크 대역폭이 제한되어 있거나 데이터 양이 많고 일정이 여유롭지 않은 경우 Transfer Appliance를 사용하여 AWS에서 Google Cloud로 데이터를 마이그레이션할 수도 있습니다.

선택한 옵션에 관계없이 마이그레이션을 시작하기 전에 테스트하는 것이 중요합니다. 테스트를 통해 잠재적인 문제를 식별하고 마이그레이션이 성공했는지 확인할 수 있습니다.

마이그레이션 후 환경 최적화

모든 마이그레이션 단계를 완료하면 마이그레이션이 완료된 것으로 간주됩니다. 하지만 GKE 환경에 추가 최적화가 필요할 수 있습니다. 자세한 내용은 Kubernetes를 GKE로 마이그레이션: 환경 최적화를 참조하세요.

다음 단계