0Pricing
Cloud & IT Cert Prep · 강의

보안 그룹 및 키 페어

보안 그룹으로 인바운드 및 아웃바운드 트래픽을 제어하고 EC2 키 페어로 SSH 인증을 관리합니다.

보안 그룹 및 키 페어은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

보안 그룹이란 무엇인가요?

보안 그룹은 EC2 인스턴스(또는 RDS, Lambda, ELB 같은 다른 AWS 리소스)의 수신 및 송신 트래픽을 제어하는 가상 상태 저장 방화벽입니다. 보안 그룹은 인스턴스 수준에서 작동하며, 각 규칙은 프로토콜(TCP/UDP/ICMP), 포트 범위, 소스/대상(IP 범위 또는 다른 보안 그룹)을 지정합니다. 기존 방화벽과 달리 보안 그룹은 상태 저장 방식입니다. 수신 트래픽을 허용하면 명시적인 규칙이 없어도 응답 트래픽의 송신이 자동으로 허용됩니다.

수신 및 송신 규칙

보안 그룹에는 별도의 수신 및 송신 규칙 집합이 있습니다. 수신 규칙은 인스턴스에 도착하는 트래픽을 제어하며, 기본적으로 모든 수신 트래픽이 거부됩니다. 송신 규칙은 인스턴스에서 나가는 트래픽을 제어하며, 기본적으로 모든 송신 트래픽이 허용됩니다. 명시적인 Allow 규칙을 추가하며, 보안 그룹에는 명시적인 거부 규칙이 없습니다(명시적 거부에는 네트워크 ACL을 사용하세요). 보안 그룹의 모든 규칙은 논리 OR로 함께 평가되므로, 일치하는 Allow 규칙이 하나라도 있으면 트래픽이 허용됩니다.

# Add an inbound SSH rule to a security group
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 22 \
  --cidr 203.0.113.0/24

# Add an inbound HTTP rule
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 80 \
  --cidr 0.0.0.0/0

보안 그룹 연결

보안 그룹은 IP 범위를 지정하는 것보다 유연하고 안전한 소스/대상 보안 그룹 참조를 지원합니다. 예를 들어 ALB 보안 그룹은 포트 443에서 0.0.0.0/0을 허용합니다. EC2 인스턴스의 보안 그룹은 모든 IP가 아니라 ALB 보안 그룹 ID에서 오는 포트 8080 수신만 허용합니다. ALB가 교체되거나 확장되어도 IP를 변경할 필요 없이 규칙이 계속 올바르게 적용됩니다. 이 패턴은 다계층 아키텍처에 계층화되고 동적인 방어 체계를 만듭니다.

# Allow inbound from another security group (not an IP)
aws ec2 authorize-security-group-ingress \
  --group-id sg-ec2-instances \
  --protocol tcp \
  --port 8080 \
  --source-group sg-load-balancer

보안 그룹은 상태 저장 방식입니다

상태 저장 방식이란 보안 그룹이 연결 상태를 추적한다는 뜻입니다. 수신 규칙에서 인터넷의 TCP 포트 80을 허용하고 클라이언트가 요청을 보내면, 포트 80에 대한 송신 규칙이 없어도 응답 패킷(송신)은 클라이언트로 자동 허용됩니다. 이는 상태 비저장 방식이며 트래픽 양방향에 명시적 규칙이 필요한 네트워크 ACL과 근본적으로 다릅니다. 상태 저장 방식은 일반적인 애플리케이션 트래픽 패턴에 맞춰 보안 그룹을 더 쉽게 구성할 수 있게 합니다.

하나의 인스턴스에 여러 보안 그룹 연결

단일 EC2 인스턴스에 여러 보안 그룹을 연결할 수 있습니다(기본적으로 최대 5개이며 조정 가능). 연결된 모든 보안 그룹의 규칙은 합집합(OR 논리)으로 결합됩니다. 어느 보안 그룹이든 요청을 허용하면 해당 요청이 허용됩니다. 즉, 보안 그룹은 권한을 추가만 할 수 있고 제한할 수는 없습니다. 액세스를 강화하려면 더 제한적인 보안 그룹을 추가하는 것이 아니라 규칙을 제거하거나 수정해야 합니다. 액세스 제한에 관한 시험 문제에서는 이 추가적 동작을 기억하세요.

기본 보안 그룹 동작

모든 VPC에는 기본 보안 그룹이 포함됩니다. 기본 규칙은 다음과 같습니다. 수신은 기본 보안 그룹에 속한 다른 인스턴스의 모든 트래픽을 허용하고, 송신은 어디로든 모든 트래픽을 허용합니다. 이는 새 인스턴스가 기본적으로 통신할 수 있도록 의도적으로 허용적인 설정입니다. 프로덕션 환경에서는 수신 규칙 집합을 엄격히 제한한 사용자 지정 보안 그룹을 만들고, 의도하지 않은 노출을 방지하기 위해 인스턴스와 기본 보안 그룹의 연결을 제거하세요.

키 페어의 작동 방식

EC2 키 페어는 SSH 인증에 비대칭 암호화를 사용합니다. AWS가 키 페어를 생성하거나 사용자가 자체 공개 키를 가져옵니다. AWS는 공개 키를 저장하고 인스턴스 시작 시 인스턴스에 삽입하며, 사용자는 프라이빗 키(.pem 파일)를 다운로드하여 저장합니다. AWS는 프라이빗 키를 저장하지 않습니다. SSH는 비밀번호를 전송하지 않고 프라이빗 키를 사용해 서버에 자신의 신원을 증명합니다. 프라이빗 키에는 제한적인 권한(chmod 400)이 있어야 하며, 그렇지 않으면 SSH가 사용을 거부합니다.

