Skip to content

ppark2ya/react-aws-cloudformation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS CloudFormation + Serverless deploy

AWS CloudFormation

  • CloudFormation은 Amazon Web Services(AWS) 리소스를 자동으로 생성해 주는 서비스이다. 사용하려는 AWS 리소스를 템플릿 파일로 작성하면, CloudFormation이 이를 분석해서 AWS 리소스를 생성한다. 이렇게 생성된 리소스를 스택이라고 한다.
  • CloudFormation은 템플릿 작성, 템플릿 업로드, 스택 생성, 스택 설정 및 리소스 생성의 4단계로 실행된다.
  • 템플릿은 CloudFormation 디자이너에서 작성할 수 있다.
  • reference

Serverless

  • 서버를 직접 관리할 필요가 없는 아키텍처
  • AWS CloudFormation + Serverless 조합은 IaaS(Infrastructure as a Service). 인프라 가상화
    • 시스템에서 필요한 모든 인프라 자원(네트워크, 스토리지, 서버)까지 가상화한 방식
  • references

CloudFront Origin Access Identity(OAI)

  • S3 + CloudFront로 배포했을 때 CloudFront 주소로만 접근할 수 있게 설정하는 것
  • reference

Project setup (ex. Reactjs)

npx create-react-app react-aws-cloudformation --template typescript
npm i -D serverless serverless-s3-sync serverless-stack-termination-protection
npm run build

Local deploy

npm i -g serverless
sls --version
serverless config credentials --provider aws --key 'aws_access_key_id' --secret 'aws_secret_access_key'

aws credential

  • vi ~/.aws/credential

  • 여러 계정을 쓰는 경우 [default] 에 이름 지정해서 사용

  • example

    [default]
    aws_access_key_id=ASLKDJKLSAJDLA
    aws_secret_access_key=ZXCOIXJCO/asdaweqw121
    
    [tag1]
    aws_access_key_id=ASLKDJKLSAJDLA
    aws_secret_access_key=ZXCOIXJCO/asdaweqw121
    
    [tag2]
    aws_access_key_id=QOKWPQWPOQK
    aws_secret_access_key=GJPSOJDPWEQ/eroeiroeir1
    ...
    
  • deploy command examples

    (default)sls deploy
    
    AWS_PROFILE=tag1 sls deploy
    

AWS CloudFormation References

Purge CDN

  • CDN 을 사용한다면, 만약에 프로젝트에 업데이트가 발생했을 때 기존에 CDN 에 퍼져있는 파일들을 새로고침 해주어야 한다. 해당 작업을 처리하기 위해선 Purge, 혹은 Invaldiation 이라는 작업을 해주어야 한다. CDN 에 퍼져있는 파일을 제거처리함으로서 새로 받아오게끔 하는 방식.
  • https://react-etc.vlpt.us/08.deploy-s3.html

About

aws cloudformation 템플릿을 serverless framework을 이용해 배포하는 예제

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published