AWS에서 인스턴스 생성 이후 Nginx 구동하기

2021. 8. 12. 17:38프로그래밍/서버, 퍼블리싱

728x90

포스팅하다가 너무 내용이 길어져서 새로 글을 하나 쓰기로 했다.


보안 그룹 설정

우선 AWS에서 인스턴스를 생성할 때, 보안그룹이란 걸 설정하게 된다.

그냥 확인만 눌렀다면 보지 못했을 수도 있는데,

AWS Console > EC2 > 보안 그룹을 보자.

이제 인스턴스에 연결된 보안 그룹을 찾아야 하는데,

AWS Console > EC2 > 인스턴스 탭을 누르고 인스턴스를 찾아보자.

자신의 인스턴의 '보안'탭을 누르고 스크롤을 내리면 인바운드 규칙이 보인다.

여기에 써져있는 보안 그룹을 수정하면 된다.

이제 다시 '보안 그룹' 화면으로 와서, 해당 보안 그룹을 클릭한다

보안 그룹 ID 열의 파란색 글씨를 클릭하면 된다.

스크롤을 내리면 '인바운드 규칙'탭이 보인다.

왼쪽에 'Edit inbound rules'를 클릭한다.

이런 화면이 나오는데, 왼쪽 아래의 '규칙 추가'를 누른다.

그 다음 다음과 같이 추가해준다. (유형, 프로토콜, 포트 범위, 소스가 맞는지 잘 확인하자)

1. 사용자 지정 TCP - TCP - 80 - 0.0.0.0/0
2. 사용자 지정 TCP - TCP - 80 - ::/0

오른쪽 아래의 규칙 저장을 누른다.


Nginx 설치

이제 인스턴스에 접속 (PuTTY사용)해서, Nginx를 설치한다.

PuTTY 설치, 사용에 대한 건 다음 포스팅을 보자

https://goldfishdiary.tistory.com/75

 

[취준일기] 2021-08-10: PuTTY로 EC2에 접속하기

키 페어 (.pem) 발급 받기 우선 EC2에 접속하려면 키 페어를 받아야 한다. EC2를 생성할 때 어떤 키 페어를 쓸거냐고 물어보는데, 키가 없다면 생성하면 된다. 새 키 페어 생성 -> 키 페어 이름 정하기

goldfishdiary.tistory.com

이제 yum을 이용해서 Nginx를 설치할 것이고, 이 인스턴스는 Amazon Linux 2이다.

// nginx 패키지 추가하기. vi 커맨드: 파일 수정 프로그램
sudo vi /etc/yum.repos.d/nginx.repo

// 파일 안에 붙여넣기
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

// 만약 화면 맨 밑에 --INSERT 글씨가 있다면
ESC를 눌러서 입력 상태를 멈춘다.

// 저장하고 나가기. w: write, q: quit
:wq

// yum으로 설치하기
sudo yum install -y nginx

이런 화면이 나오면 성공이다.


방화벽 관리 커맨드 (firewall-cmd) 설치

우선 우리 인스턴스의 방화벽을 해제해야 한다.

그러기 위해서 firewall-cmd라는 커맨드를 사용할 건데, 이것도 설치해야 한다.

sudo yum install firewalld


방화벽 설정

방화벽 프로그램을 설치는 했으나, 아직 OS에 서비스가 등록이 되어있지 않은 상태다.

다음의 커맨드로 등록해보자.

sudo systemctl unmask firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld

sudo firewall-cmd --permanent --zone=public --aport=80/tcp

마지막 커맨드는 80번 포트를 열었다. 한마디로 80번 문을 열어놨으니 열로 들어와라는 내용이다.

왜 80번이냐면, Nginx의 기본 포트가 80이다. 바꿔도 되지만, 일단 기본 설정을 위해 80번을 중심으로 한다.

이제 변경된 사항을 적용시켜보겠다.

sudo firewall-cmd --reload

잘 적용되었는지 확인해보려면 다음의 키워드를 실행해보자

sudo firewall-cmd --list-ports

마지막 줄을 보면 80/tcp가 열려있음을 볼 수 있다.


Nginx 서비스 실행

이제 Nginx를 실행시켜준다.

sudo systemctl enable nginx
sudo systemctl start nginx

해당 IP로 들어갔을 때, 이런 화면이 나오면 성공이다.