🚋
TerraformでEC2を作成し、そのパブリックIPをセキュリティグループで許可する
0.0.0.0/0
を防止する一助になれば
やりたいこと
- terraformでec2を作成する
- ec2のパブリックIPを、セキュリティグループのインバウンドルールに使用する
- 一度の
terraform apply
で上記を実現する
public_ip
属性を使う
EC2のことでEC2のパブリックIPを取得出来ます。
それをセキュリティグループで指定すれば良いです。
サンプル
main.tf
## EC2
resource "aws_instance" "test-instance-1" {
... 略 ...
}
## SG
resource "aws_security_group" "test-sg-2" {
.. 略 ..
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["${aws_instance.test-instance-1.public_ip}/32"] # ここ
}
}
属性の見方
terraformのリソース別のドキュメントに記載があります。
どのような値を取得出来るのか参考にしましょう。
Discussion