![見出し画像](https://assets.st-note.com/production/uploads/images/65049466/rectangle_large_type_2_df29d2946bb7e845cb6b5882c2e474ef.jpeg?width=1200)
Photo by
exile3972
【109】【AWS】【Terraform】デフォルトのストレージサイズの変更
この記事を読むとTerraformでデフォルトのストレージを変更するやり方を学ぶことができます。
コードは簡単ですが意外にはまってしまったので共有します。
要件(やりたいこと)
Dockerの勉強でEC2インスタンスを構築します。デフォルトのストレージ8ギガは低いので20ギガにします。
間違ってしまった記述
//ストレージのサイズの変更
resource "aws_ebs_volume" "docker_ubuntu" {
availability_zone = "ap-northeast-1a"
size = 20
tags = {
Name = "terraform_example_1004"
}
}
とすると、AWSでストレージが作成されますが、アタッチされないストレージ、つまり使われてないストレージのみが作成されてしまいます。
間違ってしまった記述2
//ストレージのサイズの変更
resource "aws_volume_attachment" "docker_ubuntu" {
device_name = "/dev/sdh"
volume_id = aws_ebs_volume.docker_ubuntu.id
instance_id = aws_instance.app_server.id
}
resource "aws_ebs_volume" "docker_ubuntu" {
availability_zone = "ap-northeast-1a"
size = 20
tags = {
Name = "terraform_example_1004"
}
}
アタッチすることで、インスタンスに接続されたストレージを追加しました。
しかし!!
コンソールで確認すると、ストレージが2つになっています。
デフォルトのストレージ8ギガと、今回ストレージの領域を変更したストレージ20ギガの2つです。
ストレージは1つだけで、サイズのみを20ギガに変更するにはどうすればいいのでしょうか?
デフォルトのストレージサイズの変更
root_block_device {
volume_size = 20
}
をインスタンスの設定に記述するだけです。
resource "aws_instance" "app_server" {
// このamiはUbuntuです
ami = "ami-0df99b3a8349462c6"
instance_type = "t3.micro"
associate_public_ip_address = true
subnet_id = aws_subnet.public.id
root_block_device {
volume_size = 20
}
vpc_security_group_ids = [aws_security_group.docker_ubuntu.id]
tags = {
Name = "ExampleAppServerInstance"
}
}
参考文献
さわって学ぶクラウドインフラ docker基礎からのコンテナ構築
実践Terraform AWSにおけるシステム設計とベストプラクティス (技術の泉シリーズ(NextPublishing)) オンデマンド (ペーパーバック)
最後に
私がブログを書く目的は、素晴らしい本や、素晴らしい方々の技術記事を知って頂きたいからです。ぜひ、上記の参考文献を見て下さい。(noteなので広告とかは一切ありません。)
現在、株式会社grabssに行くために最後の悪あがきをしています!!
過去の活動
30日間でブログ記事を100件投稿しました。
トータルの投稿数
この記事は109件目の投稿です。
よろしければ、スキボタン及びサポートお願いします。勉強の励みになります。
この記事が気に入ったらサポートをしてみませんか?