바닥코딩

EC2 인스턴스 본문

방법론과 DevOps/AWS

EC2 인스턴스

개발공부개발공부 2022. 10. 24. 23:18

이전 EC2, EBS, ELB 관련 포스팅에서 EC2에 대해 다룬적이 있었습니다.

https://dkkim2318.tistory.com/106

 

EC2, EBS, ELB

EC2(Elastic Compute Cloud)  개발단계 혹은 개발 완료 후 서비스를 하기위해 프로젝트와 스토리지의 사용량을 미리 생각하는 것은 굉장히 어려운 일입니다. 새로운 기술과 방대한 정보가 계속되서 등

dkkim2318.tistory.com

위 포스팅 내용과 같이 EC2를 통해 가상의 컴퓨팅 환경인 인스턴스를 와 스토리지, 키페어 등등을 제공 받을 수 있습니다. 이번 포스트에서는 실습을 통해 EC2 인스턴스를 생성하는 과정을 다루어  보겠습니다.

 

putty

먼저 ssh 접속과 키페어를 생성하기 위해 putty가 필요합니다. putty 는 ssh , telnet, TCP를 위한 클라이언트로 동작하는 자유 및 오픈 서비스 단말 에뮬레이터 응용프로그램입니다.

https://www.chiark.greenend.org.uk/~sgtatham/putty/

 

PuTTY: a free SSH and Telnet client

PuTTY: a free SSH and Telnet client Home | FAQ | Feedback | Licence | Updates | Mirrors | Keys | Links | Team Download: Stable · Pre-release · Snapshot | Docs | Changes | Wishlist PuTTY is a free implementation of SSH and Telnet for Windows and Unix plat

www.chiark.greenend.org.uk

putty 는 해당 웹사이트를 통해 다운로드 받을 수 있습니다. 먼저 AWS EC2 인스턴스 실습을 위해선 putty와 puttygen 을 설치해주어야 합니다.

EC2 인스턴스 생성

먼저 AWS에서 EC2로 접속 해보겠습니다. 접속 후 좌측에 인스턴스를 클릭하면

 

생성된 인스턴스 목록을 조회 할 수 있습니다. 해당 포스트에서는 인스턴스를 생성하는 과정부터  진행해보겠습니다. 먼저 우측 상단에 인스턴스 시작을 클릭해 보겠습니다.

 

인스턴스 시작을 클릭하면 위와 같은 화면을 확인 할 수 있습니다. 해당 화면에서 인스턴의 이름과 OS를 선택할 수 있는데 OS와 같은 경우 아마존 Linux로 진행해 보겠습니다.

 

마우스 스크롤을 내리면 인스턴스 유형을 선택할 수 있습니다. 물론 실제 기업용 인스턴스는 많은 메모리가 필요하겠지만. EC2 학습에 목적을 두고 있기 때문에 t2.micro(아주 작은) 프리티어 유형으로 진행 하겠습니다.  네트워크는 디폴드로 진행하겠습니다.

 

스토리지 또한 디폴트로 진행할 것이지만 키페어는 새로운 키 페어를 생성해 보겠습니다(기존 키페어가 존재한다면 사용가능)  키페어를 생성하면

생성한 키페어명.pem 파일을 다운로드 받을 수 있습니다. 해당 과정을 모두 마쳤다면 인스턴스 생성이 시작 되는데 인스턴스를 생성하면서 진행해야할 작업들이 있습니다.

 

먼저 puttygen을 열어줍니다. puttygen에서 여기서 Load를 클릭하여 다운 받었던 .pem 파일을 열어줍니다.

.pem 파일을 열면 위와 같은 화면을 볼 수 있을 것입니다. 여기서 화면을 누르시고

Key passphrase 를 지정해 줍니다 나만의 비밀번호라고 생각하시면 되는데 필수는 아니지만, 보안측면에서 작성해 주는 것이 좋습니다. 이후 Save private key 버튼을 클릭하면 ppk 파일을 생성할 수 있습니다. .ppk파일이 생성 되었다면 putty를 실행시켜 줍니다

