terraform provider

김성인·2023년 10월 31일
0

[CI/CD] 🪀Terraform

목록 보기
3/9
post-thumbnail

https://registry.terraform.io/browse/providers

Terraform 은 다양한 인프라 플랫폼, 서비스 및 API와 상호 작용할 수 있는 광범위한 공급자를 보유하고 있음.

  • provider는 API상호 작용을 이해하고 Terraform Cloud Provider를 통해 관리할 수 있는 리소스를 노출하는 역할을 함.

Cloud Provider

provider는 퍼블릭 및 프라이빗 클라우드 플랫폼에서 리소스를 관리할 수 있도록 함.

  • AWS (Amazon Web Services)
  • Azure
  • GCP
  • IBM Cloud
  • Oracle Cloud Infrastructure
  • Alibaba
  • 등등

Infrastructure Provider

네트워킹, 스토리지 및 가상화 플랫폼과 관련된 리소스 및 서비스를 관리하는데 도움을 줌,

  • VMaare vSphere
  • VMware NSX-T
  • Cisco ACI
  • Nutanix
  • Proxmox
  • F5BIG-IP

Version Control Provider

테라폼이 버전제어 시스템 및 저장소와 상호 작용할 수 있도록 함

  • Git Hub
  • Git Lab
  • Bit Bucket
  • Azure DevOps

Monitoring and Alerting Providers

모니터링, 알림, 관찰 가능한 리소스 및 서비스를 관리함

  • Datadog
  • NewRelic
  • PagerDuty
  • Grafana
  • Prometheus

Security and Identity Providers

액세스 제어, ID 관리 및 보안 리소스를 관리하는데 도움

  • Okta
  • One login
  • Auth
  • Azure Active Directory
  • AWS IAM

Database Providers

데이터 베이스 서비스 및 리소스의 관리를 용이하게 함.

  • AWSRDS
  • GoogleCloudSQL
  • AzureDatabaseServices
  • MongoDBAtlas

Container Orchestration Providers

컨테이너 오케스트레이션 플랫폼 및 서비스의 리소스를 관리

  • Kubernetes
  • Docker
  • Amazon Elastic Kubernetes Service(EKS)
  • Google Kubernetes Engine(GKE)
  • HashiCorp Nomad

Other Providers

다양한 API, 리소스 관리를 돕는 기타 제공자

  • DNS 관리를 위한 DNS Simple, Cloudflare, Route53
  • 커뮤니케이션 서비스를 위한 Twilio
  • 컨텐츠 제공 네트워크를 위한 Fastly, Cloud Front
  • 모니터링을 위한 Grafana, Prometheus
  • 서비스 검색 및 비밀 관리를 위한 Consult, Vault

테라폼 작성

멀티 프로바이더가 필요한 경우
main.tf 에서 모두 작성한다고 함 (관례)

# # local_file: provider, resource type
# # hello: resource name
resource "local_file" "hello" {
    filename = "/tmp/hello.txt"
    content = "hello world"
    file_permission = "0700"
}

resource "random_string" "random_code" {
  length  = 5
  special = false
  upper   = false
}

0개의 댓글