AWS EC2
Amazon Elastic Compute Cloud(EC2)는 Amazon Web Services(AWS)의 클라우드 컴퓨팅 서비스 중 하나로, 사용자가 필요에 따라 가상 서버를 생성하고 실행할 수 있는 서비스다.
Amazon EC2는 사용자가 원하는 수의 가상 서버(인스턴스)를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있다. 이를 통해 사용자는 필요에 따라 컴퓨팅 리소스를 동적으로 할당하고 더 높은 가용성, 확장성 및 보안성을 제공할 수 있다.
AWS EC2 UserGuide 참고 : https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
(우선 나는 아이폰 아이패드 에어팟 애플워치 소유자이지만, Mac은 써본 적 없다.
그래서 윈도우 기준이니 참고... 그리고 회원가입까지 알아서... 카드 등록이랑 그런거 해야됩니다.)
1. AWS EC2 인스턴스 생성
우선 아래 홈페이지에 접속하여 EC2 대시보드를 확인한다.
그리고 인스턴스 항목을 누르면 아래와 같은 바가 우측 상단에 존재한다.
인스턴스 시작을 누른다.
인스턴스 이름은 알아서 정하고(나는 어디다 쓸지 이름 정하고 유형이랑 같이 적었다. xxx-t3-small 이런 식)
그보다 중요한 건 Ubuntu 서버로 선택해야 한다.
왜 Mac처럼 SSH client도 없으면서 Windows인데 우분투 써요?
NginX나 Docker를 사용하는 등 EC2에 접속할 때 보안, 권한, 프로그램 실행, 배치 등 CLI를 사용해야 하는데
리눅스 OS를 사용하여 다양한 커널, 쉘 등을 사용할 수 있다는 점에서 이용한다고 보면 된다.
하여튼 당연히 리눅스 인스턴스를 제어하기 위해서 별도 SSH Client를 설치해야 한다.
Putty도 있고 XShell도 있는데 편한거 쓰시길(나는 XShell이 국산프로그램이고 그렇게 좋다길래 써봤다.)
Putty Link : https://www.putty.org/
XShell Link: https://www.netsarang.co.kr/ko/free-for-home-school/
아무튼 해당 프로그램을 이용해 SSH Client를 통한 세션 등록으로 리눅스 인스턴스 연결이 가능해진다.
인스턴스 유형을 선택한다.
(아마존 가입한지 1년 안되면 t2.micro 프리티어로 사용 가능(1년 될 때쯤은 조심해야 함))
사실 프리티어 아니더라도 실습하는 입장에선 가격도 그렇게 크진 않다.
HTTPS, HTTP 트래픽 허용 체크
스토리지는 프리티어에서는 30GB인가? 까지 무료인데, 나는 뭐 한 20GB로 했던 것 같다.
프리티어 아니면 12GB정도로 추천. Docker, sql 등 설치하면 금방 찬다.
참고로 스팟 인스턴스라는 게 있는데, 남의 서버 갖다 쓰는 셋방이라 생각하면 편하다.
대신에 중지는 안되고 뺏기는 것도 언제 뺏길지 모른다.
프리티어는 할 필요 없고 나는 거의 체크 안하는 속성
새 키 페어 생성 누르기
키페어 이름 적고 생성한 후, 인스턴스 시작하면 인스턴스 생성 완료
참고로 프라이빗 키 파일 형식 >> PuTTY 사용할거면 .ppk로 해야하는 듯 하다. 정확히는 모름
우선 인스턴스가 실행 중일텐데, 실행중이어야 당연히 가상 서버가 돌아간다.
참고로 프리티어 아니면 실행 중일때 돈드니까 안하면 중지하던지 해야한다.
종료는 그냥 가상서버 없애는 것(종료하고 시간지나면 없어짐)
아 그리고 겸사겸사 '(계정 이름 적혀있는 메뉴) - 보안자격 증명'에서 멀티 팩터 인증(MFA)이라는게 있는데,
그 게임할 때 OTP 같은거라 생각하면 편하다.
혹시나 누가 건드릴까봐 불안하면 해보길 (나는 Google Authenticator 사용하고 있다.)
하여튼 인스턴스 ID 누르면 이것저것 뜨는데, 그 중 퍼블릭 IPv4 DNS를 사용한다.
(이거 참고로 주소랑 이 뒤에 나올 SSH 계정 이름, 비밀번호 절대 노출하지말길 큰일남)
2. Xshell 세션 설정
아까 SSH Client 이야기를 좀 더 하자면, SSH 및 Telnet 프로토콜을 통해 원격 서버에 접속하고 관리하는데 사용한다.
우선 시작해서 새 세션 등록을 해야한다. 역시 이름은 알아서 설정하고(나는 인스턴스 이름이랑 같음)
호스트(H) 라고 적혀있는 곳에 아까 퍼블릭 IPv4 DNS를 입력한다.
그 이후 '연결 > 사용자 인증' 창이 뜨는데, Public Key로 선택하고 설정을 누른다.
Public Key 설정에서 사용자 키 찾아오기 버튼 누르고 가져오기 눌러서
아까 EC2 생성하면서 키페어 생성한거 xxx.pem 첨부하면 된다.
이러면 XShell도 세션 연결되어 이용할 수 있다.
3. NginX 시작해보기
대충 쉘에다가 'sudo su -' 라고 치면 관리자 모드로 들어간다.
(계속 명령어 칠때마다 sudo 써도 되는데 나는 귀찮아서)
'apt-get install nginx' 명령어를 통해 엔진엑스를 설치한다.
대충 Y 한 번 치고 보라색 두 번 번쩍한다.
'nginx -v' 명령어 쳐서 설치 잘 됐나 버전 확인 한 번 해본다.
'service nginx start' 명령어를 쳐서 엔진엑스 서버를 실행시킨다.
그리고 주소창에 아까 퍼블릭 IPv4 DNS, 호스트 주소를 주소창에 입력하면 이런 창이 뜬다.
아 참고로 service nginx stop 하면 꺼지고 exit 쳐서 shell 나갈 수도 있다.