제일 먼저 putty를 실행했다면 Host Name 또는 ip 주소를 입력하는 창이 보이실 겁니다. 해당 항목에 

이전에 aws 생성한 인스턴스의 퍼블릭 IP주소를 복사해

ㅕputty에 입력해줍니다. (입력한 주소 앞에 ec2@user는 필수!! 로 넣어줘야 합니다)

그 다음 putty 좌측 SSH Auth 를 클릭해 줍니다 그리고 우리가 Browse... 버튼을 클릭한 후 일전에 생성했던  .ppk 파일을 찾아 등록해 줍니다.

다시 전 화면으로 돌아와 Open을 누르면 원격접속이 가능하지만 이전에 작성한 정보를 저장하는 것이 가능합니다 Saved Sessions 항목에 원하는 이름을 지정하고 우측 Save 버튼을 누르면 지금까지 putty에서 설장한 내용을 저장하는 것이 가능합니다.

저장 후 open을 하면 경고창이 뜨는데 해당내용은 최초 접속에만 나오는 내용이기 떄문에 큰 신경을 쓸 필요는 없습니다 Accept를 눌러줍니다.

 

 

접속 후 일전에  puttygen에서  지정해 놓은 Key passphrase 비밀번호를 입력하면 접속을 할 수 있습니다.

sudo su

먼저 계정을 변경 후 

yum update -y

커맨드를 작성해 줍니다 해당 커맨드는 운영체제에 관련된 패키지를 설치 해줍니다.

설치가 완료되었다면 

yum install httpd -y

커맨드를 실행합니다.

해당 커맨드는 아파치 install를 수행합니다.

그렇다면 아파치를 실행시켜보겠습니다.

service httpd start

그 다음 인스턴스를 재기동 한다면 아파치 서버도 자동으로 on 시켜주는 설정을 진행하겠습니다.

chkconfig httpd on

이후 AWS 인스턴스에서 지정된 퍼블릭 ip주소로 접속하면 

연결이 되어지지 않는 것을 확인 할 수 있습니다. 인바운드 규칙을 지정해 주지 않았기 때문인데 이것을 설정하기 위해

aws 인스턴스로 돌아와 보안 > 인바운드 규칙을 확인해 보곘습니다 인바운드 규칙이란 외부에서 웹서버를 접속할 때 방화벽에 대한 지정을 해줍니다 22번 포트와 같은  경우 ssh 통신을 위해 디폴트로 지정이 되어 있어 문제가 없으나, 웹 사이트를 접속하기 위한 80번 포트는 디폴트로 지정이 되어있지 않기 때문에 해당 인바운드 규칙을 생성 하겠습니다.

보안 그룹을 선택하면 우측 하단에 인바운드 규칙 편집 버튼을 확인할 수 있습니다 이를 클릭하면

새로운 인바운드 규칙을 추가할 수 있는데 해당 인스턴스에서는 웹사이트 접속을 관장할 것이기 때문에 HTTP 프로토콜 80번 포트를 추가 후 모든 사용자가 접속할 수 있도록 0.0.0.0/0 대역을 지정한 이후 규칙을 저장하겠습니다. 이후 아까와 동일한 주소로 접속을 하면 

이전에 설치했던 아파치 디폴트 Test Page가 로드 되는것을 확인 할 수 있습니다.

이것으로 EC2 인스턴스에 웹사이트를 등록하는 방법을 실습해보았습니다.

'방법론과 DevOps > AWS' 카테고리의 다른 글

S3(Simple Storage Service)  (0) 2022.11.01
RDS  (1) 2022.10.25
Route 53  (1) 2022.10.18
EC2, EBS, ELB  (1) 2022.10.12
정책 시뮬레이터  (0) 2022.10.07