Cloudflare + AWS SSM 자동화 가이드
Cloudflare + AWS SSM 자동화 가이드
목적
- Cloudflare 배포 필수값을 AWS SSM에 저장
- SSM 최신값을 GitHub Actions에 동기화
mainpush 시 블로그 자동 배포
필요한 값 (사용자가 제공)
CF_ACCOUNT_IDCF_API_TOKENCF_PROJECT_NAME(권장:solodev-root-blog)
SSM 경로
| 키 | SSM 경로 | 타입 |
|---|---|---|
| Cloudflare Account ID | /solodev/ci/blog/cloudflare/account-id |
String |
| Cloudflare API Token | /solodev/ci/blog/cloudflare/api-token |
SecureString |
| Cloudflare Pages Project | /solodev/ci/blog/cloudflare/project-name |
String |
원클릭 실행
CF_ACCOUNT_ID=... \
CF_API_TOKEN=... \
CF_PROJECT_NAME=solodev-root-blog \
scripts/blog/bootstrap-cloudflare-pages-from-values.sh --overwrite --create-project --trigger-deploy
실행 내용:
- SSM 파라미터 등록
- GitHub Secret/Variable 동기화
- Cloudflare Pages 프로젝트 생성 시도
- 배포 워크플로우 실행
- 준비 상태 점검
수동 단계별 실행
1) SSM 등록
CF_ACCOUNT_ID=... \
CF_API_TOKEN=... \
CF_PROJECT_NAME=solodev-root-blog \
scripts/blog/register-cloudflare-blog-ssm.sh --overwrite
2) GitHub 동기화
scripts/blog/sync-cloudflare-blog-secrets-from-ssm.sh
3) 준비 상태 점검
scripts/blog/check-cloudflare-blog-ready.sh
4) 배포 실행
gh workflow run deploy-cloudflare-pages-blog.yml
값 회전(최신화)
Cloudflare 토큰 변경 시 아래 2개만 재실행:
CF_ACCOUNT_ID=... \
CF_API_TOKEN=... \
CF_PROJECT_NAME=solodev-root-blog \
scripts/blog/register-cloudflare-blog-ssm.sh --overwrite
scripts/blog/sync-cloudflare-blog-secrets-from-ssm.sh
실패 시 점검
- AWS 권한:
aws sts get-caller-identity - SSM 값 확인:
aws ssm get-parameter --name /solodev/ci/blog/cloudflare/account-idaws ssm get-parameter --name /solodev/ci/blog/cloudflare/api-token --with-decryption
- GitHub 설정 확인:
gh secret listgh variable list
- 워크플로우 로그:
gh run list --workflow deploy-cloudflare-pages-blog.yml