Cloud/AWS_cloud 폴더의 수업 내용을 시험 대비용으로 한 파일에 재구성한 요약본이다.
목표는 "실습 순서 암기"가 아니라 "왜 이 서비스를 쓰는지, 서로 무엇이 다른지, 트래픽이 어떻게 흐르는지"를 빠르게 정리하는 것이다.
| 구분 | 온프레미스 | 클라우드 |
|---|---|---|
| 인프라 준비 | 직접 구매/설치 | 필요 시 즉시 생성 |
| 확장 | 느림 | 빠름 |
| 비용 구조 | 초기 투자 큼 | 사용량 기반 과금 |
| 운영 부담 | 높음 | 상대적으로 낮음 |
On-demand self service: 사용자가 직접 리소스 생성Rapid elasticity: 빠른 확장/축소Measured service: 사용한 만큼 비용 지불| 모델 | 의미 | 예시 |
|---|---|---|
| IaaS | 인프라 제공 | EC2 |
| PaaS | 실행 환경 제공 | Elastic Beanstalk |
| SaaS | 완성된 소프트웨어 제공 | Google Docs |
Public Cloud: 일반적인 AWS 사용 방식Private Cloud: 조직 내부 전용 클라우드Hybrid Cloud: 온프레미스 + 클라우드 혼합Multi Cloud: 여러 클라우드 사업자 병행 사용구조:
Global Infrastructure
-> Region
-> Availability Zone
-> Data Center
Region: 지리적으로 분리된 AWS 서비스 제공 지역AZ: Region 내부의 물리적으로 격리된 데이터센터 그룹Edge Location: CloudFront, Route53 등 엣지 서비스 거점Multi-AZ는 고가용성 확보용Multi-Region은 재해복구와 글로벌 서비스용지연시간, 규제, 서비스 지원 여부10.0.0.0/16다음이 모두 맞아야 외부 통신이 가능하다.
0.0.0.0/0 -> IGWPublic IP 존재Security Group 허용NACL 허용10.0.0.0/16 -> local
0.0.0.0/0 -> igw
StatefulAllow onlyStatelessAllow / Deny 모두 가능| 항목 | SG | NACL |
|---|---|---|
| 적용 대상 | 인스턴스 | 서브넷 |
| 상태 관리 | Stateful | Stateless |
| 규칙 | Allow만 | Allow/Deny |
암기:
SG = 서버 앞 방화벽NACL = 서브넷 경계 방화벽User -> Internet -> Public IP -> IGW -> Route Table -> Subnet -> EC2
필수 조건:
0.0.0.0/0 -> IGWEC2 -> Route Table -> IGW -> Internet
필수 조건:
Private EC2 -> NAT Gateway -> IGW -> Internet
핵심:
Outbound onlyPublic Subnet에 위치0.0.0.0/0 -> NAT Gateway 설정Source/Destination Check) 비활성화 필요| 항목 | NAT Gateway | NAT Instance |
|---|---|---|
| 운영 방식 | 관리형 | 직접 관리 |
| 안정성 | 높음 | 상대적으로 낮음 |
| 설정 난이도 | 낮음 | 높음 |
| 비용 | 더 비쌈 | 더 저렴할 수 있음 |
구조:
Internet -> Bastion Host -> Private EC2
구조:
Internet -> Bastion(Nginx) -> Private Web
SSM AgentAmazonSSMManagedInstanceCoressmec2messagesssmmessages관리자 -> Systems Manager -> VPC Interface Endpoint -> Private EC2
Private DNS 사용 시 서비스 도메인이 사설 IP로 해석됨443, WebSocket 기반 연결이 사용됨AMI: 서버 템플릿Instance Type: CPU/Memory 성능Key Pair: SSH 인증 키Security Group: 방화벽Storage(EBS): 디스크Network: VPC/Subnet/IPAMI -> EC2 생성Instance Type은 성능 결정Key Pair는 Linux SSH 접속용L7 로드밸런서Listener: 요청 받는 포트/프로토콜Target Group: 실제 요청 받을 대상 묶음Target: EC2 등 실제 백엔드Client -> ALB -> Target Group -> EC2
Public Subnet에 배치ALB SG만 허용하는 것이 더 안전Internet
-> ALB (Public Subnet)
-> ASG EC2 (Private Subnet)
ALB는 Public, ASG 인스턴스는 Private| 유형 | 대표 서비스 | 접근 방식 | 적합한 용도 |
|---|---|---|---|
| Block Storage | EBS | 디스크처럼 연결 | OS, DB, 고성능 저장소 |
| File Storage | EFS | 파일 시스템 공유 | 여러 서버 공동 사용 |
| Object Storage | S3 | HTTP/API | 이미지, 로그, 백업, 정적 파일 |
EBS = 서버에 붙는 디스크EFS = 여러 서버가 함께 쓰는 파일 시스템S3 = 객체 저장소, API 기반| 항목 | EBS | EFS |
|---|---|---|
| 구조 | 블록 스토리지 | 파일 스토리지 |
| 연결 | 보통 단일 EC2 중심 | 다중 EC2 공유 |
| 용도 | OS, DB | 공유 디렉터리 |
Bucket -> Object
Bucket: 객체 저장 컨테이너Object: 실제 데이터Key: 객체 식별 이름Metadata: 부가 정보Key로 폴더처럼 보이게 함PrivateACL: 객체 단위Bucket Policy: 버킷 단위IAM Role/Policy: 사용자나 역할 기반Pre-Signed URL: 임시 접근 허용Durability와 Availability는 다름최소 2개 AZ 필요DB Subnet Group으로 DB가 배치될 서브넷 지정Security Group으로 DB 접속 제어Public Access = NoApp/EC2 -> Aurora Endpoint -> Aurora Cluster
사용자 PC -> AWS VPN Client -> Client VPN Endpoint -> Target Network Association -> VPC Subnet -> Private EC2
CA 인증서: 신뢰 기준서버 인증서: VPN 서버 신원 증명클라이언트 인증서: 접속 사용자 증명.ovpn 파일 구성 후 VPN Client 접속Target Network Association: 어떤 서브넷/VPC와 연결할지Authorization Rule: 누가 어떤 네트워크 대역에 접근할지| 항목 | Public | Private |
|---|---|---|
| 기본 경로 | IGW | 보통 NAT 또는 내부만 |
| Public IP | 주로 사용 | 보통 없음 |
| 대표 배치 | ALB, NAT GW, Bastion | App, DB, 내부 서버 |
| 항목 | IGW | NAT Gateway |
|---|---|---|
| 역할 | VPC와 인터넷 연결 | Private 인스턴스의 아웃바운드 대행 |
| 인바운드 수신 | 가능 | 불가 |
| 연결 대상 | Public 리소스 | Private 리소스 |
| 항목 | Bastion | SSM |
|---|---|---|
| 접속 방식 | SSH 점프 서버 | Session Manager |
| Public 서버 필요 | 필요 | 불필요 가능 |
| 운영 부담 | 더 큼 | 더 적음 |
| 항목 | EBS | S3 |
|---|---|---|
| 타입 | Block | Object |
| 연결 방식 | EC2에 디스크 연결 | HTTP/API 접근 |
| 용도 | OS, DB | 이미지, 로그, 백업 |
User -> Route53(선택) -> ALB -> Target Group -> EC2
Private EC2 -> NAT Gateway -> IGW -> Internet
방법 1:
Admin -> Bastion -> Private EC2
방법 2:
Admin -> Systems Manager -> Interface Endpoint -> Private EC2
User PC -> Client VPN Endpoint -> VPC -> Private EC2
ALB, NAT Gateway, Bastion은 보통 Public SubnetApp, DB, ASG EC2는 보통 Private SubnetSSM 같은 관리형 방식을 우선 고려Region = 지리적 분리, AZ = Region 내부 격리 구역Public Subnet이 되려면 IGW 경로가 있어야 함Public IP 필요NAT GatewaySG = Stateful, NACL = StatelessALB는 Public, 웹/App 서버는 Private 구조가 대표적ASG는 Launch Template 기반으로 인스턴스 생성EBS는 디스크, EFS는 공유 파일시스템, S3는 객체 저장소S3 기본 권한은 PrivateAurora는 DB Subnet Group과 Multi-AZ 개념이 중요SSM은 SSH/Bastion 없이 Private EC2 관리 가능Client VPN은 인증서 기반으로 VPC 내부 접속 제공AWS 아키텍처의 핵심은 다음 4가지로 정리된다.