PlateSpin Migrateを使用してワークロードをAWSにマイグレートするには、AWS VPCへのマイグレーションを実行するための適切なIAM役割と必要な権限を持つAWS Identity and Access Management (IAM)ユーザが、AWSアカウント内に必要です。このユーザには、AWSアクセスキーとAWSシークレットアクセスキーも必要です。
次のいずれかの方法を使用して、新しいIAMポリシーを作成できます。
PlateSpin AWS役割ツール: 詳細については、セクション 8.9.1, AWS役割ツールによる新しいIAMポリシーの作成を参照してください。
AWS管理コンソール: 詳細については、セクション 8.9.2, AWS管理コンソールによるIAMポリシーの作成を参照してください。
PlateSpin MigrateはAWS役割ツール(AWSRoleTool.exe)を提供しており、これにより管理者ユーザは、PlateSpin Migrateが定義するデフォルトポリシー(PolicyJSON.txt)に基づいて新しいIAMポリシーを作成し、IAMユーザ(既存または新規のユーザ)をそのポリシーに割り当てできるようになります。PlateSpin Migrate AWS役割ツール(AWSRoleTool.exe)は、Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesToolディレクトリに含まれています。
デフォルトでは、PlateSpin Migrateが定義するPolicyJSON.txtファイルに、IAMユーザがPlateSpin Migrateを使用してワークロードをAWSにマイグレートするための必要最小限の権限が含まれています。デフォルトポリシーでIAMユーザに対して定義されている最小限の権限については、セクション 8.9.3, IAMユーザに対する最小限の権限の定義を参照してください。
AWS役割ツールを使用して新しいポリシーを作成する場合、新しいポリシーはこのデフォルトポリシーのレプリカとして作成され、デフォルトポリシーに一覧されているすべての権限を持つことになります。ただし、デフォルトポリシーに一覧されたものではなく、変更された権限で新しいポリシーを作成することもできます。変更された権限で新しいポリシーを作成するには、PolicyJSON.txtファイルを編集することで、新しいポリシーに一覧する権限のみをリストに含むようにして、その後ポリシーを作成します。
メモ:PolicyJSON.txtファイルの編集後、PlateSpin Migrateが定義するデフォルトポリシーに戻す場合には、編集されたPolicyJSON.txtファイルを削除します。PolicyJSON.txtファイルは、AWS役割ツールの実行時に、Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesToolディレクトリにあるデフォルトの権限を使用して再作成されます。
PlateSpin Migrate Serverホストに管理者としてログインします。
コマンドプロンプトを開き、AWS役割ツールの場所に移動し、次のコマンドを実行します。
AWSRoleTool.exe
メモ:デフォルトポリシー(PolicyJSON.txt)がMigrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesToolディレクトリ内に提供されていない場合、PolicyJSON.txtファイルは、PlateSpin Migrateが推奨するデフォルト権限を使用して再作成されます。
IAMポリシーとユーザを作成する権限を持つAWSユーザのAWSアクセスキーとAWSシークレットアクセスキーを入力します。
作成するAWSポリシーの名前を入力します。
このポリシーの割り当て先となる新規または既存のユーザの名前を入力します。ツールによって、新しいポリシーがPolicyJSON.txtファイルのレプリカとして作成され、このポリシーが指定されたユーザに割り当てられ、そのユーザのアクセスキーとシークレットキーの資格情報が設定されます。
資格情報はファイルに保存することも、コマンドプロンプトに表示することもできます。
資格情報をファイルに保存するには、「y」と入力します。 資格情報を含むファイルのパスが表示されます。
資格情報をコマンドプロンプトに表示するには、「n」と入力して、表示された資格情報をメモします。
(オプション) PlateSpin Migrateが定義するデフォルトポリシーに戻すには、編集済みのPolicyJSON.txtファイルを削除し、AWS役割ツールを実行して、デフォルト権限によってPolicyJSON.txtファイルを再作成します。
AWS管理コンソールを使用してIAMポリシーを作成または編集し、そのポリシーにユーザを割り当てることでユーザ権限を定義できます。詳細については、Creating IAM Policiesを参照してください。
PlateSpin Migrateでは、IAMユーザがPlateSpin Migrateを使用してワークロードをAWSにマイグレートするための必要最小限の権限を含むデフォルトポリシー(PolicyJSON.txt)を提供しています。デフォルトポリシーファイルでIAMユーザに対して定義されている最小限の権限については、セクション 8.9.3, IAMユーザに対する最小限の権限の定義を参照してください。
AWS管理コンソールを使用して、このデフォルトポリシーに含まれる推奨権限による新しいポリシーを作成できます。
PlateSpin Migrateでは、IAMユーザがPlateSpin Migrateを使用してワークロードをAWSにマイグレートするための必要最小限の権限をデフォルトで含んでいるPolicyJSON.txtファイルを提供しています。AWS役割ツールを使用して新しいポリシーを作成する場合、新しいポリシーはこのデフォルトポリシーのレプリカとして作成され、デフォルトポリシーに一覧されているすべての権限を持つことになります。
PolicyJSON.txtファイルの内容は次のとおりです。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:TerminateInstances",
"ec2:DeleteTags",
"ec2:StartInstances",
"ec2:CreateTags",
"kms:DescribeKey",
"ec2:RunInstances",
"ec2:StopInstances"
],
"Resource": [
"arn:aws:kms:*:*:key/*",
"arn:aws:ec2:*:*:subnet/*",
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:volume/*",
"arn:aws:ec2:*:*:security-group/*",
"arn:aws:ec2:*:*:network-interface/*",
"arn:aws:ec2:*::image/*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"ec2:DeregisterImage",
"ec2:DeleteSnapshot",
"ec2:DescribeInstances",
"ec2:CreateImage",
"ec2:DescribeSnapshots",
"ec2:DescribePlacementGroups",
"ec2:DescribeSecurityGroups",
"pricing:GetProducts",
"ec2:DescribeImages",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeVpcs",
"ec2:DescribeVolumes",
"kms:ListAliases",
"ec2:DescribeAccountAttributes",
"ec2:DescribeReservedInstances",
"ec2:ModifyInstanceAttribute",
"ec2:DescribeSubnets",
"ec2:DescribeKeyPairs",
"ec2:DescribeInstanceStatus"
],
"Resource": "*"
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"ec2:CreateVolume"
],
"Resource": [
"arn:aws:ec2:*:*:volume/*",
"arn:aws:kms:*:*:key/*"
]
},
{
"Sid": "VisualEditor3",
"Effect": "Allow",
"Action": [
"ec2:AttachVolume",
"kms:CreateGrant"
],
"Resource": [
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:volume/*",
"arn:aws:kms:*:*:key/*"
]
},
{
"Sid": "VisualEditor4",
"Effect": "Allow",
"Action": "ec2:DetachVolume",
"Resource": [
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:volume/*"
]
},
{
"Sid": "VisualEditor5",
"Effect": "Allow",
"Action": "ec2:DeleteVolume",
"Resource": "arn:aws:ec2:*:*:volume/*"
},
{
"Sid": "VisualEditor6",
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": [
"arn:aws:ec2:*:*:subnet/*",
"arn:aws:ec2:*:*:key-pair/*",
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*::snapshot/*",
"arn:aws:ec2:*:*:launch-template/*",
"arn:aws:ec2:*:*:volume/*",
"arn:aws:ec2:*:*:security-group/*",
"arn:aws:ec2:*:*:placement-group/*",
"arn:aws:ec2:*:*:network-interface/*",
"arn:aws:ec2:*::image/*"
]
}
]
}