관리 메뉴

가끔 보자, 하늘.

EC2 인스턴스 관리를 위해 사전 작업들 본문

개발 이야기/인프라 구축 및 운영

EC2 인스턴스 관리를 위해 사전 작업들

가온아 2021. 9. 8. 12:05

>> EPEL(Extra Packages for Enterprise Linux) 저장소 활성화하기

https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-enable-epel/

>> 원격접속을 위한 키 발급 및 설정

EC2는 기본적으로 생성 시 발급한 공개키를 사용하여 원격접속 할 수 있도록 설정되어 있습니다. EC2에 키 페어를 설정하는 방법은 아래와 같습니다.

 

EC2 생성 전에 키 페어로 가서 ...

"키 페어 생성" 버튼을 눌러 ppk를 생성합니다. 이때 비번 설정은 없으니 참고하세요. 

 

EC2 기본 설정을 완료 후 시작을 누르면 키 페어 설정 화면이 나옵니다. 여기서 새로 생성할 수도 있으며 생성된 키 페어를 설정할 수 있습니다. 

 

키 페어가 변경된 경우에 대해서는 이 링크를 참고하세요. 

 

이제 putty에서 Auth에 다운받은 ppk 파일을 설정합니다. 

그리고 ssh 연결 설정에서 host name에 public dns 값을 입력, 사용자에 ec2-user를 입력 후 연결할 수 있습니다. 

 

파일 이동을 쉽게 하기 위해 WinSCP를 사용하는 경우 아래 이미지를 참고해서 ppk 파일을 설정하면 됩니다. 

 

보안 그룹에서 접속할 instance의  inbound 설정에 ssh 연결을 위해 22 번 포트를 가능한 제한되고 안전한 PC에서만 접속할 수 있도록 접속 가능한 IP를 제한해야 합니다. 

 

예를들어 자신의 회사에서 사용하는 public ip가 1.1.1.0 ~ 1.1.1.255까지 사용하며 자신의 ip가 1.1.1.11이라고 가정해 봅시다. 

 

인바운드 규칙에서 소스에 값을 적용할 때는 CIDR 표기법으로 기록해야 합니다. 

 

만약 회사원 일부가 접속을 할 경우 1.1.1.0/24 로... 자신만 접속한다면 1.1.1.11/32로 설정하면 됩니다. 

 

혹시 원격접속을 "브라우저 기반 ssh 연결"하려면 추가 설정이 필요합니다. 

 

"브라우저 기반 ssh 연결"은 "웹 브라우저 -> EC2 Instance Connect -> EC2 Instance"의 과정을 거쳐 연결됩니다. 이때 EC2 Instance Connect은 각 지역별로 별도의 IP 대역이 할당되어 있습니다.  예를들면 서울 리전(ap-northeast-2)의 경우 13.209.1.56/29를 ssh의 포트에 같이 포함하여 적용되어 있어야 합니다. 이에 대한 상세한 내용은 https://ip-ranges.amazonaws.com/ip-ranges.json 파일을 참고하시면 됩니다.

>> VPC를 생성하면..

라우팅 테이블 , 네트워크 ACL, 보안 그룹이 자동으로 같이 생성됩니다.

>> 원격접속이 안될 때 보아야 하는 것 들

https://aws.amazon.com/ko/premiumsupport/knowledge-center/instance-vpc-troubleshoot/

EC2 설정 시 VPC 등을 기본으로 설정하지 않고 별도 구축한 환경을 적용할 시에는 인터넷 연결에 대한 별도 설정이 필요합니다. 

VPC를 새롭게 생성하면 당연하지만(Virtual Private Cloud 이므로..) , 외부 인터넷 연결에 대한 설정이 빠져 있습니다. 그래서 라우팅 테이블에 인터넷 게이트웨이에 대한 설정을 추가해야 합니다.

VPC -> "가상 프라이빗 클라우드" -> "인터넷 게이트웨이"에서 "인터넷 게이트웨이 생성" 버튼을 누르고 이름을 입력하여 생성합니다. 

그리고 VPC에 연결합니다.

다시 라이팅 테이블 화면에서 연결하려는 EC2에 연결된 VPC와 연결된 "라우팅 테이블 ID"를 선택 후 화면 하단의 "라우팅 편집" 버튼을 누르고, 

추가한 인터넷 게이트웨이를 아래와 같이 연결합니다.

 

>> 실행중인 EC2로 이미지 생성 시

실행중인 인스턴스로 이미지 생성을 하게 되면 인스턴스가 일시적으로 중단된 듯 한 상황이 발생할 수 있습니다. 주의하세요.

>> EC2에서 다른 EC2로 원격 접속하기

해당 EC2에 설정된 키 페어를 다운받고, ppk일 경우 pem 파일로 변경(https://aws.amazon.com/ko/premiumsupport/knowledge-center/convert-pem-file-into-ppk/)합니다.

$ sudo puttygen ppkkey.ppk -O private-openssh -o pemkey.pem

puttygen이 설치되지 않은 경우 putty(혹은 putty-tools) 패키지를 설치하면 됩니다. EC2의 경우 epel을 활성화되지 않을 경우 패키지를 찾을 수 없습니다. 

sudo ssh -i your-key.pem ec2-user@ec2-ip

>> node 설치 방법

https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html

 

# download
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

# nvm 활성화
. ~/.nvm/nvm.sh

# nodejs 설치
nvm install node

#pm2 설치
npm install pm2 

 

 

반응형