2016-11-03 9 views
0

Terraformを使用してインスタンスにセキュリティグループと新しいルールを追加しようとしています。このインスタンスはTerraformによって管理されていないことに注意してください。私が取り組む問題は、それを適用すると新しいインスタンスが作成されるということです。次のようにTerraformを使用してOpenStackセキュリティグループをTerraformで管理されていないインスタンスに追加する

マイテラフォームのコードは次のとおりです。

resource "openstack_compute_secgroup_v2" "secgroup_1" { 
    name = "my_secgroup" 
    region = "${var.region}" 
    description = "my security group" 

    rule { 
    from_port = 22 
    to_port = 22 
    ip_protocol = "tcp" 
    cidr = "x.x.x.x/x" 
    } 

    rule { 
    from_port = 80 
    to_port = 80 
    ip_protocol = "tcp" 
    cidr = "x.x.x.x/x" 
    } 
} 

resource "openstack_compute_instance_v2" "myresource" { 
    name = "<Name of MY Instance>" 
    flavor_name = "m1.medium" 
    region = "${var.region}" 
    image_id = "<Image I.D of existing instance>" 
    security_groups = ["${openstack_compute_secgroup_v2.secgroup_1.name}"] 
} 

答えて

0

あなたのテラフォームのコードがあなたのOpenStackのクラスタに新しいインスタンスを作成するためのものです。 Terraformにリソースを管理させるには、そのファイルをstateファイルに含める必要があります。 Terraformでリソースを作成すると、Terraformはそれを自動的に状態ファイルに入れ、そのリソースの管理を開始します。

テラフォーム0.7多くのリソースは、今、このような状態のファイルにimportedことができるので:あなたはこのようないくつかのテラフォームのコードを持っていた場合(aws_instance documentationから)

$ terraform import aws_instance.web i-12345678 

provider "aws" { 
    region = "us-west-2" 
} 

data "aws_ami" "ubuntu" { 
    most_recent = true 
    filter { 
    name = "name" 
    values = ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"] 
    } 
    filter { 
    name = "virtualization-type" 
    values = ["hvm"] 
    } 
    owners = ["099720109477"] # Canonical 
} 

resource "aws_instance" "web" { 
    ami = "${data.aws_ami.ubuntu.id}" 
    instance_type = "t2.micro" 
    tags { 
     Name = "HelloWorld" 
    } 
} 

、すでにインスタンスIDがi-12345678の既存のインスタンスが存在し、Terraformがそのインスタンスをインポートして、今度は上記のコードの計画を実行すると、webの代わりに変更が表示されませんインスタンス。

残念ながら、OpenStackサポートはAWSほど成熟していないようです(0.7.7現在)importコマンドを使用してOpenStackインスタンスリソースを直接インポートするサポートはありません。しかし、importコマンドは、状態ファイルを改ざんすることなく簡単に操作できるようにするだけであり、状態ファイルを編集してリソースを含めることができます。

+0

ありがとうございます。うまくいけば、彼らはOpen Stackのインポートサポートも提供してくれることを願っています。 – user2051904

+0

OpenStackリソースをインスタンスのためだけにインポートするためのサポートがあります – ydaetskcoR

関連する問題