既存のAWS VPCで、Terraformを使用していくつかの新しいEC2、RDSなどを作成する必要があります。既存のサブネット、セキュリティグループ、iamなどはTerraformによって作成されません。手動で作成されます。Terraformを使用して既存のVPCでECを起動する方法
正しい方法は、terraformのインポートを使用することです(それは正しいですか?)。 terraformのインポートの仕組みをテストするために、既存のVPCの代わりに既存のEC2をインポートする方法を最初にテストしました。
実行する前に
私のような、私のec2.tfファイルに非常に詳細なEC2のリソースを作成する必要があるように見えますterraform import aws_instance.example i-XXXXXXXXXX
:私はちょうど書いた場合
resource "aws_instance" "example" {
iam_instance_profile = XXXXXXXXXX
instance_type = XXXXXXX
ami = XXXXXXX
tags {
Name = XXXXX
Department = XXXX
....
}
}
:
をresource "aws_instance" "example" {
}
私はamiとインスタンスのタイプを見逃していることを示しました。
私が書く場合:
resource "aws_instance" "example" {
instance_type = XXXXXXX
ami = XXXXXXX
}
は、 は何にもIAMプロファイルを変更、何も私の既存のEC2のタグを変更します「を適用テラフォーム」を実行。
私は既存のvpc、サブネット、セキュリティグループをまだインポートする方法を試していません。私が試してみると恐れて、私は既存のvpc、サブネット、セキュリティグループなどの多くの情報を入れなければならない私のシステムは複雑です。
私のテラフォームコードに非常に多くの詳細を示す必要がありますか?私は単にvpcのIDのような既存のもののIDを指定するだけで、既存のIDに基づいて新しいものを作成する方法はありませんか? sth。以下のような:
data "aws_subnet" "public" {
id = XXXXXXX
}
resource "aws_instance" "example" {
instance_type = "t2.micro"
ami = "${var.master_ami}"
......
subnet_id = "${aws_subnet.public.id}"
}
ありがとうございました。できます。要約すると、terraformを使用して既存のvpc(手動で作成された)を変更する必要がある場合、まずインポートする必要がありますが、既存のvpcから新しいコンポーネントを作成する場合は、投稿した2番目のソリューションを使用します。どうも。 – user389955