반응형
AWS 환경에서 웹 서비스를 배포할 때 GitLab CI/CD 파이프라인을 활용하여 자동으로 S3에 빌드 파일을 업로드하고, CloudFront 캐시를 초기화한 후 Route 53을 통해 도메인 서비스를 제공하는 방법을 소개합니다.
1. GITLAB CI YAML
- 변수들은 GITLAB variable에 등록하여 사용(보안 관점)
# 파이프라인의 실행 단계를 정의
stages:
- build #
- deploy
# 빌드 작업 정의
build:
stage: build
image: node:latest
cache:
paths:
- node_modules/
script:
- npm install
- npm run build
artifacts:
paths:
- dist/
# 배포 작업 정의
deploy:
stage: deploy
image: amazon/aws-cli
before_script:
- echo "s3 Access-key 적용"
- aws configure set aws_access_key_id $aws_access_key
- aws configure set aws_secret_access_key $aws_secret_access
script:
- echo "S3 sync"
- aws s3 sync ${CI_PROJECT_DIR}/dist/ s3://${s3-buckent}/
- echo "캐시 초기화"
- aws cloudfront create-invalidation --distribution-id EOXA1N216FPWD --paths "/*"
only:
- dev
dependencies:
- build
2. AWS IAM 권한 부여
- AmazonS3FullAccess
- CloudFrontFullAccess
3. Cloudfront 캐시 무효화처리
https://repost.aws/ko/knowledge-center/cloudfront-clear-cache
- AWS CLI를 통한 Cloudfront 캐시 초기화(모든 경로)
aws cloudfront create-invalidation --distribution-id "배포ID" --paths "/*"
4. Cloudfront 도메인으로 접속
이번 작업은 간단한 테스트를 통해 진행되었으며, 실제 환경에서는 더 복잡한 구성이 필요할 수 있습니다. 테스트는 기본적인 배포 흐름을 검증하기 위한 목적으로 수행되었습니다.
반응형
'AWS > 기타' 카테고리의 다른 글
AWS Route53 + 가비아 등록 (0) | 2025.01.08 |
---|---|
AWS 키페어 생성 (0) | 2024.11.07 |
Ray Cluster 설치 (0) | 2024.06.23 |
Ray Cluster 개요 (0) | 2024.06.23 |
Mongodb Cluster 구성 (0) | 2024.05.27 |
댓글