본문 바로가기

전체 글

(92)
Travis CI로 application.properties 암호화 항해 76일차 EC2, S3 관련 비밀 키를 포함하는 application.properties 파일을 깃허브에 그대로 올릴 수 없는 문제가 있어 처음에는 외부에 빼두고 외부파일을 읽는 방법으로 했지만 서버가 털리면 모든 정보를 잃을수도 있다는 조언으로 급하게 암호화 하는 방법을 찾아보았다. 여러 방법이 있었는데 Travis에서 파일을 암호화를 하여 깃허브에 올리고 travis에서 사용할 때는 파일을 복호화 해서 사용하게 만들 수 있다. Mac이 아닌 Window환경해서 하면 안된다는 팀원들이 많았다. Travis 설치 sudo gem install travis Travis 로그인 travis login --pro --github-token [본인 계정 토큰] 암호화 인텔리제이 터미널에서 암호화 하고자하는..
Nginx 무중단 배포 항해 75일차 Travis CI와 CodeDeploy로 CI/CD 구성을 하였다. 배포 자동화까지 되었으니 무중단 배포까지 진행했다. 긴 시간은 아니지만, 새로운 Jar가 실행되기 전까진 기존 Jar를 종료시켜 놓기 때문에 서비스가 종료된다. 서비스를 정지하지 않고 배포하는 것을 무중단 배포라고 한다. Nginx가 가지고 있는 여러 기능 중 리버스 프록시가 있다. 리버스 프록시란 Nginx가 외부의 요청을 받아 백엔드 서버로 요청을 전달하는 행위를 이야기 한다. 리버스 프록시 서버(엔진엑스)는 요청을 전달하고, 실제 요청에 대한 처리는 뒷단의 웹 애플리케이션들이 처리한다. 우리는 이 리버스 프록시를 통해 무중단 배포 환경을 구축해 볼 예정이며 Nginx를 이용한 무중단 배포를 하는 이유는 가장 저렴하고 ..
Travis CI와 AWS S3, CodeDeploy 연동 (3) 항해 74일차 Travis CI와 AWS S3, CodeDeploy 연동 앞에서 S3연동까지 되었다. AWS의 배포 시스템인 CodeDeploy를 이용하기 전에 배포 대상인 EC2가 CodeDeploy를 연동 받을 수 있게 설정해보자. EC2에 IAM 역할 추가 S3 버킷을 생성하면서 IAM에서 사용자 추가를 하였다. 이번에는 사용자 추가가 아닌 역할 추가를 해야한다. IAM의 사용자와 역할의 차이 역할 AWS 서비스에서만 할당할 수 있는 권한 EC2, CodeDeploy, SQS 등 사용자 AWS 서비스 외에 사용할 수 있는 권한 로컬 PC, IDC 서버 등 이번에 만들 권한은 EC2에서 사용해야 하기 때문에 사용자가 아닌 역할을 설정해준다. IAM에서 [역할]탭에서 역할 만들기 클릭 AWS서비스 / ..