티스토리 뷰
강의 들으면서 하나하나 정리하기에 효율이 떨어짐
우선 쭉 들으면서 언제든 쉽게 찾아볼 수 있을 거 같은 정보는 스킵하고,
개념이나 중요한 내용들만 정리하기 (+ 타이핑 하면서 복습)
Amazon EC2
- EC2 = Elastic Compute Cloud = Infrastructure as a Service
- It mainly consists in the capability of :
• Renting virtual machines (EC2)
• Storing data on virtual drives (EBS)
• Distributing load across machines (ELB)
• Scaling the services using an auto-scaling group (ASG)
EC2 인스턴스를 만들 때 선택/구성하는 항목
OS, CPU, RAM, Network-attached (EBS & EFS), hardware (EC2 Instance Store),
Network card(speed of the card), Public IP address, Firewall rules: security group,
Bootstrap script (configure at first launch): EC2 User Data 등
-> 원하는 대로 가상머신을 선택하여 AWS에서 빌릴 수 있다!
// bootstrapping : EC2 User Data 스크립트가 인스턴스 최초 부팅 시 root 권한으로 한 번만 실행됨
(인스턴스가 처음 실행될 때, 인스턴스의 전체 수명주기 중 단 한번만 실행됨 // 코드나 명령어 알 필요는 없음)

실습 1) Amazon Linux에서 실행되는 EC2 생성
(알토르 6주차 과제에서 Ubuntu Linux로 실행되는 EC2 실습하고 정리했음 - 참고)
Key pair는 EC2 인스턴스에 SSH로 접속할 때 사용하는 인증 수단
-> Key pair 생성할 때 Private key file format에서
Mac, Linux, Windows 10 이상이면 .pem 형식 사용
Windows 10 미만(Windows 7,8)이면, .ppk 사용(PuTTY 함께 사용)
인스턴스 실행하면 몇 초 걸림, 서버를 하나도 소유할 필요 없이
클라우드 덕분에 인스턴스 100개여도 몇 초안에 빠르게 만들 수 있음!!
Public IPv4 address 복사해서 http://랑 같이 주소창에 붙여넣기

인스턴스는 Instance state에서 시작,중지,삭제(terminate) 가능
중지하고 재시작하면 Public IPv4 주소 바뀜(Private IP는 그대로)
AWS 명명 규칙(예시)
m4.2xlarge
m: instance class
5: generationm (AWS improves them over time)
2xlarge: size within the instance class
(small -> large -> 2xlarge -> 4xlarge...//우측으로 갈수록 더 많은 메모리와 CPU)
EC2 Instance Types
- General Purpose
- Compute Optimized
- Memory Optimized
- Storage Optimized

(※ 인스턴스 이름은 외울 필요 없음. "어떤 작업에 어떤 유형이 적합한가"만 이해하면 됨)
전체 EC2 인스턴스 비교 가능한 웹사이트 : instances.vantage.sh
AWS 보안 그룹 (Security Groups) 정리
1. 보안 그룹이란?
EC2 인스턴스 주변의 방화벽. AWS 클라우드에서 네트워크 보안의 기본이며, EC2 인스턴스로 들어오고 나가는 트래픽을 제어한다.
- EC2 외부에 위치한다 — EC2에서 실행되는 애플리케이션이 아님
- 트래픽이 차단되면 EC2 인스턴스는 트래픽을 인지조차 못 함
2. 핵심 특성
- 허용 규칙(Allow rules)만 포함 — 무엇이 들어오고 나갈 수 있는지 명시
- 규칙은 IP 주소 또는 다른 보안 그룹을 참조하여 설정 가능
- 인바운드: 외부 → EC2 인스턴스로 들어오는 트래픽
- 아웃바운드: EC2 인스턴스 → 외부로 나가는 트래픽
- 기본값: 모든 인바운드 차단, 모든 아웃바운드 허용
3. 규칙 구성 요소
- Type: 트래픽 유형
- Protocol: TCP 등
- Port: 통과를 허용할 포트
- Source: IP 주소 범위 또는 보안 그룹
- 0.0.0.0/0 → 모든 IP
- 단일 IP 지정 가능
4. 보안 그룹 적용 범위
- 하나의 보안 그룹은 여러 인스턴스에 연결 가능 (1:1 관계 아님)
- 하나의 인스턴스가 여러 보안 그룹을 가질 수 있음
- 특정 리전 + VPC 조합에 종속
- 다른 리전으로 전환 시 새로 생성해야 함
- 다른 VPC에서도 다시 생성해야 함
5. 보안 그룹 참조 (다른 SG를 소스로 지정)
로드 밸런서를 사용할 때 유용한 패턴.
시나리오
- EC2 인스턴스 A 에 SG-1 연결
- SG-1 의 인바운드 규칙: "SG-2 허용"
결과
- EC2-B → EC2-A: EC2-B 에 연결된 SG-2 가 SG-1 의 인바운드 허용 목록에 있음 → 통신 성공
- EC2-C → EC2-A: EC2-C 에 연결된 SG-3 는 SG-1 의 허용 목록에 없음 → 연결 거부
장점
EC2 인스턴스의 IP에 관계없이, 올바른 보안 그룹만 연결되어 있으면 다른 인스턴스와 직접 통신 가능. IP를 일일이 신경 쓰지 않아도 된다.
6. 트러블슈팅 — 에러 메시지로 원인 구분
| Timeout (타임아웃) | 보안 그룹 문제 (트래픽 차단됨) |
| Connection refused (연결 거부) | 보안 그룹은 통과, 애플리케이션 문제 (오류 또는 미실행) |
- 임의 포트 연결 시도했는데 컴퓨터가 정지하고 대기 → 보안 그룹 문제일 가능성 높음
- 연결 거부 응답 → 보안 그룹은 작동하고 트래픽 통과, 애플리케이션 쪽 문제
7. 실무 팁 (강의자 권장)
- SSH 액세스 전용 보안 그룹을 별도로 분리해서 관리할 것
- 이유: SSH 액세스는 가장 복잡한 작업이므로, 제대로 설정되었는지 확인하기 위함
8. 시험 대비 — 알아둬야 할 포트
| 22 | SSH | Linux 인스턴스 로그인 |
| 22 | SFTP | 보안 파일 전송 (SSH 사용) |
| 21 | FTP | 파일을 파일 공유에 업로드 |
| 80 | HTTP | 비보안 웹사이트 접속 |
| 443 | HTTPS | 보안 웹사이트 접속 (요즘 표준) |
| 3389 | RDP | Windows 인스턴스 로그인 |
핵심 구분: 22 = Linux SSH, 3389 = Windows RDP
참고: 원문에 없지만 일반적으로 알려진 사실
아래 내용은 강의 원문에는 없지만 AWS 공식 문서/일반 지식 기반으로 알아두면 도움이 되는 것들입니다.
- 보안 그룹은 Stateful — 인바운드로 허용된 연결의 응답은 아웃바운드 규칙과 무관하게 자동 허용됨 (NACL은 Stateless)
- 보안 그룹은 명시적 Deny 규칙을 만들 수 없음 — Allow만 가능 (이건 원문의 "허용 규칙만 포함"과 같은 얘기)
한 줄 요약
보안 그룹은 EC2 외부에 붙는 방화벽이며, Allow 규칙만 가지고, IP뿐 아니라 다른 보안 그룹도 소스로 참조할 수 있다.
기본값은 인바운드 차단 / 아웃바운드 허용.
