레츠고✨

[AWS] EC2 서버 구축하기 - (1) 인스턴스 생성하고 접속(Window) 본문

Infra

[AWS] EC2 서버 구축하기 - (1) 인스턴스 생성하고 접속(Window)

소냐. 2022. 8. 11. 21:44

프로젝트를 진행하면서 실습했던 AWS EC2 설정방법입니다

 

ECElastic Computer의 줄임말로 AWS서비스에서 제공하는 컴퓨터를 의미합니다.

즉, 저희가 집에서 하는 컴퓨터말고 AWS에서 관리하는 컴퓨터1대를 빌려준다고 이해하면 쉽습니다.

 

서버를 배포해야 하는데 우리집 컴퓨터의 IP를 노출시킬 수 없으니 다른 곳에 위치한 제3자의 컴퓨터와 IP를 빌림으로써

보안에 안전하게 서버배포를 할 수 있는거죠

 

자, 먼저 AWS 사이트에 접속하고 로그인합니다

1. EC2 인스턴스 생성

서비스 중 EC2를 선택하고 EC2 메뉴 > 인스턴스

'인스턴스 시작'을 눌러 인스턴스 생성을 위한 설정페이지로 이동합니다

  • 이름을 입력해주세요 (주로 프로젝트 이름)
  • 애플리케이션 및 OS 이미지를 선택합니다. 저는 Ubuntu Server 22.04 LTS로 선택해주었습니다
  • 인스턴스 유형은 프리티어 사용(무료)을 위해 t2.micro 를 선택합니다

  •  키 페어를 생성합니다(만약 컴퓨터에 이미 생성한 키 페어가 있다면 해당 키 페어를 선택해도 됩니다)

키 페어 이름 입력

프라이빗 키 파일 형식은 일단 pem으로 받으시면 됩니다

(Mac사용자분들은 pem 형식 그대로 사용가능하고, 윈도우는 puTTy를 통해 접속하려면 ppk형식이 필요하지만 추후 다운받을 프로그램에서 변환기능이 있기 때문에 상관없음!)

  • 네트워크 설정은 따로 건드리는 것 없이 넘어갑니다.
  • 스토리지 구성은 프리티어의 경우 30GB가 최대이기 때문에 30으로 변경해줍니다!(무료로 30까지 해준다는데 굳이 안 할 필요 없잖아요~)

  • 이제 마지막 요약정보를 확인하고 "인스턴스 시작"버튼을 눌러줍니다!

그리고 인스턴스 페이지로 가보면

이렇게 새로 생성한 인스턴스가 뜨는 걸 볼 수 있습니다!

 

※ EC2 인스턴스 과금 주의

참고로 프리티어의 경우 인스턴스 1개까지만 무료로 생성할 수 있기 때문에 이렇게 2개 이상의 인스턴스를 생성해놓고 시간이 지나면 과금이 될 수 있습니다.. 저는 이 글을 위해 예시로 만든 것이기 때문에 바로 삭제했습니다! 과금방지...) 


2. 보안그룹 설정하기

자 이제 그러면 생성한 인스턴스의 보안그룹 설정을 해주겠습니다

EC2를 생성할 때 보안그룹이 자동생성되는데 해당 보안그룹을 편집해줍니다.

인바운드 규칙을 추가해주면 됩니다.

일단 총 3가지를 열어줄건데 SSH, HTTP, HTTPS 를 열어줄거에요 (MySQL은 나중에  RDS생성할 때 연결해줄게요...)

 

SSH는 네트워크 상의 다른 컴퓨터에 원격접속할 수 있게 해주는 프로토콜인데

AWS 클라우드 서비스의 인스턴스에 원격접속하기 위해서는 SSH 포트를 열어주어야 합니다. 기본 포트번호는 22입니다.

내 로컬 컴퓨터에서만 접속가능하도록 내IP를 선택해주면 자동으로 현재 접속된 네트워크의 IP를 입력해줍니다.

 

HTTP는 웹에서 접속할 수 있게 열어주어야 합니다. 사이트를 배포했는데 웹에서 접속이 안되면 아무 소용이 없겠죠?

어디에서나 웹에서 검색하면 접속이 가능하도록 모든 IP에게 열어줍니다. 기본 포트번호는 80입니다.

HTTPS는 HTTP에서 보안이 강화된 버전이라고 보면 됩니다. 포트번호는 443이고, HTTPS도 모든 IP에게 열어줍니다.

정리하면

  • SSH (22) - 내 IP
  • HTTP (80) - Anywhere IPv4
  • HTTPS (443) - Anywhere IPv4


3. 탄력적 IP 주소 할당 및 연결하기

  • 탄력적 IP(Elastic IP) 를 사용하는 이유는?
EC2 인스턴스를 생성하면 퍼블릭 IP 주소와 프라이빗 IP 주소가 나옵니다. EC2를 통해 서비스를 운영하면, 외부 사용자들은 퍼블릭 IP 주소를 통해 접속할 수 있습니다. 하지만 퍼블릭 IP는 고정 IP라서 나중에 인스턴스를 중지하고 다시 시작한다면 퍼블릭 IP는 변경됩니다. 반면 탄력적 IP는 동적 IP로써 한 번 할당받고 연결하고 나면, IP가 변경될 걱정없이 사용할 수 있습니다.

 

