Study/CloudComputing

중간 시험 범위 정리

ansui 2024. 10. 26. 13:01

CC

: computing resources로 구성된 공유 pool에 접근 가능한 nw

 

On-Premise

-) 자체 서버, storages, nw 장비 구매해야 함(hw 비용↑), 관리자 고용(전문지식 필요)

-) 유지보수 및 관리 필요. 급변하는 load에 적용(scaling up, down) 어려움

 

⦁ Over Provisioning

: peak load에 맞춤_서버가 적을 때 낭비, 비효율(피크타임에 사용되지 않는 자원을 할당)

 

⦁ Under Provisioning

: peak load 아래에 맞춤_서버가 많을 때 몇 명은 이용 불가

 

Cloud

+) 초기 설치 비용 x on demand(쓴 만큼 돈 냄)

+) scalability(확장성)↑: load/수요에 따라 resources를 동적으로 할당(트래픽 급증에 대응)

+) Economies of scale: 대량 생산이 소량 생산을 하는 경우보다 평균비용이 더 낮은 상황

+) 하나의 계정에 multiple users accessible

+) availability↑: 오랜 시간 사용 가능. 정상적으로 동작. 필요할 때 사용 가능

+) reliability↑: 예외 상황에서 회복↑, 문제 없이 작동. 여러 개의 서버에 데이터를 저장하여 secure함

+) Backed up: 데이터 카피본이 다른 물리적 장소에 저장됨(failure 대비)

*Cloud Provider는 높은 availability를 보장할 수 있는 탄력적 IT 리소스를 제공(SLA)

 

-) security↓ potability(다른 클라우드로 이동 어려움)↓ operational governance control↓(On-Premise보다)

-) 다양한 지역에서 compliance(규정), legal issues 다름

 

Cloud Infrastructure

: hw(servers, nw장비, storages)+sw

*Cluster > Rack > (nw switches, nodes/blades, storage devices)

 

⦁ server

: 클라이언트에게 서비스를 제공하는 컴퓨터(reliability, large requests services로 디자인 됨)

*모든 서버는 heterogeneous(서로 다른 internal hw로 구성됨)

 

⦁ Blade Server

: 최대한 얇게 만든 서버 컴퓨터. Rack안에 들어감

+) floor space, manageability, scalability, power, cooling

 

⦁ nw

: physical cables, switches, routers, wireless access points

*nw topology: bus, tree, ring, star

 

⦁ storage array

: 많은 양의 storage를 연결한 단순하고 강력한 컴퓨터

 

Cloud Service

⦁ Software as a service(Saas)

: 클라우드 환경에서 동작하는 SW 제공

: sw 설치 x, 인터넷 연결만 있으면 됨. CSP가 모두 관리

예) 구글 독스, 구글 캘린더, 구글 드라이브, Gmail, 노션, 드랍박스, MS office 365

 

⦁ Platform ~(Paas)

: sw 개발에 필요한 플랫폼 제공

: CSP가 hw, requirements 관리/유저: application, data만 관리

예) 구글 앱 엔진, MS Azure, Heroku

 

⦁ Infrastructure ~(IaaS)

: 서버(컴퓨터 자원) 같은 인프라 제공

: virtualization 기술을 사용해 각 서버를 multiple한 고객들이 공유

예) AWS EC2, MS Azure Virtual 머신스, 구글 Cloud 컴퓨트 엔진

 

⦁ Function ~(FaaS)

: serverless 컴퓨팅. 클라우드에서 개별 함수를 서비스로 제공.

: 인프라 및 서버 관리는 클라우드 제공업체가 담당하며, 사용자는 코드(함수) 작성과 실행 트리거만 관리

예) AWS Lambda, Azure Functions

 

Cloud Deployment Models

⦁ Public Cloud

: open to anyone(AWS, MS Azure, 구글 클라우드)

 

⦁ Community C

: 비슷한 기관끼리 공유(구글 Gov Cloud) 예) a회사, b회사

 

⦁ Private C

: 하나의 기관에서 공유(큰 회사의 내부 DC)

 

