본문 바로가기
Programming/AWS

[AWS] EC2로 서버 연결하기

by 공부합시다홍아 2024. 6. 13.
 

[AWS] EC2

[AWS] IAM 서비스[AWS] AWS란?개발을 교육받으면서 몇 가지 의문점이 들 수 있었다. 개발만 하는 개발자? 개발과 동시에 서비스를 제공하는 개발, 서비스를 제공하며 커스터마징까지 가능한 개발자

hong-study.tistory.com

이전 게시글에서 EC2란 무엇이고 보안을 어떤 것으로 이루어져있는지 간략하게 공부를 했다.
이번 포스팅은 EC2를 활용해 실제로 서버를 연결해보는 것을 하려고 한다.


EC2 생성

처음 AWS에 대해 설명할 때, Region에 대해 설명을 했다.  AWS 데이터 센터는 전 세계 각 지에서 구축하고 있기 때문에 우리가 SaaS으로 클라우드를 사용하게 되면 지정된 Region에 가상으로 생성이된다.

1. Region : "서울" 로 선택. 

2. 운영체제 선택 : Ubuntu 20 ( 우분투 20 ) 으로 선택
운영체제를 선택할 때 누가봐도 내가 사용할 수 있는 것처럼 프리티어 사용 가능이라 적혀있으니
쉽게 찾을 수가 있다.

3. 하드 디스크 용량은 최소 8기가 최대 30기가까지 잡을 수 있다. ( 프리티어 기준 )


보안 그룹 지정

보안 그룹은 이전 포스팅에서 설명했던 것처럼 방화벽을 설정하는 것이다.
1. ssh는 리눅스 접속을 위한 프로토콜로 필수요소이다.
▷ 본인 아이피에서만 접속 가능으로 설정해도 되고, 0.0.0.0/0 어디서든 접속 가능으로 설정해도 된다.

2. http 포트는 웹 요청으로 80포트는 어디서든 접속할 수 있게 열어둔다.


키 페어 생성

키 페어란 비밀번호로 PPK, PEM 두 개를 선택할 수 있다.
PPK란 암호화된 개인키로 주로 putty 접속에 사용되고, PEM은 개인키로 SSH 접속 시 사용한다.

자세한 사항은 아래 AWS Putty 홈페이지를 이용해 알아보는 것을 권장한다.

 

PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud

프라이빗 키의 암호는 추가 보호 계층입니다. 프라이빗 키가 노출되더라도 암호 없이 사용할 수 없습니다. 암호문 사용의 단점은 인스턴스에 로그온하거나 인스턴스에 파일을 복사하기 위해 사

docs.aws.amazon.com

 

나는 여기서 PEM 으로 다운을 받아 사용을 했다.
접속하는 키 파일로 잃어버리면 재발급이 거의 불가능하니 중요하게 개인이 숨겨놓을 수 있는 장소에 보관한다.

그리고 선택을 하게 되면 스크립트를 작성해야 하는데 아래와 같은 소스를 작성한다. 하지만 실제 서버 구축단계라면 이 단계를 생략해도 된다.

#!/bin/bash
sudo apt-get update
sudo apt-get install -y apache2
apache2 -version
sudo service apache2 start
sudo chmod 777 /var/www/html/index.html

인스턴스 생성 이후 탄력적 아이피 연결

인스턴스가 꺼지고 켜지면 아이피가 변경될 수 있다. 이는 즉, 접속 주소가 변경된다는 뜻이다.
탄력적 아이피의 사용이유는 고정 아이피를 사용함으로써, 내 인스턴스를 고정 아이피로 일관되게 할 수 있다는 것이다.


PUTTY를 통한 접속하기

먼저 PUTTY를 아래의 주소에서 다운로드 받는다.

 

PuTTY

PuTTY - 개발자에게 꼭 필요한 도구

putty.softonic.kr

EC2 서버에 PUTTY 접속시에는 PPK 파일이 필요하다.
PEM과 PPK는 Puttygen을 이용해 상호 변환이 가능하다.
쉽게 설명하면 PEM 을 PPK로 , PPK를 PEM으로 변환할 수 있다.

변환 방법에 대해서는 아래 홈페이지에서 잘 서명이 되어 있다.

 

3.5.3 PEM <-> PPK 포맷 변경하기

3.5.3 PEM <-> PPK 포맷 변경하기 PEM(Privacy Enhanced Mail) OCI 인스턴스에서 사용하는 Key Pair 포맷으로 앞선 문서 기준으로 ssh-keygen 명령을 통해 생성됨 PPK(PuTTY Private Key) PuTTY에서 사용하는 키 포맷으로 PuT

thekoguryo.github.io

위와 연결하면 쉽게 연결이 가능한지 테스트가 가능하다.
그리고 위와 같이 Putty를 사용하다보면, SSH 연결 거부 트러블 슈팅을 만난 적이 있어 
이와 같은 해결 방법을 아래에 기입해놓았다.

SSH 연결 거부 트러블 슈팅 해결 방법

1. time out인 경우 - 보안 그룹 문제로, 보안 그룹을 다시 만들거나 확인해보면 쉽게 해결이 가능하다.
2. 그럼에도 불구하고 안되는 경우는 방화벽이 차단되어 있는 경우이니 행여 방화벽이 막혀있는 것은 아닌지 확인해본다.
3. 연결 거부인 경우 - 간호 EC2의 SSH가 정상 작동하지 않는 경우가 있어, 인스턴스를 재시작하면 쉽게 해결이 가능하다.
4. Permmision Deny의 경우
▶ 보안키가 틀렸거나 보안키를 사용하지 않는 경우로, EC2 인스턴스 구성을 확인해 옳바르게 키를 할당했는지 확인한다.
▶ 잘못된 유저를 사용하는 경우도 발생한다. 보통 ubuntu를 사용하는 것이 좋다.

 

728x90

'Programming > AWS' 카테고리의 다른 글

[AWS] EC2 고급 기능 1  (0) 2024.06.13
[AWS] EC2  (0) 2024.06.13
[AWS] IAM 서비스  (0) 2024.06.11
[AWS] AWS란?  (0) 2024.06.11