1) 탄력적 IP 할당

EC2 > 네트워크 및 보안 > 탄력적 IP 선택

'탄력적 IP 주소 할당' 클릭

탄력적 주소를 할당하면 다음과 같이 나옵니다.

 

2) 할당한 탄력적 IP 를 인스턴스에 연결

연결하고자 하는 탄력적 IP를 선택하고(이미 선택되어 있을 것임), '작업' > '탄력적 IP 주소 연결' 클릭

위에서 생성했던 인스턴스를 선택해주고 연결해줍니다!

인스턴스가 연결되면 탄력적 IP에 연결된 인스턴스가 무엇인지 ID가 뜹니다

해당 인스턴스에 가서 확인해보면 퍼블릭 IP 옆에 탄력적 IP가 나오는 걸 볼 수 있습니다!

 

※ 탄력젹 IP 과금 주의

탄력적 IP를 할당만 하고 연결하지 않으면 AWS 과금될 수 있습니다. 반드시 할당하고 연결해주세요~

 

여기까지 정리하면 

EC2, 즉 서버를 구축하고 배포할 컴퓨터를 하나 임대했고, 해당 컴퓨터에 접속할 탄력적 IP를 할당하고 연결했습니다.

그럼 이제 해당 EC2에 접속해보도록 하겠습니다.


4. EC2 접속하기

  • 윈도우 

저는 윈도우 사용자이기 때문에 윈도우에서 접속하는 법을 먼저 소개할게요

다른 지역에 있는 컴퓨터에 원격접속해야 하기 때문에 SSH 프로토콜이 필요한데요.

Linux기반의 운영체제에서는 기본적으로 SSH 서버와 클라이언트가 설치되어 있지만,
윈도우기반의 운영체제에는 기본적으로 내장되어 있지 않습니다.

따라서 SSH 클라이언트 프로그램인 PuTTY를 설치해 사용하려고 합니다.

하지만 그 전에 WinSCP 프로그램을 설치해줄게요

 

1) WinSCP 설치

WinSCP는 윈도우에서 GUI로 FTP, SSH, SFTP 를 사용가능한 클라이언트 프로그램입니다.

PuTTY를 사용할 수 있을 뿐만 아니라, 파일 송수신도 쉽고, 여러 개의 서버를 관리할 수 있기 때문에 해당 프로그램을 통해PuTTY를 이용하겠습니다.

아래는 다운로드 링크입니다.

https://winscp.net/eng/download.php

 

WinSCP :: Official Site :: Download

WinSCP 5.21 Download WinSCP 5.21 is a major application update. New features and enhancements include: SSH core upgraded to PuTTY 0.77. That includes support for rsa-sha2-256 and rsa-sha2-512 SSH public key algorithms and improved support for HTTP proxies

winscp.net

WinSCP 설치 후 열었을 때

2) WinSCP 로그인

WinSCP를 설치하고 열게 되면 위 사진과 같이 새 사이트에 로그인할 수 있는 화면이 보입니다.

바로 접속하고자 하는 인스턴스의 정보를 입력하는 곳입니다.

  • 호스트 이름 : 인스턴스의 탄력적 IP
  • 사용자 이름 : ubuntu ( 저희는 인스턴스를 생성할 때 OS 이미지를 ubuntu로 했기 때문입니다. 이럴 경우 기본 사용자 이름은 ubuntu 입니다)
  • key 페어 인증 : '고급'> SSH 인증 > 키페어연결 (인스턴스 생성할 때 같이 생성했던 키페어를 연결해줍니다. 선택하면 pem형식은 ppk로 변환할 것인지 묻는 창이 뜨게 되고, 수락하면 자동변환됩니다)

3) PuTTY접속

인스턴스에 접속이 성공적으로 완료되면 해당 세션창으로 접속이 됩니다.

위 메뉴판 중에 아래와 같은 아이콘이 PuTTY입니다.

PuTTY를 설치해주겠습니다

64비트(x86) 버전으로 다운로드

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 · Snapshot | Docs | Changes | Wishlist PuTTY is a free implementation of SSH and Telnet for Windows and Unix platforms, along wi

www.chiark.greenend.org.uk

설치가 완료되면 WinSCP에서 PuTTY 아이콘을 눌러 접속해줍니다.

위와 같이 나온다면 해당 인스턴스에 접속성공!

 

  • MAC

저는 MAC사용하지 않아서 실제로 실습해보지는 않았지만, MAC의 경우 SSH클라이언트가 이미 내장되어 있기 때문에

터미널을 열어서 명령어를 통해 SSH 클라이언트를 열고, 프라이빗 키 파일을 찾아주면 되는 것 같아요 

 

AWS EC2 인스턴스 > 연결 > SSH 클라이언트 를 클릭하면 방법이 나와 있습니다. 

 


그럼 여기까지 AWS에서 EC2 인스턴스를 생성하고,

보안그룹을 설정+탄력적 IP를 연결해준뒤,

해당 인스턴스에 접속하는 방법까지 소개해보았습니다.

 

다음 게시글에는 인스턴스에 서버설정을 하고 도메인 연결을 해보는 방법을 알아보겠습니다!

728x90