AWS

EC2 인스턴스 생성하기, 윈도우로 SSH 실행하는 방법과 더 편한 방법

S_N_Y 2024. 3. 3. 03:10

 

#0 EC2 인스턴스 생성하기 🏋️

먼저 'EC2 -> 인스턴스 -> 인스턴스 생성'으로 들어가서 '이름 및 태그'에 원하는 인스턴스 이름을 적고 아래에는 아래의 이미지들 순서대로 자신의 타입에 맞게 설정하면 된다.

운영체제로 Quick Start에서 이미지를 찾을 수 있고 커스텀 AMI를 만들어서 사용할 수도 있다.
인스턴스 유형과 키 페어는? -> 바로 아래서 설명

인스턴스 유형 : CPU숫자나 메모리 양 혹은 비용에 따라 다르는데 필자는 프리티어로 시연해보는 만큼 기본 값인 t2.micro를 세팅하였다.

키 페어(로그인) : 인스턴스에 로그인하는 키 페어, SHH 유틸리티 사용 시에 인스턴스에 접근하기 위해선 꼭 필요하다.

window 7,8 이하 아니면 다.pem으로 설정

인터넷으로부터 들어오는 HTTP 트래픽도 허용해야 하니 '인터넷에서 HTTP 트래픽 이용' 체크 -> EC2 인스턴스에 웹 서버를 실행할 예정이라..!

'볼륨'은 설정 그대로이지만 알아두면 좋은 세부 정보는 오른쪽 상단에 있는 '고급'을 눌렀을 때 나오는 '종료시 삭제' 부분은 인스턴스가 종료될 때 볼륨을 자동으로 삭제할 지 여부를 나타내는 것이니 필요할 때 예/아니오 설정을 따로 해주는 것이 좋다.

그 다음 '고급 세부 정보'도 알아두면 좋은 부분들이 많은데 일단 나중에 글을 또 올릴테니 가장 하단에 있는 '사용자 데이터'로 가본다.  

여기는 EC2 인스턴스에 스크립트, 즉 명령어를 전달하고 EC2 인스턴스를 처음 실행할 때만 전달한다.

#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y // 몇가지 업데이트 후
yum install -y httpd // 머신에 httpd 웹 서버를 설치
systemctl start httpd 
systemctl enable httpd
echo "<h1> Hello World from $(hostname -f)</h1>" /var/www/html/index.html // 웹 서버인 HTML 파일을 작성

저 안에 들어갈 예시 명령어인데 여기 있는 코드나 명령어를 일단 다 아는건 미뤄두고 명령어들을 저 안에 넣어주면 처음 실행할 때 해당 명령어를 실행해준다는 것을 알면 된다.

summary에서 여러 설정에 대한 것을 다 꼼꼼하게 확인한 뒤, 인스턴스를 생성하면

...

이렇게 몇초 만에 인스턴스 상태가 보류에서 실행 중으로 바뀌는 것을 볼 수 있다.

클라우드 덕분에 서버를 하나도 소유하지 않고도 인스턴스 하나에서 백 개까지 10초 안에 생성할 수 있다👍

 

+) 웹 브라우저에서 서버 빌려쓰는 것 확인하기

아까 위에서 http만 선택했으니 저 퍼블릭 IPv4 주소를 복사하고 웹 브라우저 상에서 http:// + 복사한 주소를 입력하면 웹 브라우저 상에서 Hello World와 해당 region을 같이 보여주는데 보여주면 성공이다!

 

추가로 비용이 부담스럽거나 혹시 비용이 계속 나갈까봐 두려워서 이 인스턴스를 잠시 사용을 멈추고 싶다면 상단의 '인스턴스 상태'를 인스턴스 중지로 만들면 된다.

혹은 삭제해서 다시 만들어도 좋다.

(중지했다가 다시 실행시키면 퍼블릭 IPv4 주소는 바뀐다.(프라이빗 IPv4 주소는 삭제되기 전까진 안 바뀐다.))

 

#1 윈도우로 SSH 실행하는 방법 ✅

putty가 아닌 ssh로 실행하는 방법을 소개해드리기 때문에 window 7,8 이하는 putty로 해야하는 점을 먼저 언급드리며..

 

ssh 명령어로 일단 있는지 확인하고 아래와 같이 뜨면 있다는 뜻이니 ls로 다운 받은 .pem이 있는지 ls로 확인한다.

아마 list에 안 떠있을텐데 desktop에 있는 것이니 아래의 명령어를 통해 desktop으로 먼저 이동시킨다.

그리고 ls 명령어를 통해 .pem파일을 확인한다. (다운 받은 .pem 파일은 바탕화면으로 빼두면 된다.)  

 

ssh -i '.\EC2 Tutorial.pem' ec2-user@

ssh -i 쓴 다음 EC2를 적고 tab을 누르면 파일명이 자동완성되어서 들어간다.

ssh -i '.\{파일명}.pem' ec2-user@에 퍼블릭 IPv4 주소를 넣으면 된다.

+) ssh -i '.\ {파일명} .pem' ec2-user@+IP 의미 : amazon linux2를 사용하기 때문에 ec2-user 계정을 사용해서 앞에 나와있는 키( .\EC2 Tutorial.pem)를 사용하면 된다는 의미이다.

그 다음 묻는 질문에 yes 명령어를 입력하면 완성이다!

 

+) 이런 식으로 권한 문제에 오류가 발생했을 때 해결 방법 :

이런 식으로 권한에 오류가 뜨면 아래와 같이 바꾸면 된다!

먼저 해당파일(.pem)에서 우클릭한 후, 속성에 들어가서 보안 -> 고급 탭으로 이동한다.

 

안에 있던 권한들을 노란색 체크가 있는 부분에서 전부 지우면 아래의 사진처럼 깨끗하게 지워진 것을 볼 수 있다.

 

그다음 '변경(C)' 를 누르면 아래와 같이 뜨는데 

보안 주체 선택 - 개체 이름에 윈도우 계정 이름(필자의 경우, home)을 넣으면 자동으로 앞에 붙어서 나온다

확인을 누른 뒤, 그 사용자에게 아래와 같은 권한을 모두 부여하고 만들면 완성이다. 

 

 

사실 ssh로 직접 연결하지 않고 아래 사진처럼 EC2 Instance connect하면 쉽다.(연결 클릭)