오늘은 AWS의 배포 자동화에 대하서 공부했다. 배포를 자동으로 해준다는 것은 배포한 application이 변경사항이 있을때 다시 하나하나 배포 작업을 하는것이 아니라 변경사항이 있으면 자동으로 build 해서 배포를 해주는 것이다. AWS에서는CodeCommit, CodeBuild, CodeDeploy와 같은 기능을 제공하여 코드를 해시코드로 암호화하여 버전관리를 해주는 깃헙 암호화 버전같은 기능을 제공하는 것이 CodeCommit 이고 지정된 Repository가 변하면 자동으로 빌드 해주는 CodeBuild와 포트 보안설정과 같은 연결에 필요한 기능들로 실제로 외부에서 접속할 수 있게 배포하는 CodeDeploy 기능이 있다. 이 기능들을 묶어서 한번에 작업하는 묶음을 CodePipeline이라는 기능으로 한번에 쭉 기능을 엮어주는 기능을 한다. AWS는 과금이 언제부터 어떻게 책정되는지 확인하는 것이 중요하다. 그리고 각 기능들이 무엇을 담당하는지 알아야 에러를 피할 수 있다. 그리고 client같은 경우는 빌드를 하고 배포를 하는 과정을 거치지만 서버는 빌드는 하지 않는 경우가 있다. client에서는 React의 JSX는 코드를 변환해주는 작업이 필요하지만 node로 서버를 구현한 경우 코드 변환이 필요 없을 때는 빌드를 하지 않기도 한다. TS를사용하는 경우는 빌드과정이 필요하다.
어렵게 하나하나 설정해주고 긴 배포과정을 거치는 것은 비슷했지만 수정이 필요할때 자동으로 배포를 해주는 것은 정말 너무 좋은 기능이라는 것을 느꼈다. 연습을 해보는 중간에도 배포하고 연결과정을 테스트 할 때 에러가 나서 트러블 슈팅과정에서 변경사항들을 다시 적용해야 하는 경우가 많았다. 그 때 자동화가 빛났다. 정말 편했다. 이런 자동으로 하는 기능이라 한번 설정을 잘못하면 계속 설정이 잘못될 수 있으니 조금 더 항목들을 자세히 알아봐야 할 필요성을 느꼈다. 정말 편하고 고마운 기능을 배웠다.