返回

使用 SSMDocument 在首次启动时自动初始化 Windows Server 2022 实例上的附加硬盘

windows

在首次启动时使用 AWS::SSM::Document 初始化 EC2Launch v2 上的附加硬盘

问题:手动初始化附加硬盘的困扰

当 Windows Server 2022 实例上线时,附加硬盘必须手动使用磁盘管理器初始化。这不仅费时,而且在处理大量实例时会非常麻烦。

解决方法:自动化初始化过程

为了解决这一问题,我们可以使用 AWS::SSM::Document 资源在首次启动时自动初始化附加硬盘。

步骤 1:重写 EC2Launch v1 脚本

首先,重写 EC2Launch v1 脚本 InitializeDisk.ps1,它可以执行以下操作:

  • 连接到附加硬盘
  • 创建和格式化分区
  • 分配驱动器号

将该脚本放在 S3 存储桶中,稍后由 SSMDocument 执行。

步骤 2:创建 CloudFormation 模板

创建一个 CloudFormation 模板,其中包括以下内容:

  • 启动 Windows Server 2022 实例
  • 附加硬盘
  • 在启动时执行 InitializeDisk.ps1 脚本

步骤 3:创建 AWS::SSM::Document 资源

创建 AWS::SSM::Document 资源,它将执行 InitializeDisk.ps1 脚本:

  InitializeDiskDocument:
    Type: 'AWS::SSM::Document'
    Properties:
      Content:
        commands:
          - command: 'powershell.exe -ExecutionPolicy Bypass -File "C:\\InitializeDisk.ps1"'

步骤 4:在启动时执行 AWS::SSM::Document

在 CloudFormation 模板中,配置 Windows Server 2022 实例在启动时执行 AWS::SSM::Document:

  AutoInitializeDisk:
    Type: 'AWS::SSM::Association'
    Properties:
      InstanceId:
        Ref: 'WindowsServer2022Instance'
      Document:
        Ref: 'InitializeDiskDocument'
      Schedule: 'RunOnce'
      Targets:
        - Key: 'aws:InstanceTag/RunInitialDisk'
          Value: 'true'

结论:简化管理

通过遵循这些步骤,你可以消除手动初始化附加硬盘的需要,从而简化 Windows Server 2022 实例的管理。这将为你提供一个具有多个可访问硬盘的可立即使用的实例,从而节省时间和精力。

常见问题解答

  1. 为什么需要在首次启动时初始化附加硬盘?

    • 在首次启动时初始化附加硬盘可以确保硬盘可以被操作系统识别和使用。
  2. AWS::SSM::Document 在这个过程中扮演什么角色?

    • AWS::SSM::Document 执行 InitializeDisk.ps1 脚本,该脚本负责初始化附加硬盘。
  3. InitializeDisk.ps1 脚本具体做了什么?

    • InitializeDisk.ps1 脚本连接到附加硬盘,创建和格式化分区,并分配驱动器号。
  4. 如何配置 Windows Server 2022 实例在启动时执行 AWS::SSM::Document?

    • 在 CloudFormation 模板中,通过创建 AWS::SSM::Association 资源,你可以配置 Windows Server 2022 实例在启动时执行 AWS::SSM::Document。
  5. 有哪些其他好处使用自动化脚本来初始化附加硬盘?

    • 自动化脚本消除了人为错误的风险,并允许你集中管理附加硬盘的初始化过程。