Computing

: CPU, RAM(메인 메모리, DRAM, 휘발성), HD(SSD), nw로 구성

*Bandwidth: 특정 시간 내에 보낼 수 있는 정보량(↑좋음)

*Latency: 하나의 데이터 패킷이 보내지는 데 소요되는 시간(↓좋음)


EC2(Elastic Compute Cloud)

: 가상화된 서버 사용(EBS 할당)

: VM이 hypervisor로서 각 인스턴스의 OS를 full control한다.

: 인스턴스라고 불리는 VM을 제공. AMI, Instance 타입을 기반으로 함

+) Affordable costs, Global, integrated, 빠른 시작, Resizable, Elastic computing(용량 자동 증가, 감소)

+) complete control: 인스턴스에 들어오거나 나가는 트래픽 직접 제어 가능

+) 다양한 인스턴스 타입, OS, sw 패키지 선택 가능

*Region>VPC 최대 5개(추가 가능)>AZ 多>subnet 多(public/private)>security group>EC2 인스턴스 1개

 

EC2 Purchasing Options

⦁ On-demand

: 초 당 계산(가격 고정), 후불

UC) 중단할 수 없는 단기간 서비스, spiky, load 예측이 어려운 서비스, 처음 개발되거나 테스트되는 애플리케이션

사전 지불이나 장기 약정 없이 Amazon EC2의 낮은 비용과 유연성을 선호하는 사용자

 

⦁ Reserved Instance

: 1년/3년 선택 후 선불(할인 o) / only EC2

UC) 장기 서비스(1년 이상), load 예측이 쉬운 서비스_flexibility가 필요 없는 서비스

 

⦁ Saving Plans Instances

: 1년/3년 선택 후 선불(할인 o) UC) 장기 서비스

 

> Compute Saving Plans

: flexibility↑(인스턴스 타입, 리전 변경 가능), 66% 할인 / EC2, Lambda, Fargate

: 인스턴스 family, 크기, AZ, 리전, OS, tenancy에 관계없이 인스턴스 사용량에만 적용

예) C4에서 M5 인스턴스로 변경/리전을 아일랜드에서 런던으로 변경하더라도 요금 계속 이용 가능

 

> EC2 Instance SP

: AZ, 크기, OS, tenancy에 관계없이 특정 리전의 개별 인스턴스 패밀리에 대한 사용량에만 적용

예) 윈도우 c5.xlarge를 Linux c5.2xlarge로 변경하더라도 기존 요금 계속 이용 가능

 

⦁ Spot Instance

: 분 당 계산, 경매 형식(on-demand보다 최대 90% 할인)

: supply>demand: discount / supply<demand: terminated

UC) 시작 및 종료 시간이 유연한 애플리케이션, 매우 낮은 컴퓨팅 가격으로만 실행 가능한 애플리케이션,

대량의 추가 용량에 대한 긴급한 컴퓨팅 요구가 있는 사용자

-) 일시적 서비스이므로 중지 대비해야 함(불안정), 대량의 추가용량에 대해 짧게 이용

 

Tenancy 

: EC2 인스턴스가 어떻게 물리적 host HW에 분산되는 지 정의

 

⦁ shared tenancy

: hw에 a사용자 인스턴스랑 b사용자 인스턴스 모두 존재

: aws가 배치 및 관리, 시간이 지나도 같은 서버에 배치 불가능, 가격 ↓

 

⦁ dedicated instance

: hw에 a사용자 인스턴스가 여러개 존재. isolated

: aws가 배치 및 관리, 시간이 지나도 같은 서버에 배치 불가능, 가격 ↑

 

⦁ dedicated host

: hw에 a사용자 인스턴스가 1개 존재. isolated

: 직접 배치 및 관리, 시간이 지나도 같은 서버에 배치 가능, 개수에 따른 가격

 

인스턴스 생성 과정

1. Name, Tag(key, value) 생성

⦁ tag

+)검색, 필터기능: 태그별 리소스 그룹 생성/관리(+가격 관리), automation(리소스 필터)

