×
Community Blog Terraform으로 알리바바 클라우드 환경 관리하기

Terraform으로 알리바바 클라우드 환경 관리하기

이번 블로그를 통해 Terraform을 통해 알리바바 클라우드의 다양한 서비스를 배포하는 방법에 대해 배워볼 수 있습니다.

Hashicorp 사에서 오픈소스로 개발한 IT 인프라스트럭쳐 오케스트레이션 플랫폼인 Terraform은 IaC(Infrastructure as Code)의 대표격인 도구이다.

Terraform을 이용하면 코드를 이용하여 알리바바 클라우드 환경을 관리 할 수 있으며, 쉬운 CLI 도구로 효율적인 인프라스트럭쳐 운영이 가능하다.

현재 ECS, VPC, RDS, SLB 등 130 여개 서비스에 대한 모듈을 제공한다.

https://registry.terraform.io/providers/aliyun/alicloud/latest/docs

Terraform으로 Alibaba Cloud를 프로비저닝하려면, 가입된 계정의 자격 증명 정보가 필요하다. Alibaba Cloud의 계정 액세스 키를 받는 방법을 아래 가이드에 따라 확인할 수 있다.

  1. https://www.alibabacloud.com/ 에서 회원 가입을 한다.
  2. RAM(Resource Access Management) 콘솔로 이동하여 서브 User를 만든다.
  3. 만들어진 서브 User에 Terraform으로 프로비저닝 할 리소스의 프로비저닝 권한을 부여한다.2
  4. 만들어진 User를 RAM 콘솔에서 확인하면 AccessKey ID와 AccessKey Secret를 획득할 수 있다.

할당된 AccessKey는 외부로 유출되지 않도록 각별히 관리가 필요하며, Terraform을 사용할 때도 해당 키가 Public Repository에 할당되어 있지는 않는지, 반드시 확인이 필요하다. AccessKey의 안전한 보관을 위하여 Hashicorp사의 Vault 등의 서비스를 이용하는 것이 바람직하다.

Alibaba Cloud의 기본 인스턴스 서비스인 ECS 배포를 위해 다음과 같이 main.tf를 작성한다.

terraform {
    required_providers {
        alicloud = {
            source = "aliyun/alicloud"
            version = ">= 1.130"
            }
        }
    
    provider "alicloud" {
        access_key = "${var.access_key}"
        secret_key = "${var.secret_key}"
        region  = " ap-northeast-2"
        }

    data "alicloud_instance_types" "c2g4" {
        cpu_core_count = 2
        memory_size  = 4
        }

    data "alicloud_images" "default" {
        name_regex  = "^centos"
        most_recent = true
        owners  = "system"
    }
}

Terraform init을 수행하고 terraform apply를 실행하면 2core, 4GB Memory가 할당된 centos 인스턴스가 배포된다. ECS 콘솔로 접속하여 Seoul Region을 확인해보면 정상적으로 인스턴스가 배포되었음을 확인할 수 있다. Terraform destroy를 실행하여 해당 리소스가 삭제되는 것 또한 확인해본다.

표시된 예제는 가장 쉽게 ECS를 배포할 수 있는 소스코드이다. 실제로 운영 환경에 배포하기 위해서는 VPC, vSwitch, Security Group 등의 설정이 반드시 필요하다. 이에 필요한 예제는 메뉴얼에서 확인할 수 있다.

또한 알리바바 클라우드에서는 다양한 TF file 예제를 제공하고 있다.

https://github.com/alibabacloud-howto

https://github.com/alicloud-hashicorp/webinar/tree/main/202110

알리바바 클라우드와 하시코프사는 전략적인 파트너쉽 관계를 기반으로 모든 서비스를 테라폼으로 배포할 수 있도록 지속적으로 개발을 하고 있으며, 이를 통해 엔지니어의 작업에 대한 편의성을 지속적으로 늘려나갈 것이다.

1 1 1
Share on

JJ Lim

21 posts | 4 followers

You may also like

Comments

Dikky Ryan Pratama June 26, 2023 at 12:43 am

Awesome!

JJ Lim

21 posts | 4 followers

Related Products