CDK for Terraform을 시도했습니다.

개요



최근 인프라에 관심이 솟아오니 terrafrom을 사용하여 놀았습니다.
그러면 "CDK for Terraform"되는 것을 발견 👀

AWS-CDK를 사용해 TypeScript나 Python등에서 Terraform을 취급할 수 있다는 것이므로, 즉시 시험해 보았습니다!

※주의: 아직 개발 중이며 알파 테스트 단계에 있는 소프트웨어가 포함되어 있습니다. 프로덕션 환경에는 사용하지 마십시오 🙇‍♂️

hashicorp/terraform-cdk
Write Terraform with Typescript and Python
CDK for Terraform: Enabling Python & TypeScript Support

명령


# CLIのインストール
$ npm install -g cdktf-cli

# 作成(プロジェクト配下で)
$ cdktf init --template=typescript

# Terraformのコードを生成
$ cdktf synth

# リソースの生成
$ cdktf deploy

# リソースの削除
$ cdktf destroy

S3를 만들어 보았습니다.



아래 코드로 쉽게 만들 수있었습니다.

import { Construct } from 'constructs';
import { App, TerraformStack } from 'cdktf';
import { AwsProvider, S3Bucket } from './.gen/providers/aws'

class MyStack extends TerraformStack {
  constructor(scope: Construct, name: string) {
    super(scope, name);

    new AwsProvider(this, 'aws', {
      region: 'ap-northeast-1'
    });

    // S3 bucket
    new S3Bucket(this, "my_bucket", {
      bucket: 's3-example.com',
      acl: "private"
    })
  }
}

const app = new App();
new MyStack(app, 'aws');
app.synth();
# Terraformのコードを生成
$ cdktf synth

# リソースの生成
$ cdktf deploy

감상



HCL 언어라면 옵션이 지금 몰랐습니다만, TypeScript를 이용하는 것으로 d.ts 파일인 어느 정도 무엇이 필요하고 무엇을 사용할 수 있는지 등을 알기 쉬웠습니다.

사이고에게



계속해서, 알사가 파트너스 Advent Calendar 2020 16일째의 기사는 @miumi씨 입니다.

좋은 웹페이지 즐겨찾기