Posted on:July 1, 2024 at 02:30 AM

Cloudflare R2를 Pulumi 백엔드로 사용하기

Cloudflare R2를 Pulumi 백엔드로 사용하기

1. 소개

팀 내에서 Pulumi를 공유하기 위해서는 Pulumi 설정 파일을 블록 스토리지에 저장하는 것이 좋습니다. 여기서는 Cloudflare에서 제공하는 R2를 사용해보겠습니다. R2는 100GB까지 무료로 제공됩니다.

2. 설정

사전 준비

  1. Cloudflare 계정 생성
  2. Google Cloud 계정 생성
  3. Cloudflare에서 도메인 구매
  4. Homebrew로 필요한 도구 설치
brew install awscli
brew install --cask google-cloud-sdk

Cloudflare R2 설정

  1. Cloudflare R2 Object Storage로 이동
  2. ‘Create Bucket’을 선택하고 이름을 my-pulumi-backend로 지정 (Pulumi 설정을 저장할 버킷)
  3. Manage R2 API Tokens에서 필요한 인증 정보 확인
  4. S3 호환 API를 사용할 수 있으므로 다음 정보를 기록
S3_ACCESS_KEY=87d2364ad95asdff4625eb9
S3_SECRET_KEY=d18743f3cc85asdf89877e6436
S3_BUCKET_NAME=my-pulumi-backend
S3_ENDPOINT=https://e17d7c715f89.r2.cloudflarestorage.com
S3_REGION=weur
  1. AWS CLI로 확인하려면 다음과 같이 설정
aws configure list
aws configure --profile r2  # 이 명령어로 설정
AWS Access Key ID [****************5eb9]:
AWS Secret Access Key [****************6436]:
Default region name [weur]:
Default output format [json]:
  1. Pulumi .env 파일에 다음 내용 추가
AWS_DEFAULT_PROFILE=r2

Pulumi 백엔드 설정

pulumi login 's3://my-pulumi-backend?endpoint=e17d7c715f89.r2.cloudflarestorage.com'

그리고 pulumi.yaml 파일에 다음 설정을 추가:

backend:
  url: s3://my-pulumi-backend?endpoint=e17d7c715f89.r2.cloudflarestorage.com

이 설정이 완료되면 R2 버킷에 .pulumi 폴더가 생성되고, 그 안에 상태 정보가 저장됩니다.

자세한 내용은 다음 문서를 참조하세요:

https://www.pulumi.com/docs/iac/concepts/state-and-backends/