需要从保存文件的同一目录中运行 AWS CLI。

过程

  1. 创建虚拟机导入服务角色。

    使用以下命令创建具有所需权限的角色名称“vmimport”。

    aws iam create-role --role-name vmimport --assume-role-policy-document file://vmimport-role-trust.json 
    
    aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://vmimport-role-policy.json 
    
    aws iam put-role-policy --role-name vmimport --policy-name AviController-vmimport-KMS-Policy --policy-document file://avicontroller-kms-vmimport.json 
  2. NSX Advanced Load Balancer Controller 角色创建所需的策略。

    AviController-Refined-Role 是将通过实例配置文件附加到控制器的角色。按照下面的命令进行操作:

    aws iam create-role --role-name AviController-Refined-Role --assume-role-policy-document file://avicontroller-role-trust.json 
    
    aws iam create-policy --policy-name AviController-EC2-Policy --policy-document file://avicontroller-ec2-policy.json 
    
    aws iam create-policy --policy-name AviController-S3-Policy --policy-document file://avicontroller-s3-policy.json 
    
    aws iam create-policy --policy-name AviController-IAM-Policy --policy-document file://avicontroller-iam-policy.json 
    
    aws iam create-policy --policy-name AviController-R53-Policy --policy-document file://avicontroller-r53-policy.json 
    
    aws iam create-policy --policy-name AviController-ASG-Policy --policy-document file://avicontroller-asg-policy.json 
    
    aws iam create-policy --policy-name AviController-SQS-SNS-Policy --policy-document file://avicontroller-sqs-sns-policy.json 
    
    aws iam create-policy --policy-name AviController-KMS-Policy --policy-document file://avicontroller-kms-policy.json 
    注:

    以下是 AWS DNS 服务和 SNS-SQS 功能的可选策略:

    • AviController-R53-Policy

    • AviController-AutoScalingGroup-Policy

    • AviController-SQS-SNS-Policy

    • AviController-KMS-Policy

  3. 将策略附加到 NSX Advanced Load Balancer Controller 角色。

    在创建策略(AviController-EC2-Policy、AviController-R53-Policy 和 AviController-IAM-Policy 等)后(在步骤 2 中),将它们附加到 AviController-Refined-Role。

    aws iam attach-role-policy --role-name AviController-Refined-Role --policy-arn "arn:aws:iam::123456789012:policy/AviController-EC2-Policy" aws iam attach-role-policy --role-name AviController-Refined-Role --policy-arn "arn:aws:iam::123456789012:policy/AviController-R53-Policy" aws iam attach-role-policy --role-name AviController-Refined-Role --policy-arn "arn:aws:iam::123456789012:policy/AviController-AutoScalingGroup-Policy" aws iam attach-role-policy --role-name AviController-Refined-Role --policy-arn "arn:aws:iam::123456789012:policy/AviController-SNS-Policy" aws iam attach-role-policy --role-name AviController-Refined-Role --policy-arn "arn:aws:iam::123456789012:policy/AviController-SQS-Policy" aws iam attach-role-policy --role-name AviController-Refined-Role --policy-arn "arn:aws:iam::123456789012:policy/AviController-ASG-Notification" aws iam attach-role-policy --role-name AviController-Refined-Role --policy-arn "arn:aws:iam::123456789012:policy/AviController-KMS-Policy"
    注:

    以下是 AWS DNS 服务和 SNS-SQS 功能的可选策略:

    • AviController-R53-Policy

    • AviController-AutoScalingGroup-Policy

    • AviController-SQS-SNS-Policies

    • AviController-KMS-Policy

  4. 创建一个实例配置文件,并将该实例配置文件应用于 EC2 角色。
    aws iam create-role --role-name AviController-Refined-Role --assume-role-policy-document file://avicontroller-role-trust.json 
    
    aws iam create-policy --policy-name AviController-EC2-Policy --policy-document file://avicontroller-ec2-policy.json 
    
    aws iam create-policy --policy-name AviController-S3-Policy --policy-document file://avicontroller-s3-policy.json 
    
    aws iam create-policy --policy-name AviController-IAM-Policy --policy-document file://avicontroller-iam-policy.json 
    
    aws iam create-policy --policy-name AviController-R53-Policy --policy-document file://avicontroller-r53-policy.json 
    
    aws iam create-policy --policy-name AviController-ASG-Policy --policy-document file://avicontroller-asg-policy.json 
    
    aws iam create-policy --policy-name AviController-SQS-SNS-Policy --policy-document file://avicontroller-sqs-sns-policy.json 
    
    aws iam create-policy --policy-name AviController-KMS-Policy --policy-document file://avicontroller-kms-policy.json 
    注:
    • AWS put-role-policy 命令在角色中创建一个内联策略(与附加的策略相对)。

    • 确保将 123456789012 替换为适用的 AWS 帐户 ID。