ufw는 우분투 방화벽이다.
ufw enable을 하고 우분투에 접근하는 포트를 특정할 수 있다.
ec2에도 방화벽을 적용하려고 enable 후 80 포트를 allow 해주었는데
22
포트 개방을 깜박하고 안열어주었더니
ssh 연결이 막혔다.
aws 콘솔에서 제공하는 브라우저 연결도 막히고
직렬콘솔도 ec2 인스턴스가 지원하지 않아서 접근을 못했다.
ssh가 막힌 인스턴스가 A 인스턴스 일 때
A 인스턴스의 A 볼륨을 분리하고 (중지하고 나서)
새 인스턴스(B)를 생성하고 새 인스턴스에 분리된 A 볼륨을 연결하고
B로 ssh 연결 후 ufw disable
을 입력하고 다시 A 인스턴스에 A 볼륨을 재연결하는 방식이다.
해결 1보다 조금 더 편한 방식이다.
EC2 인스턴스를 중지 후 인스턴스 설정에서 View/Change User Data
를 클릭
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
ufw disable
iptables -L
iptables -F
--//
위 문자열을 넣고 save한다.
인스턴스를 재시작하고 연결을 하면 잘된다.
유익한 글이었습니다.