Terraform을 사용하여 1분 안에 AWS에서 정적 웹사이트 호스팅

정적 웹 사이트가 있고 간단한 솔루션을 원하는 경우 S3 및 Cloudfront가 훌륭한 선택입니다. 정적 콘텐츠를 호스팅하는 Cloudfront의 안전하고 확장 가능한 방법을 사용하는 S3. 또한 도메인에 대한 SSL 인증서를 얻을 것이며 무료입니다.

전제 조건



이 terraform 모듈을 배포하기 전에 호스팅 영역이 Route 53에 있는지 확인하고 DNS 공급자의 NS 레코드를 변경하여 도메인을 Route53으로 이동합니다.



우리는 4개의 AWS 서비스를 사용할 것입니다.
  • S3 - 웹사이트 파일 저장(HTML, CSS, JavaScript)
  • Cloudfront - CDN
  • 인증서 관리자 - SSL 인증서
  • Route 53 - DNS 레코드

  • Cloudfront를 사용하고 있으므로 공개 버킷이 필요하지 않으므로 비공개 S3 버킷을 생성합니다. Cloudfront를 만들 때 OAI(Origin Access Identity) 설정을 사용합니다. 이는 Cloudfront 배포만 S3 버킷의 파일에 액세스하고 읽을 수 있음을 의미합니다. 또한 Certificate Manager에서 SSL 인증서를 생성하고 Cloudfront는 모든 HTTP 트래픽을 HTTPS로 리디렉션합니다.



    먼저 저장소 복제

    git clone [email protected]:emreoztoprak/terraform-aws-s3-cloudfront-acm.git
    
    


    terraform.tfvars 파일에서 이 두 변수를 변경합니다.

    
    SiteTags = "Example" (Tag value of the resources.)
    
    domainName = "example.com"
    
    


    이제 변수를 변경할 때 이 모듈을 실행할 수 있습니다.

    terraform init
    terraform plan
    terrafom apply --auto-approve
    
    


    배포가 완료되면 웹사이트 파일을 S3 버킷에 업로드합니다. DefaultRootObject를 index.html로 구성했습니다. 기본적으로 사용자가 루트 URL에 액세스하면 index.html 파일이 표시됩니다.

    간단한 HTML 파일을 업로드했습니다.

    축하합니다. 네가 해냈어. :)



    이 튜토리얼이 도움이 되었기를 바랍니다!

    좋은 웹페이지 즐겨찾기