포스팅 목차
Security Group 소개
- SG(Security Group)는 AWS 클라우드에서 네트워크 보안을 실행하는 핵심이다.
- EC2 인스턴스에 들어오고 나가는 트래픽을 제어함.
- SG는 오직 allow 규칙만 포함된다.
- SG 규칙은 다른 SG나 IP 주소를 참조해서 만들수 있음.
좀더 알아보기
- SG는 EC2 인스턴스의 방화벽으로 생각하면 됨.
- SG 규칙
- 포트들로 액세스 통제
- 인증된 IP 주소 범위를 확인해 IPv4, IPv6인지 확인
- 외부에서 인스턴스로 들어오는 인바운드 네트워크 통제
- 인스턴스에서 외부로 나가는 아웃바운드 네트워크 통제
Security Group에서 알아야 할 점
- SG는 여러 인스턴스에 연결이 가능. 인스턴스에도 여러 SG 연결 가능
- SG는 Region 과 VPC 결합으로 통제 - Region을 전환하면 새로운 SG를 생성하거나 다른 VPC를 생성해야 함
- SG는 EC2 외부의 방화벽 → 트래픽이 차단되면 EC2 인스턴스는 확인 할수 없음
- SSH 액세스를 위해 하나의 별도 SG를 유지하는것이 좋음
- 만약 어플리케이션에 타임아웃으로 접근이 불가 → SG 이슈
- 만약 어플리케이션에서 “connection refused” 에러 발생 → SG 이슈가 아니라 어플리케이션 문제 또는 실행되지 않는 문제 발생
- 기본적으로 모든 인바운드는 차단, 모든 아웃바운드는 허용된다.
알고있어야할 기본 포트
- 22 : SSH (Secure shell)
- 21: FTP (파일 전송)
- 22 : SFTP (SSH를 사용하여 업로드)
- 80 : HTTP (보안되지 않는 사이트)
- 443 : HTTPS (보안된 사이트)
- 3389 : RDP (Remote Desktop Protocol)
EC2 인스턴스 연결
- 22번 포트 오픈
- 인스턴스 생성시 할당한 키파일을 이용해 ssh로 접속
- ssh -i 키파일 계정@아이피
- 처음 카파일의 권한때문에 에러가 남. (0644 → 0400) 권한 수정 필요
- SSH 연결 문제 해결
- Connection Timeout 이슈 (SG 또는 방화벽 관련 문제)
- SG 의 inbound 설정 확인
- 방화벽 확인
- Connection refused 이슈
- 인스턴스는 연결할 수 있지만 인스턴스에서 실행 중인 SSH 유틸이 없음
- 인스턴스 다시 시작 시도
- 작동하지 않으면 인스턴스를 종료하고 아마존 리눅스2를 사용하여 새 인스턴스 사용