클라우드 Cloud/아마존웹서비스 AWS

Q. AWS EC2에 외부 접속 가능하게 하려면?

Tap to restart 2022. 7. 10. 15:28
반응형

A. AWS EC2 inbound rules와 우분투라면 서버 방화벽 설정을 동시에 해줘야 한다. 

 

Inbound rules란?

인바운드, 가상 서버로 들어오는 규칙을 뜻한다. 

생성한 EC2의 Security 탭을 누르면 아래와 같은 정보가 나타난다. 

 

인바운드 규칙은 포트는 22번 프로토콜은 TCP만 소스는 0.0.0.0/0이니 아무데나 열어놓은 거다. 현재는 아무 ip주소에서 .pem파일만 있으면 22번 포트로 ssh 접속이 가능한 상태인 거다.

 

Security groups 밑의 파란색 글씨를 누르면 보안 설정을 변경할 수 있다. 

 

아웃바운드 규칙은 포트는 All, 프로토콜도 ALL, 대상도 0.0.0.0/0 아무데나로 되어 있는 걸 확인할 수 있다. 아웃바운드는 해당 서버에서 나가는 규칙이다. 

 

보안 설정 가서 변경하기

보안 그룹을 누르면 아래와 같은 화면이 나타난다. 

오른쪽 아래편에 Edit Inbound rules가 보인다. 

누르자.

 

아래 같은 화면이 나타난다.

Add rule을 누르면 규칙을 추가할 수 있다.

열고 싶은 포트를 추가로 열 수 있다. 예를 들어서 ec2에 웹서버를 설치 했다면 80 포트를 열어야 할 것이다. mysql 서버를 설치했고 내 집에서만 접속하고 싶다면 우리집 ip만 적으면 된다. 

 

Port에는 3306을 입력하고, source에서 My IP를 선택하자.

그 다음 Save rules를 누르면 이제 내 집에서만 해당 포트로 접근 가능하다.

 

이번에는 우분투로 접속하자.

우분투를 기본으로 설명하는 것이고 서버마다 다를 수 있다. 

 

ufw 활성화하기

ufw는 ubuntu firewall을 뜻한다. 여기 UFW 튜토리얼이 있다. 

 

아래 명령어를 실행하고 y를 누르면 방화벽이 활성화된다.

$ sudo ufw enable

여기서 터미널 종료하지 말고 바로 

$ sudo ufw allow ssh

까지 해야한다. 안 그러면 해당 서버에 접속할 수 없게 된다. 

 

mysql 처럼 유명한 프로그램은 그냥 프로그램명으로 포트를 열어 줄 수 있다. 

$ sudo ufw allow mysql

 

현재 열려 있는 포트 정보 확인하기

$ sudo ufw status

를 실행하면 현재 열려 있는 포트 정보를 확인할 수 있다.

 

 

AWS Inbound rules와 우분투 ufw 설정까지 모두 했고 해당 서버를 설치했다면 외부에서 접속이 가능해진다. 

위 예의 경우 mysql 서버를 설치했다면 말이다. 

 

반응형