오랫만에 블로그에 게시글을 업데이트 해봅니다.
최근에 AWS 로 서버 구축하는 것을 테스트 해본 것이 있어서,
이번 게시글에서는 AWS 를 사용하여 간단하게 웹 서버 구축하는 것을 진행하려고 합니다.
AWS EC2 서버 프리티어 버전으로 1대 발급 받은 후 해당 서버에 java, maven, git, docker, docker-compose 를 설치한 후 github에서 SpringBoot 로 만들어둔 테스트 프로젝트를 받아 빌드하고 실행을 하도록 하겠습니다.
또 마찬가지로 github 에서 docker-compose 파일을 받아 실행하여, mongodb 실행하는 것 까지 해보겠습니다.
AWS 계정을 신규로 만들게 되면 프리티어 서비스의 경우 12개월 무료로 사용 가능합니다.
기존의 이미 계정을 만드셔서 12개월이 지난 경우 새로운 이메일로 계정을 만들면 다시 12개월 사용이 가능합니다. (아마도?)
우선 AWS 가입을 해야하는데 가입하기 위해서는 해외결제가 가능한 카드 번호를 필수로 입력해야합니다.
AWS 의 경우 실제 비용 발생이 될 수 있기 때문에, 매우 조심하셔야 합니다. 테스트 종료 후 서버를 반드시 중지/종료 해두시길 권장합니다.
AWS 가입하는 방법에 대해서는 다른 게시글을 참조 부탁드립니다.
AWS 계정을 만들었다고 생각하고 진행하도록 하겠습니다.
# AWS Linux EC2 Server 생성
인스턴스 생성AWS 서비스 중 "EC2" 를 선택하고, "인스턴스" 메뉴를 선택합니다.계정을 만들었다고 생각하고 진행하도록 하겠습니다.우측 상단 쪽에 보시면 "인스턴스 시작" 이라는 버튼이 있고 해당 버튼을 누르면 인스턴스 생성을 할 수 있습니다.[서비스] > "EC2" 선택 > [인스턴스] > [인스턴스시작]
가장 상단에 있는 "Amazon Linux" 를 선택하여 서버를 만듭니다.
여러개의 서버 스펙을 선택할 수 있는 있는 Grid 가 보일텐데 여기에서 공짜로 사용할 수 있는 것은 "프리 티어 사용 가능" 이 붙어 있는 서버만 가능합니다. CPU1 코어에, 1기가 메모리만 할당 받을 수 있습니다. (너무 사양이 부족하지만... 테스트니까)
우측 하단에 보면 "다음: 인스턴스 세부 정보 구성" 버튼을 눌러 다음 단계로 이동합니다.
프리티어를 사용하기 위해서는 설정을 할 수 있는 것이 없기는 한데, 스토리지 용량 정도는 약간 증설 가능하긴 합니다.하지만 그냥 진행하도록 하겠습니다.
"보안 그룹 구성"에서 방화벽 설정을 할 수 있게 됩니다. 해당 탭에서 밖으로 몇가지 포트를 설정하도록 하겠습니다. (실제로 운영을 할 경우 이렇게 아무렇게나 포트 오픈하면 안돼요)
키 페어를 생성을 하고 다운받으신 후 "인스턴스 시작"을 누르면 서버가 구동됩니다.해당 키 페어는 서버에 접속할 때 필요하니, 저장 위치를 기억하셔야 합니다.
인스턴스 상태가 "실행 중" 상태가 되게 되면 퍼블릭 IP를 조회할 수 있습니다.
서버 접속퍼블릭 IP를 통해 SSH 를 접속하도록 하겠습니다. 접속 시 아까 저장한 인증서 파일의 경로를 같이 적어둬야 합니다.ssh 연결 명령어 : ssh -i {인증서경로} ec2-user@{아이피}
(ex: ssh -i ~/Downloads/aws-test.pem ec2-user@13.209.19.10)
SSH 에서 "yes" 라고 적으면 서버에 접속이 됩니다.
(ex: ssh -i ~/Downloads/aws-test.pem ec2-user@13.209.19.10)