생성된 EC2를 terraform 관리로 만들기
3820 단어 Terraform
사전 준비
EC2를 사전에 수동으로 생성합니다.
그런 다음 인스턴스 ID, AMI ID 및 인스턴스 유형을 기억하십시오. (terraform에서 EC2를 관리하는 데 필요한 상태)
가져오기 전 준비
제공자 정보 기재
임포트를 위해서 프로바이더의 지정이 필요하므로, terraform를 관리할 예정의 디렉토리로 파일을 작성해 프로바이더 정보를 기재. 이번은 AWS에서 리전은 도쿄를 지정.
EC2 인스턴스 정보 설명
리소스는 EC2이므로 aws_instance를 사용합니다.
그 안에 미리 둔 AMI ID
와 インスタンスタイプ
를 기재합니다.
공급자와 EC2 인스턴스 정보를 포함하는 파일은 다음과 같습니다.
ami와 instance_type의 위치의 기재는 자신의 환경에 맞추어 변경합니다.
main.tf# プロバイダ情報
provider "aws" {
region = "ap-northeast-1"
}
# EC2インスタンス情報を記載
resource "aws_instance" "imported" {
ami = "ami-0f27d081df46f326c"
instance_type = "t2.micro"
}
임포트
대상 디렉토리에서 terraform init
를 실행하여 Terraform을 준비합니다.
# terraform init
인스턴스 ID를 지정하고 import를 실시.
terraform import aws_instance.imported i-037fec03a06ff16c7
확인
이것으로 import가 완료됩니다. terraform plan을 실시해, 차분이 없는 것을 확인 할 수 있으면 OK입니다.
# terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
aws_instance.imported: Refreshing state... [id=i-037fec03a06ff16c7]
------------------------------------------------------------------------
No changes. Infrastructure is up-to-date.
더 관리되고 있는지 궁금하다면 terraform destroy
를 실시합니다. 관리하는 EC2가 삭제 대상으로 출력되어야 합니다.
# terraform destroy
aws_instance.imported: Refreshing state... [id=i-037fec03a06ff16c7]
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
- destroy
Terraform will perform the following actions:
# aws_instance.imported will be destroyed
- resource "aws_instance" "imported" {
- ami = "ami-0f27d081df46f326c" -> null
<省略>
끝에
관리되지 않은 리소스를 가져올 수 있다는 것을 알았으므로 실제로 시도했습니다.
덧붙여서 자원에 필요한 인수는 사전에 조사하지 않아도, plan을 실시하면 terraform에 기재해야 할 스테이터스를 가르쳐 줍니다.
예를 들어, ami를 지정하지 않고 plan을 실시하면 ami를 지정하면(자) 에러 메세지가 나옵니다.
# terraform plan
Error: Missing required argument
on main.tf line 5, in resource "aws_instance" "imported":
5: resource "aws_instance" "imported" {
The argument "ami" is required, but no definition was found.
Reference
이 문제에 관하여(생성된 EC2를 terraform 관리로 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/atsushi586/items/f0995a3129507af8033a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
제공자 정보 기재
임포트를 위해서 프로바이더의 지정이 필요하므로, terraform를 관리할 예정의 디렉토리로 파일을 작성해 프로바이더 정보를 기재. 이번은 AWS에서 리전은 도쿄를 지정.
EC2 인스턴스 정보 설명
리소스는 EC2이므로 aws_instance를 사용합니다.
그 안에 미리 둔
AMI ID
와 インスタンスタイプ
를 기재합니다.공급자와 EC2 인스턴스 정보를 포함하는 파일은 다음과 같습니다.
ami와 instance_type의 위치의 기재는 자신의 환경에 맞추어 변경합니다.
main.tf
# プロバイダ情報
provider "aws" {
region = "ap-northeast-1"
}
# EC2インスタンス情報を記載
resource "aws_instance" "imported" {
ami = "ami-0f27d081df46f326c"
instance_type = "t2.micro"
}
임포트
대상 디렉토리에서 terraform init
를 실행하여 Terraform을 준비합니다.
# terraform init
인스턴스 ID를 지정하고 import를 실시.
terraform import aws_instance.imported i-037fec03a06ff16c7
확인
이것으로 import가 완료됩니다. terraform plan을 실시해, 차분이 없는 것을 확인 할 수 있으면 OK입니다.
# terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
aws_instance.imported: Refreshing state... [id=i-037fec03a06ff16c7]
------------------------------------------------------------------------
No changes. Infrastructure is up-to-date.
더 관리되고 있는지 궁금하다면 terraform destroy
를 실시합니다. 관리하는 EC2가 삭제 대상으로 출력되어야 합니다.
# terraform destroy
aws_instance.imported: Refreshing state... [id=i-037fec03a06ff16c7]
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
- destroy
Terraform will perform the following actions:
# aws_instance.imported will be destroyed
- resource "aws_instance" "imported" {
- ami = "ami-0f27d081df46f326c" -> null
<省略>
끝에
관리되지 않은 리소스를 가져올 수 있다는 것을 알았으므로 실제로 시도했습니다.
덧붙여서 자원에 필요한 인수는 사전에 조사하지 않아도, plan을 실시하면 terraform에 기재해야 할 스테이터스를 가르쳐 줍니다.
예를 들어, ami를 지정하지 않고 plan을 실시하면 ami를 지정하면(자) 에러 메세지가 나옵니다.
# terraform plan
Error: Missing required argument
on main.tf line 5, in resource "aws_instance" "imported":
5: resource "aws_instance" "imported" {
The argument "ami" is required, but no definition was found.
Reference
이 문제에 관하여(생성된 EC2를 terraform 관리로 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/atsushi586/items/f0995a3129507af8033a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# terraform init
terraform import aws_instance.imported i-037fec03a06ff16c7
이것으로 import가 완료됩니다. terraform plan을 실시해, 차분이 없는 것을 확인 할 수 있으면 OK입니다.
# terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
aws_instance.imported: Refreshing state... [id=i-037fec03a06ff16c7]
------------------------------------------------------------------------
No changes. Infrastructure is up-to-date.
더 관리되고 있는지 궁금하다면
terraform destroy
를 실시합니다. 관리하는 EC2가 삭제 대상으로 출력되어야 합니다.# terraform destroy
aws_instance.imported: Refreshing state... [id=i-037fec03a06ff16c7]
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
- destroy
Terraform will perform the following actions:
# aws_instance.imported will be destroyed
- resource "aws_instance" "imported" {
- ami = "ami-0f27d081df46f326c" -> null
<省略>
끝에
관리되지 않은 리소스를 가져올 수 있다는 것을 알았으므로 실제로 시도했습니다.
덧붙여서 자원에 필요한 인수는 사전에 조사하지 않아도, plan을 실시하면 terraform에 기재해야 할 스테이터스를 가르쳐 줍니다.
예를 들어, ami를 지정하지 않고 plan을 실시하면 ami를 지정하면(자) 에러 메세지가 나옵니다.
# terraform plan
Error: Missing required argument
on main.tf line 5, in resource "aws_instance" "imported":
5: resource "aws_instance" "imported" {
The argument "ami" is required, but no definition was found.
Reference
이 문제에 관하여(생성된 EC2를 terraform 관리로 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/atsushi586/items/f0995a3129507af8033a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# terraform plan
Error: Missing required argument
on main.tf line 5, in resource "aws_instance" "imported":
5: resource "aws_instance" "imported" {
The argument "ami" is required, but no definition was found.
Reference
이 문제에 관하여(생성된 EC2를 terraform 관리로 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/atsushi586/items/f0995a3129507af8033a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)