회사에 입사했는데 전임자의 실수인지 해당 EC2를 접속하는 키가 분실이 되어 있어, 아무도 가지고 있지 않은 상태였다.
하지만 해당 EC2로 특정 기능이 돌아가고 있는 상황이었고 이 서버가 당장 죽어버리면 서비스가 중지가 된다.
해당 서버는 t2.micro로 돌고 있었지만, t3.micro로는 구동되지 않았다.
system check fail 현상이 나오면서 서버는 접속되지 않았다.
그래서 키를 교체할 수 밖에 없었다.
인터넷에 나온 많은 블로그를 찾아봤지만, 실제론 동작하지 않았다.
왜냐하면 결국은 해당 EC2를 AMI로 뜨던 뭘하던 간에 ~/.ssh/authorized_keys에 새로운 keypair를 장착해야 하는데 이게 원격으로 추가가 되진 않았기 때문이다.
결국 아래와 같은 방법으로 추가하여 해결했다.
1. 돌고 있는 EC2에 AMI 생성 요청
- 이때 반드시 재부팅 없음 옵션이 켜져 있어야 한다. 기능이 돌고 있으므로 재부팅 없어서 AMI 생성이 느려지더라도 어쩔수 없다.
2. 생성된 이미지로 서버 한개 생성
3. 서버를 끄고 EBS 분리
4. 분리된 EBS를 연결 가능한 서버로 attach
5. 연결된 서버에서 sudo fdisk로 정상 연결된지 확인
6. 연결된 disk를 연결하기 위한 폴더 한개 생성
- mkdir /xdata
7. sudo mount로 디스크를 연결
- sudo mount /dev/nvme2n2p1 /xdata
8. 생성된 폴더로 이동
- cd /xdata
9. 로그인 계정의 home 디렉토리로 들어간 뒤 .ssh/authorized_key 파일로 vim
- vim /xdata/home/ubuntu/.ssh/authorized_key
10. 새로 추가할 ssh-rsa값을 추가
- 이 것은 기존에 같은 키를 사용하는 서버가 있다면 그 서버에 들어가서 , vim ~/.ssh/authorized_key 하면 적용 가능한 키가 확인된다.
11. 볼륨 분리
12. 2번 과정으로 생성한 서버에 다시 ebs 볼륨 부착 (root)
13. 서버 기동
14. 추가한 pem 파일로 로그인이 되는지 확인할 것.
'AWS' 카테고리의 다른 글
SSM으로 EC2 ssh 로그인 하기 (0) | 2023.09.18 |
---|---|
Github Action + ECS + Fargate를 통한 CI/CD 구현 3 (0) | 2023.09.16 |
Github Action + ECS + Fargate를 통한 CI/CD 구현 2 (0) | 2023.09.14 |
AWS Elemental MediaConvert 사용 후기 (feat. Lambda) (0) | 2023.09.13 |
Github Action + ECS + Fargate를 통한 CI/CD 구현 1 (요약) (0) | 2023.09.12 |