terraformでEBSボリュームを追加して既存のインスタンスにアタッチする

はじめに

既に運用中のサーバーに、ある程度容量のあるファイルをおく必要がでてきました

サーバーのインスタンス自体のボリュームの容量を増やしても良かったですが、追加するファイルが特に容量を食い、今後も増えてくる想定があったのでのでそこだけ別にすることにしました

terraformでvolumeの追加

resource "aws_volume_attachment" “some-attachment” {
  device_name = "/dev/sdb"
  volume_id   = "${aws_ebs_volume.some-ebs.id}"
  instance_id = "${aws_instance.some-instance.id}"
}
 resource "aws_ebs_volume" “some-ebs" {
  availability_zone = "ap-northeast-1a"
  size              = 100
   tags {
    Name = “some-ebs"
  }
}

既にinstanceができている状態です。

注意すべき点としてebsはインスタンスと同じazにないといけないのでavailability_zoneをインスタンスと揃えましょう (レビューで指摘してもらった)

EBSのアタッチ

$ df -h

でまだ/dev/sdbがアタッチできてないことを確認

$ sudo su -
% mkfs -t ext4 /dev/sdb
% mkdir /data2
% mount /dev/sdb /data2
$ df -h

でattachしたvolumeが表示されることを確認

echo ‘hoge’ > /data2/test.txt

でファイルが生成できていることを確認

めでたしめでたし

参考URL

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-using-volumes.html

Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス
Kief Morris
オライリージャパン
売り上げランキング: 127,307