# Create a key pair and save the private key
aws ec2 create-key-pair \
  --key-name ProdKey \
  --key-type rsa \
  --key-format pem \
  --query 'KeyMaterial' \
  --output text > ProdKey.pem
chmod 400 ProdKey.pem

키 페어 없이 액세스 복구

Linux EC2 인스턴스의 프라이빗 키를 잃어버리면 일반적인 방식으로 SSH 접속할 수 없습니다. 복구 방법에는 다음이 있습니다. Systems Manager Session Manager(SSM 에이전트가 실행 중이고 IAM 역할이 연결되어 있다면 키 불필요), EC2 Instance Connect(브라우저 또는 CLI를 통해 임시 키 삽입, 열린 SSH 포트 및 EIC 권한 필요), 또는 인스턴스를 중지하고 루트 EBS 볼륨을 분리한 뒤 다른 인스턴스에 연결하여 authorized_keys 파일을 수정하고 다시 연결한 후 재시작하는 방법이 있습니다. Windows의 경우 Systems Manager를 사용하여 비밀번호를 검색하세요.

# Connect using EC2 Instance Connect (temporary key injection)
aws ec2-instance-connect send-ssh-public-key \
  --instance-id i-0abcdef1234567890 \
  --instance-os-user ec2-user \
  --ssh-public-key file://~/.ssh/id_rsa.pub
ssh -i ~/.ssh/id_rsa ec2-user@54.123.45.67

모범 사례: SSH 액세스 제한

SSH(포트 22)를 0.0.0.0/0에 열어 두면 인터넷 어디에서나 무차별 대입 및 자격 증명 대입 공격에 인스턴스가 노출됩니다. 모범 사례는 SSH를 특정 회사 IP 범위로 제한하거나, 엄격히 제어된 보안 그룹을 사용하는 퍼블릭 서브넷의 배스천 호스트(점프 박스)를 사용한 후 배스천에서 프라이빗 인스턴스로 SSH 접속하는 것입니다. 더 나은 방법은 Systems Manager Session Manager를 사용하여 SSH 포트 노출을 완전히 없애는 것입니다. 수신 규칙이 전혀 필요하지 않습니다.

# Example: restrict SSH to a corporate IP range
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 22 \
  --cidr 198.51.100.0/24  # Your corporate CIDR

보안 그룹 한도 및 할당량

보안 그룹의 주요 기본 한도는 다음과 같으며 Service Quotas를 통해 조정할 수 있습니다. VPC당 최대 2,500개 보안 그룹, 보안 그룹당 수신 규칙 60개 및 송신 규칙 60개, 네트워크 인터페이스당 보안 그룹 5개입니다. 다른 보안 그룹을 소스로 참조할 경우, 참조된 각 보안 그룹과 규칙의 조합이 하나의 규칙으로 계산됩니다. 규칙 한도에 도달하면 개별 IP 범위 대신 보안 그룹 ID를 참조하도록 통합하거나, 여러 CIDR을 하나의 관리 가능한 엔터티로 묶는 접두사 목록을 사용하세요.

관리형 접두사 목록

관리형 접두사 목록은 보안 그룹 규칙이나 라우팅 테이블에서 참조할 수 있는 CIDR 블록 집합입니다. AWS는 S3 및 CloudFront 같은 서비스를 위한 AWS 관리형 접두사 목록을 유지 관리하므로, 시간이 지나며 변경되는 IP 범위를 직접 관리하지 않고도 이러한 서비스와의 송수신 트래픽을 허용할 수 있습니다. 회사 IP 범위를 묶기 위해 고객 관리형 접두사 목록을 만들 수도 있습니다. 한 곳에서 접두사 목록을 업데이트하면 이를 참조하는 모든 보안 그룹이 변경 사항을 자동으로 상속합니다.

# Allow outbound HTTPS to Amazon S3 using the AWS-managed prefix list
aws ec2 authorize-security-group-egress \
  --group-id sg-12345678 \
  --ip-permissions '[{"IpProtocol":"tcp","FromPort":443,"ToPort":443,"PrefixListIds":[{"PrefixListId":"pl-63a5400a"}]}]'

빠른 확인

이 레슨에서 다룬 AWS Solutions Architect (SAA-C03) 개념의 이해도를 확인하세요.

레슨 요약

이 레슨에서는 다음을 배웠습니다. 보안 그룹은 기본 거부 방식으로 트래픽을 허용하는 상태 저장 가상 방화벽입니다, ID로 보안 그룹을 연결하는 방식은 IP 범위를 사용하는 것보다 더 안전하고 유연합니다, 그리고 키 페어는 비대칭 SSH 인증을 제공하며 Systems Manager Session Manager는 열린 SSH 포트의 필요성을 없앱니다. 다음으로 EC2 스토리지 옵션인 인스턴스 스토어와 EBS를 다룹니다.

자주 묻는 질문

“보안 그룹 및 키 페어” 강의는 무료인가요?

네 — “보안 그룹 및 키 페어” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

“보안 그룹 및 키 페어”에서 뭘 배우나요?

보안 그룹으로 인바운드 및 아웃바운드 트래픽을 제어하고 EC2 키 페어로 SSH 인증을 관리합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“보안 그룹 및 키 페어” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 첫 번째 EC2 인스턴스 시작하기
  2. 인스턴스 유형 및 요금 모델
  3. 보안 그룹 및 키 페어
  4. EC2 스토리지: 인스턴스 스토어와 EBS
← Cloud & IT Cert Prep(으)로 돌아가기