Terraform 구성을 사용하여 인프라를 쉽게 자동화
Terraform 구성 파일
동일한 인프라를 반복해서 만들어야 했던 적이 있습니까? Terraform을 사용하면 시스템을 한 번 작성한 다음 원하는 만큼 자주 배포하는 자동화된 솔루션을 만들 수 있습니다.
구성을 한 번만 작성하면 Terraform이 사용자로부터 인프라를 생성하는 힘든 작업을 수행합니다. 오늘은 그러한 Terraform 구성 파일의 필수 내용을 보여드리겠습니다. 따라서 가능한 한 빨리 시작하고 시간을 절약하여 더 멋진 일을 할 수 있습니다.
Terraform 블록
terraform {
required_providers {
docker = {
source = "kreuzwerker/docker"
version = "~> 2.13.0"
}
}
}
이 예제에서는 terraform을 사용하여 로컬에서 실행되는 간단한 nginx 컨테이너를 만드는 방법을 보여드리겠습니다. 유일한 전제 조건은 terraform 및 docker를 로컬에 설치하는 것입니다. 저와 함께하고 싶지만 모든 것이 설치되어 있지 않은 경우 다음 단계를 따르십시오. https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/docker-get-started
이 구성은 모든 terraform 프로젝트의 핵심입니다. 대상 인프라를 설명하고 정의된 인프라를 계획하고 생성하는 데 사용됩니다. 간단한 도커 설정을 위한 구성을 만드는 방법을 보여 드리겠습니다.
공급자 블록
# The default provider configuration; resources that begin with `aws_` will use
# it as the default, and it can be referenced as `aws`.
provider "aws" {
region = "us-east-1"
}
# Additional provider configuration for west coast region; resources can
# reference this as `aws.west`.
provider "aws" {
alias = "west"
region = "us-west-2"
}
구성 내의 첫 번째 블록은 terraform 블록입니다. 여기에서 사용하려는 테라폼 설정과 사용할 공급자를 설명합니다. 공급자는 인프라를 생성하기 위해 대상 환경과 상호 작용하는 API와 같습니다. 공급자에 대한 특정 버전을 지정하려는 경우 그렇게 할 수 있습니다. 기본적으로 terraform은 최신 버전을 사용합니다. 이 예에서는 공급자 수준 구성을 추가하지 않으므로 빈 공급자 블록을 사용합니다.
provider "docker" {
}
테라포밍 리소스
resource "docker_image" "nginx" {
name = "nginx:latest"
keep_locally = false
}
resource "docker_container" "nginx" {
image = docker_image.nginx.latest
name = "tutorial"
ports {
internal = 80
external = 8000
}
}
terraform 내의 리소스는 생성할 특정 인프라 구성 요소(리소스)를 설명합니다. terraform 리소스를 만들 때 다음 두 문자열을 제공해야 합니다.
이 두 문자열 다음에 추가 구성 세부 정보를 제공할 수 있습니다. 예를 들어 클라우드 컴퓨팅 인스턴스의 경우 이는 인스턴스 크기 또는 연결할 네트워크입니다. 이 예에서는 두 개의 리소스를 만듭니다.
최종 구성은 이제 다음과 같아야 합니다.
terraform {
required_providers {
docker = {
source = "kreuzwerker/docker"
version = "~> 2.13.0"
}
}
}
provider "docker" {
}
resource "docker_image" "nginx" {
name = "nginx:latest"
keep_locally = false
}
resource "docker_container" "nginx" {
image = docker_image.nginx.latest
name = "tutorial"
ports {
internal = 80
external = 8000
}
}
이를 통해 terraform 구성 내에서 필요한 모든 것을 설정했습니다. 이제 로컬 도커 환경에 대한 구성 및 인프라를 실행할 수 있습니다.
결론
보시다시피 docker의 기본 사항을 이해하는 것은 간단합니다. 이 예제를 위해 로컬 도커 환경을 위한 간단한 컨테이너를 만들었습니다. 원하는 클라우드 환경에 인프라를 배포할 수 있습니다. 공급자를 변경하고 요구 사항에 맞게 몇 가지 구성을 추가하기만 하면 됩니다.
Reference
이 문제에 관하여(Terraform 구성을 사용하여 인프라를 쉽게 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaykleinvogel/use-the-terraform-config-to-easily-automate-your-infrastructure-4a49텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)