Nutanix移行ツールmoveを使用したAWS環境からの移行~ソース・ターゲット登録
前回の記事で、Nutanix moveの展開まで実施しましたが、引き続きAWS環境内の EC2インスタンスを move を使用してAHV環境に移行してみたいと思います。
現在時点バージョン(3.4.1)の move では、AWSとの連携はTechnical Preview版となっていますが、どのような感じか試してみたいと思います、
今回はソースとしてAWSの環境の登録と、ターゲットとしてNutanix環境の登録をするところまでです。
初めに
今回使用するmove 3.4.1のバージョンでサポートされている仮想マシンのOSは下記の通りです。
・Windows Server 2012 R2, 2016
・RHEL 6.8-6.10 and 7.3-7.7
・CentOS 6.8-6.9 and 7.3-7.5
・Ubuntu 14.04, 16.04, and 18.04
そして、サポートされているEC2インスタンスタイプは下記の通りです。
Migration of VMs using EC2 instance type C4, C5, M4, M5, R4, T2 are supported.
また、リージョンにも制限があり、下記のリージョンはサポートされていません。
ap-east-1, eu-west-3, eu-north-1, and me-south-1
その他、Instance Store Volumes や EFS もサポートされておりません。
それ以外にも制限事項があるので、詳細はドキュメントを参照ください。
AWSのIAMユーザ作成
まず、IAMユーザで使用するポリシーを作成します。
AWSの管理コンソールから「IAM」-「ポリシー」-「ポリシーの作成」を選択します。
下記のような内容でポリシーを作成します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ec2:DetachVolume", "ec2:AttachVolume", "ec2:DeleteSnapshot", "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroup*", "ec2:TerminateInstances", "ec2:DeleteTags", "ec2:CreateTags", "ec2:*Describe*", "ec2:RunInstances", "ec2:StopInstances", "ec2:CreateVolume", "ec2:DeleteVolume", "ec2:StartInstances", "ec2:ModifyInstanceAttribute", "ec2:CreateSnapshot", "ec2:*KeyPair*", "iam:SimulatePrincipalPolicy", "iam:GetUser", "ssm:DescribeInstanceInformation", "route53:CreateHostedZone", "route53:UpdateHostedZoneComment", "route53:GetHostedZone", "route53:ListHostedZones", "route53:DeleteHostedZone", "route53:AssociateVPCWithHostedZone", "route53:ChangeResourceRecordSets", "route53:DisassociateVPCFromHostedZone", "route53:ListResourceRecordSets", "route53:ListHostedZonesByName", "route53:GetHostedZoneCount", "gamelift:DescribeEC2InstanceLimits" ], "Resource": "*" } ] }
今回は、move-policy という名前で作成しました。
次にmoveで使用するIAMユーザを作成します。
「IAM」-「ユーザー」-「ユーザーを追加」をクリックして作成します。
ユーザ名を move-user として、「プログラムによるアクセス」にチェックを入れます。
先ほど作成したポリシーを適用します。
作成されたIAMユーザのアクセスキーとシークレットキーを控えておきます。
以上で、IAMユーザの作成は完了です。
ソース登録(AWS環境)
次にmove にソースとしてAWS環境を登録していきます。
move にログインし、左上の「Add Source」から登録します。
「Select Environment Type」に Amazon Web Service を選択し、登録名と先ほど作成したIAMユーザの
アクセスキー・シークレットキーを入力します。
しかし、登録するとエラーが発生。
AWS Authorization Error. AWS Authentication failed. Please check your AWS Access/Secret keys.
アクセスキー・シークレットキーを確認するようにとのメッセージだったので
確認のため別途Linuxサーバから、AWS CLIで対象のアクセスキーを使用してアクセスすると
問題ないことは確認済み。
AWS側を確認しようと、CloudTrailのログを確認しても、認証ログが確認できなかったため
move からAWSに認証に行けてないのではないかと想定し、move 側の確認を再度実施。
move 上でtcpdumpでパケットキャプチャしてみると、AWSには通信がいっていることは確認できた。
さらに、move にsshログインし、ログを確認すると怪しいログを発見。
/opt/xtract-vm/logs/srcagent.log
I0401 12:01:41.612189 8 srcagentapi_aws_impl.go:66] server: entering AWS Validate,args=[AWS] Access Key: XXXXX Secret Key: X XXXX, ProviderUuid:980c7938-c30b-43e2-9497-f76d637cfcad, ProviderType:AWS, Location:us-west-1, Location: I0401 12:01:42.353460 8 aws_provider.go:249] ErrorType: *awserr.requestError Error: SignatureDoesNotMatch: Signature not yet current: 20200401T120141Z is still later than 20200401T031645Z (20200401T030145Z + 15 min.) #011status code: 403, request id: c617dfe9-35ee-4be1-9c65-944380a7b9c2
どうもシステムの時刻関係のエラーのもよう。
move 側で時刻を確認すると、UTCになっており9時間進んでしまっている状態だった。
ひとまず手動で時刻を修正し、再度登録を実施。
ようやく正常に登録できました。
ターゲット登録(Nutanix環境)
続いてNutanix 環境をターゲットとして登録します。
今度は、左下の「Add Target」をクリックします。
「Select Environment Type」に Nutanix AOS を選択し、PrismのIP、ID/パスワードを入力します。
こちらはすんなりと登録完了しました。
以上で、AWS環境から Nutanix AOS 環境へ移行する際のソースとターゲット登録は完了です。
次回はマイグレーションとカットオーバーについて記載します。
Nutanix 移行ツール move を使用したAWS環境からの移行-マイグレーションプラン作成とカットオーバー