+) access 컨트롤(tag 정보를 기반으로 IAM 사용하여 접근 관리)

 

2. AMI 선택

: root volume을 위한 templates(OS, server, app 설정 내용 포함)

: 같은 구성이면 같은 AMI 런치/다르면 각각 다른 AMI 사용

: 한번 선택하면 바꿀 수 x(삭제 후 새로 생성해야 함)

+) Backups, Repeatability(같은 AMI로 런치된 인스턴스는 서로의 복제본)

+) Reusability, Recoverability(장애발생 시 새인스턴스를 만들어 똑같은 API를 사용하여 복제)

+) Marketplace Solutions(솔루션을 마켓에서 찾을 수 있음)

 

3. 인스턴스 타입 선택(CPU, RAM, 디스크 스페이스 및 타입, nw performance)

: 추후 변경 가능

*표기법: 패밀리+세대.+크기 예) t2.micro

 

4. Key Pairs

: EC2 인스턴스를 securely access하기 위해(SSH)

: 존재하는 키페어 사용/새로운 키페어 생성/사용x 중 선택(default 세팅 없음)

: AWS-public key, 나-secret key(절대 노출x) 각각 저장

 

5. nw 세팅

: VPC, subnet, security group 설정, public IP 사용 여부 선택

⦁ Region(physical location): 리전마다 가격/속도 다름, 여러 개의 AZ 존재

+) fault tolerance(서울 불가→도쿄 이용), stability(독립적), 가까울수록 빠름

 

6. Configure Storage

– main 솔루션: EBS

 

7. Advanced Details(IAM role, User Data, tenancy, 등)

⦁ IAM Role: specific permission policies, 역할 추가, 변경, 삭제 가능

⦁ User Data: 인스턴스가 처음 런치/스탑 후 다시 시작 시 자동으로 수행되는 스크립트

 

8. 그 외 세팅 옵션

: Spot 인스턴스 요청

: shutdown behavior(인스턴스가 중단되거나 멈춘다)

: termination protection(enable로 설정하면 terminated 막아줌)

: tenancy

 

< 분류별 정리 >

*default setting x: key pair *가격 영향 o: AMI, 인스턴스 타입, storage, advanced details, regions

*인스턴스 런치 후 수정 x: AMI, 키페어, nw 세팅(VPC, subnet), region

*인스턴스 런치 후 수정 o: name&tag, 인스턴스 타입, nw 세팅(IP주소, CIDR 블록, security group), storage, advanced detail(role 추가, user data scripts)


Block Storage(EBS, Instance Store)

: OS나 SAN(Storage Area NW)이 관리

: 데이터를 블록 단위로 쪼개고 저장하여 각각에 unique identifier 존재

: 각각의 블록은 다양한 시스템에 저장할 수 있고 각 블록은 다양한 OS에서 작동하도록 구성할 수 있다.

+) latency↓, IOPS↑, flexibility↑, faster

-) organization↓, overhead↑

UC) high-performance db, vm file systems, ↓latency 요구 applications

 

Elastic Block Store(EBS)

: virtual storage volumes를 위한 저장공간(nw에 붙어있음)

: 인스턴스를 삭제해도 남아있다. usb처럼 행동. 가격↑, 용량 제한 o

*Durability: 평균 loss 예측 예)durability가 99%면 100개 중 1개 loss

*Availability: 1년 동안 오브젝트 사용이 가능한 평균 시간

+) availability(AZ내에서 자동 복제), snapshots(백업), durable, detachable, performance↑, latency↓

 

⦁SSD-based: Provisioned IOPS(latency↓), General purpose(가격 수행 밸런스 좋음)

: flash, 전자적, 빠름, root 볼륨 가능 / UC) 자주 사용, 작은 I/O 사이즈에 이용

 

⦁HDD-based: Throughput Optimized(자주 접근), Cold(자주 접근x)

: 마그네틱, 물리적, 느림, root 볼륨 불가능 / UC) 높은 처리량을 요구하는 large streaming work load

 

