如何解決 AWS CloudFormation 中的失敗堆疊的 「Server.InternalError:啟動時出現內部錯誤」錯誤?

1 分的閱讀內容
0

我嘗試使用 AWS CloudFormation 堆疊建立 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體實例,但堆疊建立失敗。然後,我收到了「Server.InternalError: 啟動時出現內部錯誤」錯誤訊息。我該如何解決此錯誤?

簡短描述

如果在 AWS CloudFormation 範本中指定的是重複或無效的裝置對應,您就會收到此錯誤訊息。您不能將兩個區塊裝置對應到相同的位置 (例如 /dev/sdb)。

**注意:**如果您使用以 Nitro 為基礎的執行個體類型 (例如 c5、m5 或 t3),則不會收到此錯誤,因為 /dev/sdb/dev/xvdb 會對應到作業系統中的兩個不同 NVMe 裝置。

解決方法

在 AWS CloudFormation 範本的 BlockDeviceMappings 屬性中,檢查每個區塊裝置的 DeviceName 值,以確認區塊裝置對應的是不同的位置。

在下列 JSON 和 YAML 範例範本中,指定的區塊裝置是 /dev/xvdb/dev/xvdc。系統會自動為執行個體佈建根磁碟區,而區塊裝置會與次要磁碟區相關聯。

JSON:

    "Ec2Instance" : {
      "Type" : "AWS::EC2::Instance",
      "Properties" : {
        "...OtherProperties..."
        "BlockDeviceMappings" : [
          {
            "DeviceName" : "/dev/xvdb",
            "Ebs" : { "VolumeSize" : "100" }
          },{
            "DeviceName" : "/dev/xvdc",
            "Ebs" : { "VolumeSize" : "100" }
          }
        ]
      }
    }

YAML:

EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
        ...OtherProperties...
        BlockDeviceMappings:
        -
          DeviceName: /dev/xvdb
          Ebs:
            VolumeSize: 100
        -
          DeviceName: /dev/xvdc
          Ebs:
            VolumeSize: 100

相關資訊

區塊裝置對應

EC2 區塊型裝置映射範例

Linux 執行個體上的裝置名稱

AWS 官方
AWS 官方已更新 4 年前