使用由自動調節組內的負載均衡器,數據庫服務器和一些Web服務器組成的繼承的aws基礎結構;部署由CloudFormation協調。如何指定autoscaling組中ec2實例的根卷大小,由cloudformation啓動?
問題是,旋轉的web服務器有一個有害的根卷(8GB),有時在Web服務器生命週期中,磁盤被日誌和臨時文件填滿,一些服務停止工作。
我發現那裏的機器定義聲明的部分(我認爲):
...
"Properties": {
"ImageId": {
"Fn::FindInMap": [
"AWSRegionArch2AMI",
{
"Ref": "AWS::Region"
},
{
"Fn::FindInMap": [
"AWSInstanceType2Arch",
{
"Ref": "InstanceType"
},
"Arch"
]
}
]
},
"InstanceType": {
"Ref": "InstanceType"
},
"SecurityGroups": [
{
"Ref": "WebServerSecurityGroup"
}
],
"KeyName": {
"Ref": "KeyName"
},
"UserData": {
"Fn::Base64": {
"Fn::Join": [
...
實例類型爲ultimatetly定義在別處:
"InstanceType": {
"Description": "WebServer EC2 instance type",
"Type": "String",
"Default": "c4.xlarge",
"AllowedValues": [
"t1.micro",
"t2.nano",
# ... more allowed values
"cg1.4xlarge"
],
"ConstraintDescription": "must be a valid EC2 instance type."
},
但我不知道如何申報根卷大小,或者根本不可能;我無法看到任何地方宣佈的ebs量。
這是一臺Linux機器,和根設備是/ dev/xvda1
[[email protected] /]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 1.6G 6.2G 21%/
devtmpfs 3.7G 60K 3.7G 1% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
試圖把這個在 「的UserData」 的前面:
"BlockDeviceMappings" : [
{
"DeviceName" : "/dev/xvda1",
"Ebs" : {
"VolumeSize" : "20"
}
}
],
但是即使我能看到該機器的啓動配置會相應更新(如下面的屏幕截圖所示)。CloudFormation在這之後不會啓動任何新機器。
我不是你在這裏期待的行爲特別明顯?我假設「屬性」部分被聲明爲自動縮放組的啓動配置的一部分。那麼您是否期待CloudFormation使用新的20GB塊設備啓動配置替換ASG中的所有機器? – gjtempleton
@gjtempleton我需要旋轉機器的根卷大於我目前擁有的8GB。上面的設置顯然是*東西*,因爲塊設備據報道是正確的大小;但現在機器無法啓動。如果我刪除了BlockDeviceMapping塊,它將恢復正常並且機器正常啓動。也許我應該努力讓自己的問題更清晰一些......:/ – yivi