ロードバランサ、DBサーバー、および自動拡張グループ内のいくつかのWebサーバーからなる継承されたawsインフラストラクチャを操作します。 CloudFormationによって調整された展開。自動スケールグループでec2インスタンスのルートボリュームサイズを指定する方法
問題は、スパンWebサーバーには弱いルートボリューム(8GB)があり、ウェブサーバーの寿命中にディスクにログと一時ファイルがいっぱいになり、一部のサービスが機能しなくなることがあります。
...
"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が、ASGのすべてのマシンを新しい20GBブロックデバイスの起動設定でマシンに置き換えることを期待していますか? – gjtempleton
@gjtempleton紡績機械が現在持っている8GBより大きいルートボリュームが必要です。上記の設定は、ブロックデバイスが適切なサイズであると報告されているため、明らかに* something *を行います。今はマシンが起動しません。 BlockDeviceMappingブロックを削除すると、正常に戻り、マシンが正常に起動します。たぶん私は私の質問をより明確にするために働くべきです.../ – yivi