Security Groups(보안 그룹)
- EC2 인스턴스의 방화벽이다.
- 네트워크 보안을 수행하는 데 있어서 기본이 된다.
- 오직 allow(허용) 규칙만 포함되어 있어서 무엇이 들어가고 나갈 수 있는지 알 수 있다.
- Inbound traffic(인바운드 트래픽) : 외부에서 EC2 인스턴스로 들어가는 것
- Outbound traffic(아웃바운드 트래픽) : 인스턴스에서 인터넷으로 나가는 것 - IP 주소를 기준으로 규칙을 설정할 수 있다.
: 즉, 컴퓨터의 출발지이다. 또는 다른 보안 그룹을 참조하여 설정할 수 있다.
Security Groups Diagram
- 파란색 박스 = EC2 인스턴스
- 노란색 박스 = 인바운드 규칙과 아웃바운드 규칙이 있는 하나의 보안 그룹이 연결되어 있다.
- 설명
- 22번 포트에서 인증을 받게되고 트래픽은 컴퓨터에서 EC2 인스턴스로 이동할 수 있다. 하지만, 사용자의 IP 주소를 사용하지 않는 다른 사람의 컴퓨터가 EC2 인스턴스에 액세스 하려고 하면 방화벽이 차단되고 타임아웃이 되기 때문에 통과하지 못한다.
- 아웃바운드 규칙의 경우, 기본적으로 모든 보안 그룹에 대한 EC2 인스턴스가 모든 트래픽이 나가는 것을 허용하는데 따라서, 위의 이미지와 같이 EC2 인스턴스가 웹 사이트에 액세스하여 연결을 시작하려고 하면 보안 그룹에서 허용하게 된다.
Security Groups에 대해 알아야 할 사항
- 여러 인스턴스에 연결할 수 있다.
: 보안 그룹과 인스턴스 사이에는 1대1 관계가 없다. - 보안 그룹은 특정 지역과 VPC 조합에만 제한된다.
: 다른 지역으로 전환하는 경우 또는 다른 VPC를 생성한 경우 보안 그룹을 다시 생성해야된다. - 보안 그룹은 EC2 외부에 있다.
: 트래픽이 차단되면 EC2 인스턴스는 트래픽을 볼 수가 없다. - SSH 액세스를 위해서만 별도의 보안 그룹을 하나 유지하는 것이 좋다.
: 일반적으로 SSH 액세스는 가장 복잡한 작업이므로 제대로 수행되었는지 확인하는 것이 좋다. - 애플리케이션에 접근할 수 없는 경우(즉 타임아웃의 경우), 이것은 보안 그룹의 문제이다.
: 임의의 포트에 연결하려고 하는데 컴퓨터가 정지하고 대기하고 있다면 보안 그룹 문제일 가능성이 높다. - 연결 거부 오류가 발생하면 실제로 연결이 거부되었다는 응답을 받게 된다. 실제로 보안 그룹이 작동하고 트래픽이 통과했지만 애플리케이션이 오류가 나거나 실행되지 않은 것이다.
- 기본적으로 모든 인바운드 트래픽은 차단되고 모든 아웃바운드 트래픽은 승인된다.
다른 보안 그룹을 참조하는 방법
- 왼쪽 주황색 네모 = 1번 보안 그룹
: 인바운드 규칙은 기본적으로 보안 그룹 1번 인바운드와 보안 그룹 2번을 승인한다는 의미이다. - 오른쪽 맨위에 있는 보안그룹 2
: 다른 EC2 인스턴스를 시작하고 여기에 보안 그룹 2번이 연결되어 있다면 설정한 보안 그룹 실행 규칙을 사용하면 기본적으로 EC2 인스턴스가 포트를 통해 직접 연결 할 수 있다. - 오른쪽 가운데에 있는 보안그룹1
: 보안 그룹이 연결된 다른 EC2 인스턴스가 있는 경우, 이 인스턴스로 바로 통신할 수 있는 권한도 부여한다.
: 따라서 EC2 인스턴스의 IP에 관계없이 올바른 보안 그룹이 연결되어 있기 때문에 다른 인스턴스와 직접 통신할 수 있다. (= 항상 IP를 생각하지 않아도 되기 때문에 좋다.) - 오른쪽 맨밑에 있는 보안그룹3
: 그룹 1번의 인바운드 보안 규칙에서 승인되지 않았기 때문에 거부되고 작동하지 않는다.
알아두면 좋은 Classic Ports
- SSH(Secure Shell)
- 22번 포트를 사용한다.
- 리눅스에서 EC2 인스턴스에 로그인할 수 있다. - FTP(File Transfer Protocol)
- 21번 포트를 사용한다.
- 파일을 공유에 업로드하는데 사용된다. - SFTP(Secure File Transfer Protocol)
- 22번 포트를 사용한다.
- 안전한 파일 전송 프로토콜이여서 SSH를 사용한다. - HTTP
- 80번 포트를 사용한다.
- 보안되지 않은 웹사이트를 접속하기 위한 것이다. - HTTPS
- 443번 포트를 사용한다.
- 표준인 보안 웹사이트에 액세스하기 위한 것이다. - RDP(Remote Desktop Protocol)
- 3389번 포트를 사용한다.
- 윈도우 인스턴스에 로그인하는 데 사용한다.
'AWS(Amazon Web Service)' 카테고리의 다른 글
[AWS] EC2 Instances Purchasing Options(구매옵션) (1) | 2024.09.15 |
---|---|
[AWS] SSH 관련 (0) | 2024.09.14 |
[AWS] Amazon EC2(Elastic Compute Cloud) (0) | 2024.09.13 |
[AWS] IAM서비스에서 AWS로 액세스하는 방법(3가지) (1) | 2024.09.11 |
[AWS] IAM(Identity and Access Management) (2) | 2024.09.10 |