먼저 aws에 접속하여 로그인을 해준다.
오른쪽 상단의 지역이 Seoul로 되어있음을 확인하고 EC2를 검색하여 클릭!
Instances 버튼 클릭
Launch Instances 버튼 클릭
서버이름 설정
사용할 OS종류를 선택하고
Free tier eligible 이라고 적혀있는, 본인에게 맞는 버전을 선택
(저의 경우 우분투 서버를 사용할 것이므로 우분투를 선택해주었습니다.)
Instance type도 마찬가지로 Free tier eligible한 t2.micro 선택
Key pair는 Create new key pair 버튼을 클릭하여 새로 발급 받아준다
🚨 이때, 발급받은 key pair는 재발급이 불가하므로 잘 보관해줘야 합니다.
key pair type은 RSA로,
private key file format은 (MacOS의 경우) -> .pem , (윈도우의 경우) -> .ppk
(저는 맥북 유저이므로 .pem을 선택해주었습니다.)
Network 설정은 모든 항목을 체크해줍니다.
모든 과정을 마쳤다면, 마지막으로 요약을 확인한 뒤 인스턴스를 생성해줍니다.
로컬에서 서버를 테스트 할 때,
localhost:3000
이라는 주소를 사용했었다.
그렇다면, 우리가 생성한 EC2 서버와 통신하기 위해서는 어느 주소 사용해야 하는 걸까?
바로 EC2 인스턴스의pubilc IPv4 주소
를 사용하면 된다.
!! 하지만 !!
해당 IPv4 주소는 고정적이지 않기 때문에, 서버가 불가피하게 또는 자동적으로 재시동되는 경우에 해당 IP 주소가 자동으로 할당된다는 문제점이 존재한다.
이를 해결해주는 것이 바로탄력적 IP
이다.
우리는 할당받은 탄력적 IP를 고정적으로 사용하여 서버와 통신할 수 있게 된다.
AWS 좌측 메뉴에서 [Network & Security] > [Elastic IPs] 클릭
[Allocate Elastic IP address] 버튼 클릭
따로 뭐 건들 것 없이, [Allocate] 버튼 클릭
할당받은 탄력적 IP를 EC2 인스턴스와 연결하기 위해
해당 탄력적 IP를 클릭후, [Actions] 토글을 열어
[Associate Elastic IP address] 버튼 클릭
Instance, Private IP address를 각각 클릭하면 토글이 열리고
선택할 수 있는 항목이 표시된다.
각각을 선택하고 [Associate] 버튼을 눌러 선택한 탄력적 IP를, 선택한 EC2에 할당해준다.
성공적으로 할당되었다면 아래와 같은 화면이 나타난다.
포트로 들어오는 요청을 서버가 허용해줘야 해당 포트로 통신할 수 있다.
즉, 우리의 express 서버가 3000번 포트를 사용하고 있다면, EC2는 3000번 포트의 요청을 허용하는 보안그룹을 세팅해줘야한다.
AWS 좌측 메뉴에서 [Network & Security] > [Security Groups] 를 클릭
인스턴스를 생성하면서 자동으로 생성했던 보안 그룹을 선택
(최상단에 있는 것 선택하면 될 것)
[Edit Inbound rules] 버튼 클릭
[Add rule] 버튼을 두 번 클릭하여 새로운 항목 두 개를 추가한 뒤,
CustomTCP - 3000 - AnywhereIPv4
CustomTCP - 3000 - AnywhereIPv6
[Save rules] 버튼을 클릭하여 완료한다.