*선택 옵션: volume 타입&크기, 인스턴스 종료 시 볼륨 자동 삭제 여부, 암호화 여부(키 사용 여부)

 

Instance Store

: temporary 블록 레벨 스토리지(피지컬 서버에 붙어있음), root 볼륨 가능

-) ★인스턴스 중단 시 데이터 모두 삭제, 인스턴스 시작 후, instance store 볼륨 추가 생성 불가능

-) 특정 AMI, 인스턴스 타입의 조합만 가능, 볼륨 제거 불가능, not configurable

 

File Storage(EFS)

: 파일/디렉토리의 계층적 구조, 파일에 데이터 저장(메타데이터로 관리)

: 파일 시스템 프로토콜(NFS, SMB)에 의해 접근

: 여러 개의 인스턴스의 데이터들을 공유된 파일 시스템 안에서 사용, root 볼륨 불가능 / -) flexibility↓

: 파일 추가 및 삭제 시 자동으로 볼륨 조절(관리 필요 x)/NFS, SMB로 접근

+) available↑, durable↑, elastic, scalable, encryption, organization↑

+) simpilicity↑, sharing 촉진, 다른 OS와 앱에 넓게 서포트, fully managed(모든 관리 해줌)

UC) 미디어 processing workflows, shared and home directories, db backups, 개발자 및 앱 도구, 빅데이터 분석, 공유 파일 리포지토리, 컨텐츠 관리 시스템


Object Storage(S3)

: 오브젝트로 저장.

 

*오브젝트: 데이터(real file)+메타데이터+오브젝트 키(unique identifier)

: object는 버켓에 저장(flat address storage), 수평적 분배(flat)

: unique ID를 이용하여 HTTP APIs로 접근(GET, PUT 등)

: 버킷안에 폴더 생성 가능(계층x, 오브젝트안에 폴더를 붙임) 디렉토리는 실제로 존재하는 물리적 폴더 x

: 객체 이름에 경로를 포함시켜 디렉토리처럼 보이도록 하는 논리적인 구조

UC) cloud storage service, backup and archival solutions,

storing large amounts of unstructured data 예)drop box

*박스 예시) 박스=오브젝트, QR=unique ID, 데이터 양에 따라 박스 크기 조절 가능

- 생성: 박스에 데이터 넣고 박스마다 QR코드 부착.

- 읽기/삭제: QR 스캔 후 박스 찾아서 데이터 확인 후 읽기/삭제

 

S3(Simple Storage Service)

: 웹 objects를 위한 저장공간

: 파일 업로드 시 최소 3개의 AZ에 오브젝트가 자동 복제됨–한 AZ에서 장애 발생하면 같은 리전의 다른 AZ 이용 가능

+) durability↑(loss), availability↑, scalability↑, security(encryption), 무제한

+) 풍부한 메타데이터로 구성해 검색이 용이함, 합리적 가격, (-slower)

+) 모든 파일타입 가능(5TB 이하), flexibility↑, fault tolerance

 

⦁ Active Storage: 항상 사용 or 덜 접근하지만 중요해서 접근 시 빨라야 하는 것

예) files for static website(html)

 

 ⦁Archive S: 잘 접근 안하는 데이터 예) data for compliance, video archive

 

S3 Costs

: Storage 클래스와 특징에 따라 (월별 GB),

 

⦁유료: 다른 리전/인터넷으로 데이터 전송, PUT, COPY, POST, LIST, GET request

 

⦁무료: S3로 데이터 전송/업로드(transfer in), 동일 지역 내의 S3 버킷 간 전송, 동일 지역 내의 EC2로부터 전송, 동일 지역 내의 CloudFront로부터 전송(transfer out), DELETE 및 CANCEL 요청

 

*Free tier: 12개월 동안 5GB 받기/20,000 GET 요청, 2000 PUT, COPY, POST, LIST 요청/100GB 전송하기

 

Large 데이터 옮기기

⦁ S3 Transfer Acceleration

: 수백개의 CloudFront edge locations를 사용하여 client와 S3사이의 거리를 줄임

 

