s3

    [AWS] LocalStack을 사용하여 S3 Bucket에 파일 업로드/다운로드

    개발을 하다보면 데이터베이스, 파일 저장소 등 인프라를 필연적으로 사용하게 된다. 하지만 로컬 환경, 테스트 환경에서도 실제 구동되고 있는 머신을 사용하는 것은 불필요한 자원들을 소모할 수 있다. 통합 테스트를 격리된 환경에서 진행할 수 없다는 단점도 있다. 이를 위해 나온 솔루션이 바로 LocalStack 이다! aws의 서비스인 Lambda, S3, DynamoDB 등등 다양한 서비스를 로컬환경에서 구동할 수 있다. RDS, IAM 등 유료버전에서만 제공하는 기능, 서비스들도 있다. 로컬스택이 동작하는 방식이나 테라폼, 스프링 클라우드와 연동 등 더 다양한 설정이 궁금하다면 공식문서를 참조하자. 역시 공식 문서를 보는 것이 제일 정확하고 깔끔한 것 같다. 환경설정 다른 블로그를 보면 보통 locals..

    [Github Action] CodeDeploy와 S3를 이용하여 배포하기

    배포 전 CI 구성은 여기에 정리해두었다. 전체 과정은 wbluke님 블로그를 많이 참고했다. 전체 코드는 깃허브에 정리해두었다. 전체 배포 과정 어플리케이션에 배포에 필요한 절차를 AppSpec.yml에 작성한다. CodeDeploy에 프로젝트의 특정 버전을 배포해달라고 요청하면, CodeDeploy는 배포를 진행할 EC2 인스턴스에 설치되어 있는 CodeDeploy Agent들에게 요청받은 버전을 배포해달라고 요청 요청받은 Agent들은 코드 저장소에서 프로젝트 전체를 다운로드 받고, AppSpec.yml 파일을 읽어 해당 파일의 절차대로 배포를 진행한다. Agent는 배포를 진행한 후 CodeDeploy에게 성공/실패 등의 결과를 알려준다. AWS 리소스 생성 EC2 jar 파일을 실행시킬 OS에 ..