HJW's IT Blog

AWS Node.js 연결 본문

카테고리 없음

AWS Node.js 연결

kiki1875 2024. 9. 19. 14:30

 

VPC를 이용한 EC2 구축

AWS 로그인 후, VPC 검색

VPC 검색

VPC 생성

생성

VPC 만 을 선택하고, 이름을 영문으로 이루어진 (띄어쓰기는 하이픈 사용) 이름태그를 설정한다

ip 대역 : 10.0.0.0/16

 

생성후, 사이드바에서 서브넷 생성

 

방금 생성한 서브넷을 선택하고, 서브넷 이름을 생성. 그 후, CIDR 을 10.0.1.0/24 로 생성한다. 

 

생성완료 후, 이제 인터넷 게이트웨이를 생성해야 한다

 

 

이제 해당 게이트웨이와 VPC 를 연결해야 한다

 

 

이제 라우팅 테이블을 수정해야 한다

public subnet 은 외부로 나갈때, internet gateway 를 거치게 한 라우팅을 서브넷에 연결하면 된다. 

라우팅 테이블은 VPC 를 만들면 자동으로 만들어지기 때문에 수정만 하면 된다. 

 

 

위 사진을 보면, 현재 외부로 나가는 설정이 없다는 것을 확인할 수 있다.

 

다음과 같이 0.0.0.0/0 이 목적지 일때, internet gateway 로 나가도록 설정하면 된다.

 

이제, 외부로 나가도록 설정이 된 라우팅을 서브넷에 연결해 주면, 해당 서브넷은 public subnet 이 된다

 

 

 

보안그룹 & 방화벽

보안그룹은 인스턴스 각각에 보안 설정을 할 수 있는 서비스이다. AWS 에서 임대한 인스턴스의 가상 방화벽으로 inbound , outbound 규칙을 설정할 수 있다.

방화벽의 역할은 신뢰성이 낮은 데이터들의 유입을 막는 역할을 한다. 방화벽은 정책 기반의 방화벽으로, 기능을 정의해 둔다. 예를 들어, 단순히 트래픽을 차단시키는 일반 수준의 정책부터, 가짜 정보를 담은 500 byte 이상의 트래픽을 허용시키되 로그를 남긴다 등 다양한 구현이 가능하다.

방화벽의 기능으로 packet filter, proxy, NAT 이 있다.

  • packet filter : 네트워크 계층에서 동작, 정책에 위반될 시 패킷을 통과시키지 않는다
  • proxy : 세션에 포함된 유해성을 검사하기 위해 기존 세션을 종료, 새로운 세션을 형성
  • NAT(Network Address Translation) : 내부 네트워크에서 사용하는 ip 와 외부에 드러나는 주소를 다르게 유지하게끔 하는 기능으로 노출되는 주소와 실제 주소가 다르기에 보안역할을 한다. 

 

AWS 보안그룹 생성하기

사이드바에서 보안그룹을 선택

 

보안그룹을 생성

 

다음과 같은 규칙으로 보안그룹을 생성하면 되는데, 이때 8080 포트와 3000번 포트를 열어두는 이유는, 8080 포트의 경우, 일반적으로 HTTP 웹에서 사용되는데, 웹 어플리케이션을 테스트 하는데에 사용하게 된다. 3000번의 경우, node.js, react 와 같은 웹 어플리케이션 개발 프레임워크에서 기본적으로 사용되는 포트인데, 클라이언트 측의 브라우저가 해당 포트로 접근하여 상호작용하기 위함이다. 

 

EC2 생성하기

콘솔에서 EC2 검색.

 

인스턴스 시작

 

OS 설정 (프리티어 가능으로)

 

인스턴스 유형 설정

 

키페어 설정

 

네트워크 설정

 

탄력적 IP 설정하기

탄력적 아이피는 인스턴스의 IG를 거쳐 통신 시 부여받을 아이피 주소를 고정시켜 인스턴스가 종료 된 후 다시 실행될 때 아이피 주소가 바뀌지 않게 해준다.

이전에 퍼블링 ip 자동 할당을 했기 때문에 현제 ip 가 할당되어 있지만, EC2를 재시작 할 경우, ip 주소가 바뀌게 된다. EC2가 꺼지더라도 바뀌지 않도록 하는것이 탄력적 IP 이다. 

 

사이드바에서 탄력적 ip 를 찾는다

아무 설정도 건들이지 않고 생성 후, 연결해주면 된다. 

 

Node.js 원격 접속

vs code - Extenstions - Remote - SSH 를 설치한다

 

F1 -> ssh file

가장 위 선택후, 다음과 같이 작성

F1 -> ssh con host -?> Remote-SSH: Connect to Host... 선택, Linux 선택, continue

만약 에러 발생시,

C:/Users/User/.ssh/umc-practice.pem

와 같이 슬레시 방향을 바꾸어 보면 될 수 있다.

다음과 같이 connected 가 뜨면 성공.

 

 

NGINX 설치하고 브라우저 접속하기

sudo apt update
sudo apt ugrade -y 
sudo apt install nginx -y