2016-12-14 4 views
0

In AWS habe ich mit Terraform bestimmte Instanzen gestartet, die im privaten Teilnetz laufen. Ich muss bestimmte Pakete in den privaten Instanzen installieren. Also mache ich eine temporäre Assoziation mit einer Routentabelle, die mit dem Internet-Gateway verbunden ist. Nach der Installation der Pakete, wenn ich die Zuordnung dieses bestimmten Subnetzes mit der Routentabelle machen möchte, die mit NAT verbunden ist, wirft es einen Fehler auf, der besagt, dass die Routentabelle-Assoziation bereits existiert. Aber wenn ich zur aws Konsole gehe, kann ich es manuell tun. Gibt es eine Möglichkeit, wie kann ich es mit Terraform tun?Wie wird die Subnetzzuordnung von einer Routentabelle zu einer anderen Routentabelle mithilfe von Terraform geändert?

Vielen Dank im Voraus.

+0

Verwenden Sie ein NAT-Gateway oder haben Sie selbst ein Rollout ausgeführt? – mcheshier

+0

Ich habe meine eigene NAT-Instanz gerollt. –

+0

Können Sie Teile Ihrer Terraform-Datei teilen? Verwenden Sie alle benutzerdefinierten Terraform-Codes oder verwenden Sie Community-Module? – mcheshier

Antwort

0

Ohne Ihre Terraform-Datei zu sehen ist ein bisschen schwierig. Aus Ihrer Erklärung geht jedoch hervor, dass das Standardverhalten der VPC darin besteht, die Routentabelle zu verwenden, die mit einer NAT-Instanz verbunden ist. Sie können die Routentabelle erstellen und dann auf diese Weise mit Terraforming VPC-Standard machen:

resource "aws_main_route_table_association" "a" { 
    vpc_id   = "${aws_vpc.foo.id}" 
    route_table_id = "${aws_route_table.bar.id}" 
} 

Dann, wenn Sie wollen ein Subnetz zu Ihrem Internet-Gateway vorübergehend assoziieren es ist nur eine Frage der Zugabe der folgenden:

resource "aws_route_table_association" "a" { 
    subnet_id  = "${aws_subnet.your_subnet.id}" 
    route_table_id = "${aws_route_table.your_IG_route_table.id}" 
} 

Sobald Sie fertig sind, entfernen Sie die Zuordnung Routentabelle.

Verwandte Themen