배워서 바로 쓰는 14가지 AWS 구축 패턴 | 1
AWS 공부시작!
가상 서버
ubuntu를 선택한다.
퍼블릭 IP 자동 할당을 비활성화 해야 인스턴스 재시작 시 IP가 변경되지 않는다.
키 페어를 생성하고 SSH 접속은 내 IP로 설정한다.
HTTP, HTTPS 트래픽을 허용해 사이트 사용자들의 접속을 허가한다.
종료 방지를 활성화 해 조작 실수로 인한 인스턴스 삭제를 막을 수 있다.
인스턴스 생성 후, 탄력적 IP를 생성해 해당 인스턴스와 연결해야 한다.
중지(Stop)는 OS가 정지되고 이미지가 보존된다.
종료(Terminate)는 OS가 정지되고 EC2 인스턴스가 삭제된다.
DNS 기능
도메인 등록을 눌러 도메인을 AWS에서 구매하거나 기존에 보유한 도메인을 호스팅한다.
gabia에서 구매한 도메인과 연결하기 위해서는 Route 53의 NS를 gabia 네임서버에 작성해야 한다.
이후 레코드 생성, 단순 라우팅, 단순 레코드 정의를 눌러 레코드 유형에 따른 IP를 선택하고 탄력적 IP를 붙여넣고 단순 레코드 정의를 완료한다.
가상 프라이빗 클라우드
VPC 설정에서 DNS 확인 활성화, DNS 호스트 이름 활성화를 체크한다.
라우팅 테이블에서 igw-로 시작하는 라우팅이 없으면 등록해준다.
가상 스토리지 볼륨
EC2 인스턴스 생성 시 함께 생성된다.
EC2의 저장공간이 부족할 때 EC2의 스토리지에서 볼륨을 추가할 수 있다.
볼륨을 생성하기 전 기존 EC2의 가용영역을 확인 후 일치시켜 생성한다.
생성 후에는 EC2와 연결해주고 EC2에서 해당 볼륨을 포맷한다.
루트 폴더에 데이터 폴더를 생성하고 포맷을 마친 볼륨을 해당 폴더에 마운트한다.
드디어 EC2 설정을 완료했다.
이제 간단한 사이트를 만들어보자.
아래 링크로 들어가 nvm을 설치한다.
Node.js로 3000번 포트를 listen하는 간단한 서버를 만든다.
이때 EC2의 인바운드 규칙에 3000번 포트를 허용해야 한다.
http://도메인:3000으로 접속해 성공적으로 화면이 뜨는 것을 확인하고 포트 포워딩을 한다.
원래 80번 포트를 listen하려 했으나 권한 문제가 발생해 3000번 포트를 listen하고 포트 포워딩을 했다.
npm으로 iptables를 설치한다.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
해당 명령어를 작성하면 80번 포트에서 들어온 요청이 3000번 포트로 포워딩 된다.
이제 3000번 포트 인바운드 규칙은 없애도 된다.
포트번호 없이 http://도메인으로 접속하면 성공적으로 화면이 뜨는 것을 볼 수 있다.
처음으로 내 도메인 주소를 사용해 내가 만든 서비스에 접속하는 경험을 해볼 수 있었다.
이제 겨우 AWS 맛을 본 정도지만 너무 맛있어서 중독될 거 같다.
AWS의 더 많은 서비스를 능숙히 다룰 수 있도록 계속해서 공부하겠다.