⦁ AWS Snowcone

: portable, rugged, secure device for edge computing and 데이터 전송(물리적 장치)

 

⦁ AWS Snowball

: S3와 onsite 데이터 스토리지 간에 많은 양의 데이터를 옮김(물리적 장치)

 

⦁ ASW Snowmobile

: AWS로 많은 양의 데이터를 옮김(물리적 장치)

 

Bucket 생성 과정

1. 버켓 이름 짓기: global unique

 

2. 버켓 생성

: 오브젝트를 버켓에 저장하면 이름, 키, 버전 ID의 조합으로 unique URL을 만들어 오브젝트를 식별한다.

예) https://s3.ap-northeast-2.amazons.com/bucketname/key 

 

3. 리전 선택

 

4. 오브젝트 ownership and access

: ACL(access control list)에 의해 오브젝트 ownership, access 컨트롤 가능

 

5. Versioning

: 모든 오브젝트를 versioning 후 unique 버전 ID를 부여한다.(보존, 검색, 복원이 용이)

: 한번 버전 설정하면 버전 만들기 전 상태로 돌아갈 수 없지만 버전 중단은 가능

 

6. 버켓에 tag 추가(key-unique, value 설정)

 

Uploading object

*하나의 버킷에는 무제한으로 데이터 저장 가능, 하나의 오브젝트에는 5TB이하로 저장 가능

1. storage class 선택: 기본은 S3 Standard, 업로드 후 언제든지 변경 가능

2. multipart upload: 하나의 오브젝트를 여러 부분으로 나누어 버켓에 업로드(속도↑). 나중에 S3가 다시 합침

 

Working with object

⦁Copy

: copy(복사본) 생성 → 복사본 이름 변경 → 오브젝트 옮기기 →오브젝트 메타데이터 수정

 

⦁Life Cycle rules

: S3가 오브젝트 그룹에 할 행동을 정의한 rules

 

>Transition actions: 오브젝트가 다른 스토리지 클래스로 바뀔 때

 

>Expiration actions: 오브젝트가 만료되어 삭제될 때

 

⦁Replication rules

: 계정, 버킷, 지역을 선택해 자동으로 카피

+) 여러 리전, 스토리지 클래스, ownership에서 유용하게 copy를 유지 관리하게 도움

 

> cross-region: 사용자의 지리적 위치에 가깝게 하여 latency↓, 재난 복구를 위해

: 서로 다른 AWS 계정 간 데이터 복제도 가능하므로, 다중 계정 아키텍처에서 데이터를 보호하고 관리할 때 유용함

UC) 규정/내부 체제 관리에 따라 데이터를 다른 리전에 복제해야 하는 경우,

여러 리전에서 서비스에 접근하는 경우, 데이터를 해당 리전으로 복제하여 latency↓

 

> same-region: 리전 내에서의 데이터 가용성↑ 특정 워크로드를 분리하거나 개발 및 운영 환경 간의 데이터를 동기화할 때 

UC) 여러 S3 버킷에서 생성된 로그 파일을 하나의 중앙 버킷으로 복제하여 통합 관리하는 경우.

개발 환경과 운영 환경 간의 실시간 데이터 복제가 필요한 경우.

 

Bucket Security

: 버킷에 IAM policy를 적용하여 권한을 줄 수 있다.

: 버킷 policy(Json)를 이용하여 AWS 계정, 유저에게 오브젝트 접근 권한을 줄 수 있다.

 

EC2 Life Cycle (Running, Rebooting만 billed, 나머지는 not billed)

 


Scaling

⦁ Vertical

: 인스턴스 스탑→인스턴스의 사이즈/타입 변경→인스턴스 시작

-) manual process(자동 x 수동으로 스스로 해야함). multiple instances를 관리해야 할 때 어려움.

-) 확장성 한계 o. 변화 불가능한 인스턴스가 존재할 수도 있음

UC) 인스턴스 크기가 너무 약하면 horizontal scaling이 소용 없음 → vertical scaling

 

