S3 Static Hosting Website

NOWNIZ·2023년 1월 26일
0

Blah Blah

목록 보기
6/9

현재 DevOps팀에서 제공하는 정적 웹 호스팅의 인프라 아키텍처 형태는 CDN (AWS Cloudfront) + S3 이다.

해당 인프라 형태에 대한 자세한 레퍼런스는 다음의 AWS 링크에 있으니 참고하셔도 좋습니다.

https://aws.amazon.com/ko/blogs/korea/amazon-s3-amazon-cloudfront-a-match-made-in-the-cloud/


작업 명세

현재 개발팀에 인프라를 제공할 때에 필요한 작업은 크게 3가지로 분류된다.

  1. Cloudfront 구축 (with Terraform)
  2. S3 구축 (with Terraform)
  3. Bitbucket Pipeline 설정 (as Repository Admin)

Terraform 으로 작업하는 AWS 리소스에 대해서는 현재 DevOps팀 terraform repository에 소스 코드 및 INFRASTRUCTURE 코드가 있으니 참고하여 작성한다.

유의점

  • Cloudfront 구축 당시의 Terraform Version은 1.0.11이며, 별도의 provider Option이 필요하다. (aws/hashcorp 의 버전 조정)
  • S3 버킷 구축 당시의 Terraform Version은 0.12.31 이며, 구축한 후 console 상에서 최하단 Static website hosting에 대한 설정이 필요하다! (이 부분은 Terraform 상에서 추가될 필요가 있어보임)

Bitbucket Pipeline 설정의 경우 다음 Step으로 이루어진다.

  1. 해당 Repository에 대한 Admin 권한 획득
  2. bitbucket-pipelines.yml 파일 작성
    1. Bitbucket yml 파일의 경우 직접 작성하여 main 브랜치에 Pull Request를 날리는 경우도 있으나, 개발팀에서 직접 작성완료해 둔 경우도 있다.
  3. Repository Settings → Pipeline → Deployments → 환경 별 Variables 주입시키기 (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, DISTRIBUTION_ID, S3_BUCKET 등)
profile
DevOps & Cloud Engineering

0개의 댓글