AWS: EC2 instance 삭제 및 재발급 후 기존 EC2 instance에 다시 적용

2023. 12. 1. 00:24Generate/EC2

Project나 개인 공부 중에 발생하는 문제에 대해 해결된 사항을 작성해보았다.

기존에 EC2 instance를 생성해놓았고 이 생성된 instance는 이미 사용 중에 있는 project가 존재한다.

이 EC2 instance가 가지고 있는 EC2 Keypaire는 하나의 프로젝트에만 적용이 된다. 또 다르게 생각해보면 EC2 instance가 가지고 있는 인바운드 규칙에서도 알다시피 하나의 서버로 포트범위를 설정하여 사용하고 있기에 EC2 instance는 하나의 프로젝트에만 적용이 가능한 것을 알 수 있다.

이를 요약하자면

EC2 instance 1개 생성하게 되면 하나의 프로젝트에만 적용이 된다.

그러면 여기서 생각할 수 있는 문제는 다른 프로젝트나 개인이 다른 목적의 공부 등의 이유로 EC2 instance를 꼭 새롭게 생성해야하냐는 질문과 의문이 생기게 된다.

만약 새롭게 생성하게 된다면 각 EC2 instance에 대한 이용 요금에 대해 2배가 된다고 생각해도 무방하다.

다른 방법으로는 기존에 사용하고 있는 EC2 instance를 삭제하고 재성성하는 방법도 있다.

하지만 이렇게 되면 기존에 EC2 instance에 대한 내부 환경설정이 초기화된 상태이므로 이를 처음부터 다시 설정해줘야하는 번거러움이 생긴다.

그래서 생각했던 방법으로는 기존에 사용하면서 EC2 instance의 기존 key pair를 삭제하고 다시 생성하여 기존 EC2 instance를 재생성된 key pair의 값으로 변경하는 방법을 이 글에 작성해보고자 한다.

●  EC2 instance key pair 삭제하기

AWS EC2의 콘솔화면에서 리소스 항목에 키페어를 클릭

 

삭제를 원하는 EC2 instance 키페어를 선택 후 이미지에 따라 삭제 버튼 클릭

 

3번 입력창에 "삭제"를 입력 후 4번 삭제버튼 클릭

 

●  EC2 instance key pair 재생성

다시 키페어 창에서 키 페어 생성 버튼 클릭

글 게시자의 설정값

이름: example_keypair_name

키 페어 유형: RSA

프라이빗 키 파일 형식: .pem

그 외에 원하는 설정값이 있다면 개인에 따라 설정하면 된다.

그 후 9번 버튼 클릭

●  EC2 instance key pair 파일

글 게시자의 OS는 window이며 window에서 ubuntu를 사용하고 있다.

따라서 처음에는 window에 다운로드 파일에서 ubuntu 운영체계로 파일을 옮겨와서 진행을 했다.

이유는 window에서는 chmod 라는 파일의 권한 즉 읽기 쓰기 같은 명령어가 실행이 되지 않는다.

따라서 당사자는 ~/.ssh 파일로 해당 .pem파일을 옮겨서 진행을 하였다.

.pem 파일에 사용해 EC2 instance에 접근을 하려면 SSH로 접속을 시도해야 한다.

ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피

예시)

ssh -i sparta_keypair.pem ubuntu@13.125.253.21

 

만약 -rwx rwx rwx 형식의 chmod 777 형식으로의 파일로 pem 파일을 실행하게 되면 위 사진과 같은 에러가 뜬다.

따라서 

sudo chmod 400 <keypair_file.pem>

위 명령어를 내 컴퓨터 local에서의 ubuntu에서 실행한다.

.pem 파일이 해당하는 유저만 읽기가 가능하게 변경된 것을 확인할 수 있다.

이후 다시 SSH로 접근하게 되면 다음과 같은 .pem파일을 통해 EC2 instance로 접근할 수 없다고 알려준다.

이러한 경우를 처음 접하게 되는 개발자들에게는 상당히 곤욕스러운 문제가 아닐 수 없다 생각한다.

그래서 찾아본 자료 중에 아래의 참고 자료를 통해 진행하였다.

https://velog.io/@pds0309/EC2-key%EB%A1%9C-ssh%EC%A0%91%EC%86%8D-Permission-Denied-public-key-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0

 

EC2 key로 ssh접속 Permission Denied (public key) 해결하기

같이 공부하는 스터디 동료분이 다음과 같은 문제를 겪었다고 하여 같이 해결해보았다.예전에 키 파일에 읽기 권한이 없어서 접속 못한 기억이 있었는데 권한 설정해주니까 잘 된 기억이 있었

velog.io

하지만 위 게시물에서

sudo vi authorized_keys

위 명령어를 사용하기 위해서는 vi 편집기 사용법에 대해 공부를 해야한다. 이에 대한 자료로 다음 웹페이지를 참고하였다.

https://velog.io/@zeesoo/Linux-vi-%ED%8E%B8%EC%A7%91%EA%B8%B0-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%B0%8F-%EB%AA%85%EB%A0%B9%EC%96%B4

 

[Linux] vi 편집기 사용법 및 명령어

셀 상에서 vi [파일명]을 입력하면 새로운 문서를 편집할 수 있는 환경이 만들어진다. vi의 세 가지 모드 1. 명령 모드 (command mode) vi 명령어를 통해 vi를 시작할 경우 실행되는 모드. 방향키를 통해

velog.io

 

그러면 결론적으로 SSH를 통해 EC2 instance에 접근할 수 있음을 확인할 수 있다.

그리고 추가적으로 로컬 컴퓨터에서 EC2 Instance 접속 후 다시 ubuntu환경으로 돌아오고자 할 때에는 다음 명령어를 EC2 instance 환경에서 작성하면 ubuntu로 다시 나가진다.

exit

'Generate > EC2' 카테고리의 다른 글

After Generate EC2 instance  (0) 2023.11.18