⦁ Horizontal

: Auto Scaling(health check: 인스턴스/ELB 체크 후 unhealthy면 대체)

+) fault tolerance, availability↑ 가격↓ 중단시간(downtime) x. 여러 AZ에 걸쳐 인스턴스 생성 가능

UC) CPU 사용량은 낮은데 너무 많은 요청이 오면 vertical scaling이 소용 없음 → horizontal scaling

 

Auto Scaling

⦁ASG(Auto Scaling Group)

: minimum, maximum, desired capacity(현재 로드에서 default) 선택

 

⦁Auto Scaling Llifecycle

: Launch(scaling/health check 시작), Running, Scale-In(수요 적을 시 terminated), Terminate(unhealthy / 과잉의 인스턴스는 종료 후 대체)

 

⦁Scaling Policies

>Scheduled

: 일정한 날짜와 시간에 1회/정기적인 일정에 따라 scaling

 

>Dynamic

: 실시간 성능에 따라 후조치(target tracking scaling)

 

>Predicted

: ML을 사용해 과거 성능을 바탕으로 예측하여 선조치


NW

: 모든 장치를 연결해주는 connecting device(router)가 존재

: server, 라우터, Hub 및 스위치, ISP(Internet Service Provider), Cloud, nw nodes(client)로 구성

*switch는 IP 주소x, 라우터는 IP 주소o

 

OSI 계층

1. physical>data link>nw>transport>session>presentation>7. application

 

ELB(Elastic Load Balancer) 

: incoming 트래픽을 multiple 타켓에 분배

*가장 좋은 배치: 인스턴스를 여러 AZ에서 런치 후 ELB 이용해 incoming traffic 분배

*Health Check: 서버 상태 주기적 확인. unhealthy면 라우팅 멈추고 다른 곳으로 라우팅

*Crosszone load balancing: 여러 AZ에 분배(availability↑ fault tolerance)

*Auto Scaling integration: auto scaling 되면 그에 따라 자동으로 분배

 

⦁Application Load Balancer(ALB)

: HTTP(S)의 메타데이터 보고 라우팅. 속도↓ Layer7(App L)

UC) micro 서비스, container based application

 

⦁Network LB(NLB)

: TCP, UDP, TLS. Layer4(Transport L)

UC) performance↑, latency↓, real-time, throughput↑한 서비스

 

⦁Gateway LB(GLB)

: Layer3(Network L)

UC) third-party virtual appliances(firewalls, intrusion detection 시스템, deep packet inspection 시스템)


VPC(Virtual Private Cloud)

: 자체 dc에서 운영하는 기존 nw와 가장 유사한 독립된 nw

: resource placement, connectivity, security를 제공하는 virtual nw 환경

: EC2 instance가 선택한 VPC에서 시작됨. 각 VPC는 다른 환경을 서포트 함

UC) to host multi-tier web application

 

⦁Presentation tier

: Web site 유저가 웹/앱에서 상호작용하는 곳

예) 인스타그램 사진 업로드(public subnet>EC2 instance)→Application tier로 전송

 

⦁Logic tier(Application tier)

: Application 컴퓨팅 프로세스가 발생하는 곳

예) 업로드한 사진 처리(private subnet>EC2 instance)→Data tier로 전송

 

⦁Data tier

: Database 데이터가 저장되는 곳 보통 프라이빗 서브넷으로 보호됨

예) 사진 db에 저장(private subnet>RDS instance)

 

default VPC

: AWS 계정 생성 시 자동으로 리전에 제공됨(삭제하거나 사용하지 않는 것 추천)

: 모든 AZ에 public subnet이 각각 들어있음

: default VPC 내부에 추가 public subnets 생성 가능. 리전 안에 customized VPC 추가 가능

 

⦁default VPC-default subnet

: 자동으로 public IP enable 세팅. disable 선택 가능

 

⦁default VPC-custom public subnet, custom VPC-custom subnet

: 자동으로 public IP disable 세팅. enable 선택 가능

 

