[AWS EC2] VSCode에서 실행

Sehee·2024년 6월 15일

이것저것 모음집

목록 보기
1/9
post-thumbnail

시작하며,

회사 리드 개발자님이 알려주신 걸 바탕으로, 다시 처음부터 해보면서 정리한 내용이다

노션과 슬랙을 연동해 슬랙봇을 만들어보려면 localhost로는 안되고, 슬랙에서 post를 보낼 수 있는 http 환경이 있어야 하는 듯 하다

슬랙봇앱_request_URL

감사하게도, 리드 개발자님이 눈을 반짝이며 알려주시겠다고 하셔서 덕분에 좋은 배움을 얻었다
(프론트엔드 개발자에게 클라우드 알려주느라 고생하신 리드 개발자님(백엔드) 감사합니다)


VSCODE에서 AWS EC2 접속 방법

— 01. VSCode의 마켓플레이스에서 Remote-SSH 설치

AWS_EC2_접속_방법_01


— 02. Remote-SSH Configuration 설정

  1. F1 → ‘remote-ssh’ 검색 → SSH 구성파일 열기 (Open SSH Configuration File)

AWS_EC2_접속_방법_02_1

  1. /Users/사용자이름/.ssh/config 선택

  2. Host, HostName, User, IdentifyFile 설정

    Host : EC2 별명
    HostName : AWS EC2 인스턴스의 public IP
    User : ec2-user / ubuntu 등등..
    IdentityFile : pem키 경로

  • Config 파일
Host ABC
HostName XXX.XXX.XXX.XXX
User ubuntu
IdentifyFile ~/.ssh/keyfile.pem

— 03. Remote-SSH 호스트에 연결

  1. F1 → ‘remote-ssh’ 검색 → 호스트에 연결 (Connect to Host)

AWS_EC2_접속_방법_03_1

  1. 열고자 하는 SSH 클릭 (위 설정이 완료된)

— 04. 새 창이 열리면서 접속 성공

‘폴더 열기(Open Folder)’ 버튼을 눌러 원격 서버의 원하는 폴더에 접속 가능

AWS_EC2_접속_방법_04

Issue : Permission denied (publickey)

Permission_denied_00

VSCode로 접속 시도 시 Permission denied (publickey)

원인 : 보호되지 않은 개인키 파일

  • 개인키 파일에 부여된 권한이 많아 발생
  • 쓰기 권한 : 파일이 다른 내용으로 덮어씌워질 수 있는 위험성이 있음
  • 개인키 파일의 권한을 확인해보면 다음과 같음
    (개인키인데 모두가 읽을 수 있다? ㄴʕ ° 0 ° ʔㄱ)
    Permission_denied_01

참고 사이트
개인키 파일에 chmod 400 하는 이유
경고 : 보호되지 않은 개인 키 파일 | TechBriefly KR


해결 방법

  • 파일의 모드를 400으로 변경하면 해결 가능
  • 400 모드 : 파일의 소유자가 읽기만 가능
Permission_denied_01
$chmod 400 my_key.pem

접속 안 될 때 터미널로 시도해보기

ssh -i {개인키 경로} serverHost@{public IPv4 address}

$ssh -i ~/.ssh/keyfile.pem ubuntu@xx.xxx.xxx.xxx

참고 사이트
[AWS] AWS EC2 인스턴스(Linux Ubuntu) 생성 및 SSH로 접속하기


터미널로는 접속되는데, VSCODE로 접속 안될 때

시도 1. 키파일 경로 상대경로 → 절대경로로 변경 시도

  • config 파일
IdentityFile /Users/사용자이름/.ssh/키파일명

본인은 이걸로 바로 해결함

// 참고 : 사용자이름 확인하는 명령어
echo $USER

참고 사이트
[VSCode] remote-ssh 로 연결 안 될 때 확인할 사항


자주 쓰는 명령어

PM2

명령어설명
$pm2 start경로상의 ecosystem 파일 실행한다.
$pm2 stop {id}id 앱을 종료한다.
$pm2 killpm2 자체를 종료한다.
$pm2 listpm2로 실행되고 있는 앱의 리스트를 확인한다.
$pm2 restart {id}id 앱을 재시작한다.
$pm2 delete {id}id 앱을 리스트에서 제거한다.
$pm2 describe {id}id 앱의 자세한 내용을 확인한다.
$pm2 monitcpu/ memory등을 모니터링한다.
$pm2 logs {id}id 앱의 로그를 확인한다.

참고 사이트
PM2를 활용한 Node.js 무중단 서비스하기


Disk Free - 디스크 여유 공간 확인

$df

참고 사이트
리눅스 df, du 명령어 사용법 정리 (디스크 여유공간, 사용량 확인)


Free 명령어 - 메모리 상태 확인

$free -m
  • -m 옵션 : 메비바이트 단위로 출력

참고 사이트
리눅스 free 명령어로 메모리 상태 확인하기 | 와탭 블로그



마치며,

작년 11월 말에 노션에 정리해둔 내용을 좀더 정리해서 블로그에 옮긴 것이다
원래의 목적이었던 슬랙봇은 결국 잠정보류 상태가 되었으나, 업무 중 해당 내용이 도움이 될 때가 있었다

그리고 최근에서야 좀 가지고 놀던 게 슬랙앱 안에서의 자동화(워크플로)인데, 이걸로 웹훅으로 시작하는 워크플로를 만들 수 있었다
웹훅을 건드는 쪽은 백엔드 개발자님께서 해주고 계시고, 본인은 칭찬봇, 리마인드봇 같은 간단한 것들만 만들고 있다

웹훅 재밌겠다..... 나도 웹훅 만들어보고 싶어......

profile
디자인하는 개발자

0개의 댓글