2017-08-31 12 views
1

security group rule descriptionsに設定できるようです。これは管理者アクセスのホワイトリストを維持するのに非常に便利です。Terraformでセキュリティグループルールの説明を設定するにはどうすればよいですか?

AWSコンソールで説明を設定できますが、Terraformで設定する方法はわかりません。

AWS APIが許可している場合、TerraformはTerraformコードで明示的にサポートせずに実行できます。多分それは希望的な考えであり、我々はTerraformが新しい機能をサポートするのを待たなければならないでしょう。あるいは、おそらく私は間違っているだけです。

私は単にルール宣言のdescriptionプロパティを宣言してみました(セキュリティグループ自体の説明の場合と同様):

:と計画段階で

ingress { 
     from_port  = 22 
     to_port   = 22 
     protocol  = "tcp" 
     cidr_blocks  = ["123.456.789.123"] 
     description  = "some rule description" 
     } 

テラフォームのベイルaws_security_group.somegroup:ingress.0:無効または不明なキー:説明

また、ルール内にタグを設定しようとしました宣言(のようなあなたの希望セキュリティグループの名前を設定するための):

aws_security_group.somegroup:ingress.0:無効または不明なキー:と計画段階で

 ingress { 
     from_port  = 22 
     ... 
     tags { 
      "Description" = "some rule description" 
      } 
     } 

テラフォームのベイルをタグ

+0

残念ながら、この_do_のような変更はTerraformをサポートするためにTerraformを更新する必要があります。Terraformは独自の設定言語を背後でAWS API呼び出しに変換する必要があるためです。これには[機能要求](https://github.com/terraform-providers/terraform-provider-aws/issues/1554)があり、必要に応じて更新を監視することができます。 –

+1

これをサポートするプルリクエストがあるようです。 https:// github。明らかにTerraformはAWS Go APIを使用しており、サポートするルールの記述を処理する最善の方法についての議論がいくつか残っています。 ルールごとに1つのCIDRブロックのように見えるので、説明が正しくマップされます。私はPRに目を留め、変更が統合されると私自身の答えを掲示します。 – jorfus

答えて

1

今の時点で、それが可能ですあなたのコードは有効でなければなりません。

2

Terraform apiを正しく使用していないようです。

descriptionからaws_security_group_ruleにリソースを設定することはできません。あなたはdescriptionaws_security_groupにリソースを設定することができます

aws_security_group_rule on Terraform.io

resource "aws_security_group_rule" "allow_all" { 
    type   = "ingress" 
    from_port  = 0 
    to_port   = 65535 
    protocol  = "tcp" 
    cidr_blocks  = ["0.0.0.0/0"] 
    prefix_list_ids = ["pl-12c4e678"] 

    security_group_id = "sg-123456" 
} 

。そのドキュメントから

aws_security_group on Terraform.io

resource "aws_security_group" "allow_all" { 
    name  = "allow_all" 
    description = "Allow all inbound traffic" 

    ingress { 
    from_port = 0 
    to_port  = 0 
    protocol = "-1" 
    cidr_blocks = ["0.0.0.0/0"] 
    } 

    egress { 
    from_port  = 0 
    to_port   = 0 
    protocol  = "-1" 
    cidr_blocks  = ["0.0.0.0/0"] 
    prefix_list_ids = ["pl-12c4e678"] 
    } 
} 

aws_security_groupdescriptionプロパティはそのルートスコープに、ingressegress宣言の外側で宣言されなければならない

関連する問題