我嘗試使用 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 執行個體上的裝置名稱