*VPC 생성 시 실행되는 모든 내부 인스턴스는 프라이빗 IP 자동 부여: 퍼블릭 IP 요청가능

*VPC는 하나의 리전에 국한되고 여러 개의 리전에 span 할 수 없다.

*VPC의 CIDR Block은 subnet IP CIDR Block의 범위보다 커야한다.

 

VPC 패턴

⦁Single VPC pattern

: 한 명/한 팀이 관리. 높은 performance 컴퓨팅

 

⦁Multi-VPC p

: 한 팀/한 기관이 관리. managed 서비스 providers

⦁Multi-account p

: 큰 조직/여러 개의 IT팀을 가진 기관. 접근 관리, standards 복잡

 

VPC 구성요소

: 메인 라우트 테이블, nw access control list, security 그룹으로 구성

⦁VPC ID: VPC를 생성하면 자동부여. 수정불가. 랜덤 숫자, 문자로 구성

 

⦁tags: ID를 기억하기 어려워서 태그를 줌 예)vpc-134jh3j43(Testing VPC)

 

VPC 삭제

⦁먼저 삭제할 요소

: EC2/RDS 인스턴스, ELB, NAT, transit gateway, VPC 엔드포인트

 

⦁자동 삭제 요소

: subnets, IG, Egress-only internet gateways, 라우트 테이블, security 그룹, NW ACL, DHCP options, Gateway endpoints

 

Subnet

: VPC 안의 더 작은 nw.

: 특정 AZ 1개에 매핑(fault tolerance).

: AZ 1개에 subnet 여러개 가능

*IP 주소 5개는 사용 x: nw 주소, VPC 로컬 라우터, DNS resuolution, future use, nw broadcast address

*subnet은 nw내의 nw이므로 CIDR block address를 가진다.

*subnet의 CIDR는 nw의 CIDR 범위 이내에 있어야 하고(같으면 x) subnet의 CIDR은 겹치면 안된다.

*subnet ID: VPC ID처럼 자동 생성 예) subnet-djf2jf442f

 

⦁public subnet

: 인터넷 연결 o, 인스턴스 재시작 시 변경 o

 

⦁private subnet

: 인터넷 연결 x, 인스턴스 재시작 시 변경 x

 

⦁Elastic IP(static public IPv4) ↔ dynamic IP(퍼블릭 IP): 변경 o

: for dynamic cc. 리전 레벨. 인터넷 연결 o, instance 하나와 연관, 변경 x, 스턴스에서 detached 되거나 사용되지 않을 때 cost

 

NW Gateway

⦁internet gateway(VPC간 통신/VPC와 인터넷 간 통신),

⦁virtual private gateway(VPN connector로 VPC와 온프레미스 간 통신)

 

Route Tables

: 각각의 라우트가 (target, destination)을 지정

*서브넷을 만들면 VPC안의 각각의 서브넷은 메인 라우트 테이블과 연결됨(must)

*서브넷:라우트 테이블=N:1 하나의 서브넷은 하나의 라우트 테이블만 가능


EC2 Security group

: ssh 접근(key pair), 인스턴스 바깥에 존재하는 AWS 자체 제공 virtual 방화벽

*OS 내부에도 자체적인 방화벽이 존재함 예) OS-allow, sg-deny: 트래픽 받지 못함

: incoming/outcoming traffic control (nw access 컨트롤)

: (타입, 프로토콜, port 범위, source)로 rule 설정

 

⦁inbound rule

: incoming 기본이 deny이므로 allow rule 설정

 

⦁outbound rule

: outcoming 기본이 allow이므로 deny rule 설정

 

*인스턴스:Security 그룹:N:N. AZ에 span 가능

*언제든지 수정 가능 – 실시간 변경 / 한 인스턴스에 대해 여러 개 적용 가능(동시 평가)

*Stateful: inbound에 대한 outbound 응답은 rule이 deny이더라도 생성(반대도 마찬가지)

*서브넷 레벨 x 인스턴스 레벨 o → 같은 서브넷에 있는 인스턴스라도 다른 sg에 할당 가능

