본문 바로가기

AWS13

[EC2] EC2 서버에 프로젝트 배포하기 5 - EC2에서 소셜 로그인하기 AWS 보안 그룹 변경 먼저 EC2에 스프링 부트 프로젝트가 8080 포트로 배포되었으니, 8080 포트가 보안 그룹에 열려 있는지 확인합니다. 8080이 열려 있다면 OK, 안 되어있다면 [Edit inbound rules] 버튼을 눌러 추가해 줍니다. AWS EC2 도메인으로 접속 왼쪽 사이드바의 [인스턴스] 메뉴를 클릭합니다. 본인이 생성한 EC2 인스턴스를 선택하면 다음과 같이 상세 정보에서 퍼블릭 DNS를 확인할 수 있습니다. 이 주소가 EC2에 자동으로 할당된 도메인입니다. 인터넷이 되는 장소 어디나 이 주소를 입력하면 우리 EC2 서버에 접근할 수 있습니다. 자 그럼 이제 도메인 주소에 8080포트를 붙여 브라우저에 입력합니다. 현재 상태에서는 해당 서비스에 EC2의 도메인을 등록하지 않았기.. 2021. 7. 15.
[EC2] EC2 서버에 프로젝트 배포하기 4 - 스프링 부트 프로젝트로 RDS 접근하기 RDS는 MariaDB를 사용 중입니다. 이 MariaDB에서 스프링부트 프로젝트를 실행하기 위해선 몇 가지 작업이 필요합니다. 진행할 작업은 다음과 같습니다. 테이블 생성 H2에서 자동 생성해주던 테이블들을 MariaDB에선 직접 쿼리를 이용해 생성합니다. 프로젝트 설정 자바 프로젝트가 MariaDB에 접근하려면 데이터베이스 드라이버가 필요합니다. MariaDB에서 사용 가능한 드라이버를 프로젝트에 추가합니다. EC2 (리눅스 서버) 설정 데이터베이스의 접속 정보는 중요하게 보호해야 할 정보입니다. 공개되면 외부에서 데이터를 모두 가져갈 수 있기 때문입니다. 프로젝트 안에 접속 정보를 갖고 있다면 깃허브와 같이 오픈된 공간에선 누구나 해킹할 위험이 있습니다. EC2 서버 내부에서 접속 정보를 관리하도록.. 2021. 7. 15.
[EC2] EC2 서버에 프로젝트 배포하기 3 - 외부 Security 파일 등록하기 ClientRegistrationRepository를 생성하려면 clientId와 clientSecret이 필수입니다. 로컬 PC에서 실행할 때는 application-oauth.properties가 있어서 문제가 없었습니다. 하지만 이 파일은 .gitignore로 git에서 제외 대상 처리해서 깃허브에는 올라가 있지 않습니다. 애플리케이션을 실행하기 위해 공개된 저장소에 ClientId와 ClientSecret을 올릴 수는 없으니 서버에서 직접 이 설정들을 가지고 있게 하겠습니다. Travis CI는 깃허브의 비공개된 저장소를 사용할 경우 비용이 부과됩니다. 먼저 step1이 아닌 app 디렉토리에 properties 파일을 생성합니다. vim /home/ec2-user/app/application-o.. 2021. 7. 13.
[EC2] EC2 서버에 프로젝트 배포하기 2 - 배포 스크립트 만들기 작성한 코드를 실제 서버에 반영하는 것을 배포라고 합니다. 배포라 하면 다음의 과정을 모두 포괄하는 의미라고 보면 됩니다. git clone 혹은 git pull을 통해 새 버전의 프로젝트 받음 Gradle이나 Maven을 통해 프로젝트 테스트와 빌드 EC2 서버에서 해당 프로젝트 실행 및 재실행 앞선 과정을 배포할 때마다 개발자가 하나하나 명령어를 실행하는 것은 불편함이 많습니다. 그래서 이를 쉘 스크립트로 작성해 스크립트만 실행하면 앞의 과정이 차례로 진행되도록 하겠습니다. 참고로 쉘 스크립트와 빔(vim)은 서로 다른 역할을 합니다. 쉘 스크립트는 .sh라는 파일 확장자를 가진 파일입니다. 노드 JS가 .js라는 파일을 통해 서버에서 작동하는 것처럼 쉘 스크립트 역시 리눅스에서 기본적으로 사용할 수.. 2021. 7. 13.