1. 소개
팀 내에서 Pulumi를 공유하기 위해서는 Pulumi 설정 파일을 블록 스토리지에 저장하는 것이 좋습니다. 여기서는 Cloudflare에서 제공하는 R2를 사용해보겠습니다. R2는 100GB까지 무료로 제공됩니다.
2. 설정
사전 준비
- Cloudflare 계정 생성
- Google Cloud 계정 생성
- Cloudflare에서 도메인 구매
- Homebrew로 필요한 도구 설치
brew install awscli
brew install --cask google-cloud-sdk
Cloudflare R2 설정
- Cloudflare R2 Object Storage로 이동
- ‘Create Bucket’을 선택하고 이름을
my-pulumi-backend
로 지정 (Pulumi 설정을 저장할 버킷) - Manage R2 API Tokens에서 필요한 인증 정보 확인
- 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
- 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]:
- 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/