*모든 EC2, RDS 인스턴스는 시큐리티 그룹이 필요하다

 

NW ACL(Access Control List)

: VPC를 보호하기 위한 방화벽(서브넷 레벨)

: 모든 서브넷은 NW ACL과 연결이 필요하다 (명시 안하면 자동으로 default ACL 연결)

 

⦁Default N-ACL

: 모든 inbound, outbound default는 allow

 

⦁Custom N-ACL

: 모든 inbound, outbound default는 deny(allow, deny 룰)

 

*서브넷:ACL=N:1 하나의 서브넷은 하나의 ACL만 가능. AZ에 span 불가능

*stateless: 인바운드가 가능한데 아웃바운드가 deny면 응답 불가(반대도)

*세분화(타입, 프로토콜, port 범위, source, 특정 IP 주소), 작은→큰 숫자 우선순위(나중에 추가 가능)

*SecurityG, ACL은 함께 VPC를 보호함(바깥쪽이 ACL, 안쪽이 SG) → 충돌 시 SG 승리


NAT Gateway

: 프라이빗 서브넷으로 인터넷 연결/다른 AWS 서비스 이용 가능.

: 상주할 퍼블릭 서브넷 있어야 함

: 프라이빗 서브넷이 외부에서 요청되는 인바운드는 필요 없더라도 인스턴스의 펌웨어나 혹은 주기적인 업데이트가 필요하여 아웃바운드 트래픽만 허용되야 할 경우, 프라이빗 서브넷에서 외부로 요청하는 아웃바운드 트래픽을 받아 IG와 연결

: NAT을 생성하기 위해선 NAT가 상주하는 public subnet과 Elastic IP 지정해야 함.

: 생성 후 NAT와 연결 될 라우트테이블 업데이트해야 함(이 라우트테이블로 IG연결)

 

VPN

: Virtual Private NW. public망을 private망처럼 이용하게 해줌

 

Direct connect

: 전용선을 사용하여 on-premise와 AWS VPC를 연결(비용↑)

 

VPC Endpoints

: VPC와 supported services를 연결(같은 리전 내에서만)

: IG, NAT, VPN, Direct connect 사용 x → VPC가 public 인터넷에 노출 x

⦁AWS Private link: VPC, AWS 서비스, on-premise nw간에 private한 연결을 제공

 

⦁Gateway Endpoint: S3, DynamoDB에 프라이빗하게 연결

 

VPC Peering

: 라우트 트레픽을 이용하여 privately하게 2개의 VPC들을 연결

: IP 주소(CIDR)가 overlap되면 안된다. transitive peering x(a,b,c 거치는 거 안됨)

+) 다른 계정, 다른 리전에 있어도 가능 / 양쪽에서 라우트 테이블 구성해야 함(peering connection으로 향하게)

 

Transit Gateway

: 여러개의 VPC를 오직 하나의 connection(hub)으로 동시에 연결

*연결 대상: VPC/on-Premise(Direct Connect)/VPN/다른 Transit Gateway


다른 NW services

⦁Route 53

: 도메인 주소를 IP 주소로 변환(DNS 서비스화) available, scalable

 

⦁CloudFront

: 캐시 가능한 정적 컨텐츠(웹사이트, 비디오, 앱, APIs)를 빠르게 전송

전 세계의 유저에게 콘텐츠(웹, 앱, 비디오, APIs)를 안정적이고 빠르게 전송 가능한 CDN

(Content Delivery Network)서비스

 

⦁API Gateway

: API 생성, 출시, 유지, 모니터링, 보안을 관리하는 서비스

예)FE에서 BE(API server)로 통신 할 때, 중간에서 관리(API가 지나가는 통로)

 

 

 

'Study > CloudComputing' 카테고리의 다른 글

기말 시험 범위 정리  (0) 2025.01.14
Managing Network  (1) 2024.10.26
Using VPC_Security Group & ACL  (0) 2024.10.26
Amazon VPC  (0) 2024.10.26
Networking & CIDR Block & Subnet  (2) 2024.10.26