AWS 処理クラスタを使用した Linux VM 移行の前提条件

このトピックでは、Migrate for Anthos and GKE を使用して、Anthos clusters on AWS を使用する Linux VM を移行するための前提条件について説明します。

ワークロードに互換性があることを確認する

互換性のある OS

ワークロードが Migrate for Anthos and GKE でサポートされているオペレーティング システムを実行していることを確認します。

サポートされている VM ソース プラットフォーム

AWS 上の Migrate for Anthos and GKE では、次のソース プラットフォームからの VM の移行をサポートしています。

  • AWS

AWS 上の Anthos クラスタに移行する際の前提条件

次の表に、AWS 上の Anthos クラスタを使用する移行のための前提条件を示します。

前提条件 詳細
AWS 上の Anthos クラスタ AWS 上の Anthos クラスタは、移行されたワークロードを新しいコンテナでホストするために適切に構成され、使用可能な状態になっている(モダナイズしたワークロードを実行するために使用可能な十分なメモリと CPU など)。
VM ワークロードと AWS 上の Anthos クラスタが同じリージョン内にある。 移行元 VM のワークロードが、移行先の AWS 上の Anthos クラスタと同じリージョン、同じアカウントに存在する。必要に応じて、移行元 VM を AWS 上の Anthos クラスタのアカウントとリージョンにコピーします。
Kubernetes クラスタにアクセスでき、migctl がインストールされているワークステーション

AWS 上の Anthos クラスタにアクセスできるワークステーション。必要に応じて、環境の踏み台インスタンス VM への構成された SSH トンネルを使用します。詳細については、管理サービスへの接続をご覧ください。

ワークステーションには、migctl がインストールされている必要があります。詳細については、Migrate for Anthos and GKE のインストールをご覧ください。

データ リポジトリへのアクセス権

Migrate for Anthos and GKE は、移行の一環として 2 つの異なるデータ リポジトリに情報を書き込みます。

  • 移行された VM を表す Docker イメージ ファイルが Docker レジストリに書き込まれます。
  • 移行されたワークロードを表す移行アーティファクトがデータ リポジトリに書き込まれます。

移行を実施するには、AWS 上の Anthos クラスタに、両方のリポジトリに対する読み取り / 書き込みアクセス権が必要です。詳細については、データ リポジトリの定義をご覧ください。

暗号化された EBS ボリュームの処理

AWS で稼働している VM は、暗号化された EBS ボリュームを参照する可能性があります。EBS 暗号化では、AWS Key Management Service(KMS)を使用して、暗号化されたボリュームとスナップショットを作成します。

移行元 VM が暗号化された EBS ボリュームを参照するときは、次のシナリオを考慮する必要があります。

  • AWS 上の Anthos クラスタが暗号化されたボリュームにアクセスできることを確認します。

    KMS 鍵に対するアクセス権を、処理クラスタの AWS IAM ロールのコントロール プレーンに付与する必要があります。詳細については、暗号化された EBS ボリュームの使用をご覧ください。

  • 暗号化されたボリュームにデータをエクスポートする場合(ImageAndData インテントや Data インテントを使用する場合など)は、それに応じて移行計画を編集してください。

    移行計画には、移行されたワークロードで使用するボリュームの pvc 定義が含まれます。暗号化されたボリュームを使用するには、下記のとおり、移行計画を編集してボリュームを構成します。

移行計画は、GenerateArtifactsFlow で表されます。計画には、デフォルトの StorageClass を使用するデフォルトの pvc 定義が含まれます。

   pvc:
     spec:
       accessModes:
       - ReadWriteOnce
       resources:
         requests:
           storage: 10G

暗号化されたボリュームにデータをエクスポートするには、カスタムの StorageClass を指定するなど、デフォルトの pvc 定義を編集します。

たとえば、my-encrypted-class.yaml というファイルで、次のストレージ クラスを定義して暗号化されたボリュームとともに使用します。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: my-encrypted-class
  labels:
    component: aws-ebs-csi-driver
provisioner: ebs.csi.aws.com
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
  encrypted: "true"
  kmsKeyID: KMS_ENCRYPTION_KEY

ここで、KMS_ENCRYPTION_KEY には KMS 鍵を指定します。詳細については、AWS EBS をご覧ください。

yaml を適用します。

env HTTPS_PROXY=http://localhost:8118 \
  kubectl apply -f my-encrypted-class.yaml

続いて、移行計画で名前を指定して参照します。

   pvc:
     spec:
       accessModes:
       - ReadWriteOnce
       resources:
         requests:
           storage: 10G
       storageclassName: my-encrypted-class

または、新しい StorageClass を使用するようにデフォルトの StorageClass を変更することもできます。詳細については、デフォルトの StorageClass の設定をご覧ください。

AWS 上の Anthos クラスタへの移行用 Connect のインストール

Connect を使用すると、AWS 上の Anthos クラスタを Google Cloud に接続できます。これにより、クラスタと、統合されたユーザー インターフェースである Cloud Console などのワークロード管理機能にアクセスして、クラスタを操作できます。

移行のベスト プラクティスを学ぶ

移行計画のベスト プラクティスを確認して、移行作業を効率化します。

次のステップ