인프라 스터디 1주차 키워드 조사

허준기·2024년 6월 29일
2

인프라 스터디

목록 보기
1/9

Aws - Vpc,cidr,ec2,s3,cdn,route53,nacl,security group

AWS(Amazon Web Service)

클라우드 컴퓨팅 플랫폼을 구성하는 원격 컴퓨팅 서비스 ㅁ모음
컴퓨팅 성능, 스토리지, DB 및 분석
여러 지역에 위치한 데이터 센터를 통해 전 세계적으로 운영

장점

  • 확장성 : 광범위한 컴퓨팅 리소스에 대한 #온디맨드 액세스 제공 --> IT 인프라 쉽게 확장
  • 비용 효율성 : 사용한 리소스에 대해서만 비용 지불
  • 안정성 : 안전하고 안정적인 데이터 센터의 글로벌 네트워크 운영 - 고가용성 및 재해 복구 기능 제공
  • 유연성 : 컴퓨팅, 스토리지, DB 및 분석을 포함한 광범위한 서비스 제공
  • 보안 : 고객 데이터 보호, 다양한 보안 조치 및 인증 구현

#온디맨드 인스턴스

선불 비용이나 장기 약정 없이 시간당 컴퓨팅 리소스 비용 지불

단점

  • 복잡성 : 클라우드 컴퓨팅을 처음 접하는 경우 관리 및 탐색이 복잡할 수 있는 광범위한 서비스 및 기능
  • 비용 : 특수한 요구 사항이 있는 비즈니스에는 요금 모델이 비쌀수도
  • 공급업체 종속 : 한 번 AWS에 투자하면 다른 공급업체로 전환이 어렵고 비용이 많이 든다

EC2(Elastic Compute Cloud)

클라우드에서 온디맨드 확장 가능 컴퓨팅 용량 제공
AWS에서 제공하는 클라우드 컴퓨팅 서비스

클라우드 컴퓨팅 : 인터넷(클라우드)을 통해 서버, 스토리지, DB 등 컴퓨팅 서비스를 제공
--> AWS에서 원격으로 제어 가능한 가상의 컴퓨터 한 대를 빌리는 것

Elastic --> 사용한 만큼 비용을 지불 , 성능, 용량 을 자유롭게 조절 가능

AWS 클라우드의 가상 서버
물리적인 서버를 구축하면 시간과 비용이 많이 들기 때문에 가상의 컴퓨터를 대여해주는 #EC2 사용

  • 다양한 운영체제로 인스턴스 시작 가능
  • 비용 절감 --> 사용한 만큼만 요금 지불

인스턴스 유형에 타입 이 존재

  • 사용 목적(서버, 머신러닝, 게임) 에 따라 타입별로 인스턴스에 이름 부여 (t타입, m타입, inf타입 ...)

  • 범용 : vCPU, 메모리, 네트워크, 저장 공간 등이 평균적인 사양으로 제공

  • 컴퓨팅 최적화 : 메모리 대비 vCPU 비율이 높음

  • 메모리 최적화 : 메모리 용량이 훨씬 큼

  • 스토리지 최적화 : 스토리지 용량이 훨씬 크거나 초고속 I/O 제공

  • GPU 인스턴스 : 고성능 NVDIA GPU 장착

  • 마이크로 인스턴스 : 가장 저렴, 낮은 #vCPU 성능, 적은 메모리 --> 프리티어

vCPU : 가상회 소프트웨어를 통해 제공되는 CPU

인스턴스 수명주기

AMI로 부터 실행되고나서 종료될 때까지의 과정

AMI (Amazon Machine Image)

  • EC2 인스턴스를 실행하기 위해 필요한 정보를 모은 단위(OS, 아키텍쳐 타입, 저장공간 용량 등)
  • EBS : (Elastic Block Store) - EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨 제공 - 하드디스크라고 생각. 각 #EBS 볼륨은 가용 영역 내에 자동으로 복제되어 구성요소 장애로부터 보호해주고 고가용성 및 내구성 제공

EC2 분류

  • EBS Based : 반 영구적인 파일의 저장 기능
    - 하드 디스크와 그래픽 카드 메모리 cpu와 분리되어 네트워크로 연결
    - Instance 에 비해 느림
    - EC2 를 내려도 #EBS 는 살아있어 다음에 또 사용 가능
    - Snapshot 기능 --> 덤프 떠서 백업
    - 인스턴스 업그레이드
    - stop 가능
  • Instance Storage : 휘발성이 빠름
    - EC2 내 물리적 연결 --> EC2 안에 있음
    - 종료시키면 EC2 와 함께 날아감
    - 빠른 연산, 저장 필요 없을때 사용
    - 바로 접근이 가능해서 빠름
    - stop 불가능

VPC(Virtual Private Cloud)

AWS 클라우드에서 논리적으로 격리된 공간을 프로비저닝하여 고객이 정의하는 가상 네트워크에서 AWS 리소스 시작 가능
  • IP 주소 범위 선택
  • 서브넷 생성
  • 라우팅 테이블 및 네트워크 게이트웨이

가상 네트워킹 환경 완벽 제어

  • VPC 별로 네트워크 구성가능
  • 각각의 VPC 에 따라 다르게 네트워크 설정 가능
  • 각각의 VPC 는 완전히 독립된 네트워크처럼 작동

기능

  • 전용 네트워크 사용 : 다른 네트워크와 상호 간섭X, 논리적으로 완전히 분리된 네트워크
  • 다양한 네트워크 토폴로지 : 고객 맞춤형 네트워크 환경 조성
  • 강력한 보안 : ACG 를 통해 서버 단계의 접근 제어, NetworkACL 을 통해 Subnet 단계의 네트워크 접근 제어
  • 외부 네트워크와의 보안 통신
  • VPC간 내부 통신

VPC 구축 과정

  • VPC의 IP 범위를 사설아이피 대역에 맞춤
    - 사설IP : 내부 네트워크 내에서 위치를 찾아갈 때 사용 - 우리집 주소 ( #퍼블릭IP ) - 안방 ( 사설IP ) -->
    - 사설 IP 대역 : 10.0.0.0 ~ 10.255.255.255, 172.16.0.0 ~ 172.31.255.255, 192.168.0.0 ~ 192.168.255.255
    - 한번 성정된 IP대역은 수정 불가, 각 VPC는 하나의 리전에 종속
  • 서브넷 을 통해 VPC를 잘게 쪼갬
    - VPC보다 더 작은 단위이기 때문에 더 작은 IP범위를 가짐
    - 서브넷을 나누어 더 많은 네트워크망을 만든다
  • 라우팅테이블 과 라우터
    - 네트워크 요청이 발생하면 데이터는 라우터로 향함
    - #라우터 : 목적지, #라우팅테이블 : 이정표
    - 라우터로 향한 데이터는 각각 정의된 라우팅테이블에 따라 작동
  • 인터넷게이트웨이 : VPC와 인터넷을 연결해주는 하나의 관문
    -
    - 목적지의 주소가 172.31.0.0 이 아니면 IGA A로 보내라는 뜻
    - 퍼블릭서브넷 : 인터넷과 연결되어 있는 서브넷
    - 프라이빗서브넷 : 인터넷과 연결되어 있지 않는 서브넷
  • 네트워크ACL 과 보안그룹
    - 방화벽 역할
    - 인바운드/아웃바운드 트래픽 보안정책 설정 가능
    - 서브넷에 설정할 수 있고 각각의 EC2 인스턴스에 적용 가능
    - 보안그룹의 우선순위가 더 높음
  • NAT게이트웨이
    - #프라이빗서브넷 이 인터넷과 통신하기 위한 아웃바운드 인스턴스
    - 프라이빗서브넷에서 외부로 요청하는 아웃바운드 트래픽을 받아 인터넷게이트웨이 와 연결

서브넷

IP 네트워크의 논리적인 영역을 부분적으로 나누 하위 망
VPC에서도 서브넷을 통해 네트워크 분리

CIDR(Classless Inter-Domain Routing)

  • IP주소 + 서브넷마스크 를 같이 표기한 것
  • ex) 192.168.50.0/24 --> 처음 24비트가 네트워크 주소, 나머지는 호스트 주소
- 인터넷상의 데이터 라우팅 효율성을 향상시키는 IP 주소 할당 방법
- 클래스 없는 도메인 간 라우팅 기법
- Address의 영역을 나눌 때 기존방식보다 유연하게 자신이 원하는 Network 주소와 Host 주소를 나눌 수 있음
- IP Address Class보다 더욱 많아진 IP Address의 요구를 충족시키기 위해서 나옴
  • VPC 내의 인스턴스 및 리소스에 할당되는 IP 주소 결정
    IP주소 : 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호
    Subnet : 하나의 IP 네트워크 주소를 네트워크 내부에서 적절히 분할하여 다수의 상호 연결된 하부 네트워크로 나누어 사용
    - 기존 IP주소를 더 잘게 쪼개 IP주소를 아끼고 관리하기 위한 방법

  • Private IP Address : Public IP Address의 개수가 한정되어 있기 때문에 더 많은 수의 디바이스를 연결하기 위해 사용

장점

  • IP주소 낭비 감소
    - 특정네트워크에 필요한 수의 IP주소를 프로비저닝
    - 라우팅 테이블 항목 줄어들음
  • 데이터 빠르게 전송
    - #라우터 에서 보다 효율적으로 IP주소를 활용해 여러 서브넷으로 구성 가능
    - 불필요한 경로를 사용하지 않아도 데이터가 대상 주소에 도달
    - VPC 생성

서브넷마스크

32비트의 숫자로 '0'의 비트는 호스트 부분을 나타내고 '1'의 비트는 네트워크 부분을 나타냄 
IP 주소를 네트워크 및 호스트 주소와 분리
  • 클래스A 네트워크
    - 255.0.0.0 의 서브넷 마스크 이용 --> 126개의 네트워크 허용, 네트워크당 호스트가 거의 1,7000만개
  • 클래스B 네트워크
    - 255.255.0.0의 서브넷 마스크 이용 --> 약 1600개의 네트워크 허용, 네트워크당 65,000개의 호스트 허용
  • 클래스C 네트워크
    - 255.255.255.0의 서브넷 마스크 이용 --> LAN 에 이용, 200만 개의 네트워크 허용, 각각 254개의 호스트 허용

S3(Simple Storage Service)

확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스
  • 저장할 수 있는 파일 수 제한 X
  • 액세스 제어 가능
  • 객체 : S3 에 저장된 데이터 하나 하나의 파일
  • 버킷 : 연관된 객체들을 그룹핑한 최상위 디렉토리
    - 버킷 단위 지역 지정 가능
    - 버킷 내의 객체에 일괄적으로 인증과 접속 제한 가능
    - 버킷 이름은 global unique
  • 버전 관리 : S3에 저장된 객체들의 변화 저장
  • 엄청난 내구성 (파일이 없어지는지 안없어지는지)
  • 가용성 (내가 서비스 기간 중 파일을 다운할 수 있는지, 사용할 수 있는지)

보안설정

  • Bucket Policy
    - 버킷 단위(파일 하나하나 세세한 설정 불가능)
    - JSON 형식
  • ACL
    - 파일 단위

CDN(Content Delivery Network)

Client의 콘텐츠 요청으로 서버에서 받아온 콘텐츠를 캐싱하고 이후 같은 요청이 왔을 때, 캐싱해 둔 것을 제공하는 서비스
서버의 부하를 낮출 수 있음
  • 사용자가 서버에서 물리적으로 멀리 떨어져 있는 경우 대용량 파일을 로드하는 데 시간이 오래 걸림 --> 웹 사이트 콘텐츠는 지리적으로 사용자와 가까운 CDN 서버에 저장되며 컴퓨터에 훨씬 빨리 도달
  • CDN 의 목적은 대기 시간을 줄이거나 네트워크 설계로 인해 발생하는 통신 지연을 줄이는 것
  • 클라이언트와 웹 사이트 서버간에 중간 서버를 두어 효율성 높임

이점

  • 페이지 로드 시간 단축
  • 대역폭 비용 절감 : 캐싱 및 최적화를 통해 오리진 서버가 제공해야 하는 데이터의 양을 줄여 비용 절감
  • 콘텐츠 가용성 제고
  • 웹 사이트 보안 강화 : 여러 중간 서버 간에 로드를 분산하여 오리진 서버에 미치는 영향을 줄임으로써 트래픽 급증 처리 가능

CloudFront : 뛰어난 성능, 보안 및 개발자 편의를 위해 구축된 #CDN 서비스

  • 높은 전송 속도 - 소프트웨어, 게임 패치 및 IoT 업데이트를 전송하도록 자동 크기 조정

엣지로케이션

  • 컨텐츠가 캐싱되고 유저에게 제공되는 시점
  • AWS가 CDN을 제공하기 위해서 만든 서비스인 CloudFront 의 캐시 서버
  • #CloudFront 를 통해 서비스하는 컨텐츠를 사용자가 요청하면 지연 시간이 가장 낮은 엣지로케이션으로 라우팅 --> 컨텐츠 전송 성능 뛰어남
    - 컨텐츠가 이미 지연 시간이 가장 낮은 엣지 로케이션에 있는 경우 #CloudFront 가 컨텐츠를 즉시 제공

CloudFront 동작 방식

CloudFront는 AWS 백본 네트워크를 통해 컨텐츠를 가장 효과적으로 서비스할 수 있는 엣지로 각 사용자 요청을 라우팅하여 컨텐츠 배포 속도를 높임
  1. 컨텐츠가 엣지로케이션 에 없는 경우
    1. 오리진서버 에서 컨텐츠를 검색
    2. 컨텐츠를 제공하는 근원에서 제공받아 전달
  2. 컨텐츠가 엣지로케이션 에 있는 경우
    1. 바로 전달

#CloudFront 장점

  • 사용자의 요청이 반드시 통과해야 하는 네트워크의 수가 줄어 성능 향상
  • 파일의 첫 바이트를 로드하는 데 걸리는 지연 시간이 줄어들고 데이터 전송 속도가 빨라진다
  • 파일(객체)의 사본이 전 세계 여러 엣지 로케이션에 유지(또는 캐시)되므로 안정성과 가용성 향상
  • 보안성 향상
    - #오리진서버 에 대한 종단 간 연결의 보안 보장 ( https )

ROUTE 53

최종 사용자를 인터넷 애플리케이션으로 라우팅하는 안정적이고 비용 효율적인 방법
가용성과 확장성이 우수한 클라우드 기반의 DNS 웹 서비스

#로드밸런싱 : 도메인을 이용해서 여러개의 서비스로 부하를 분산하는 것

#라우팅 : 네트워크에서 경로를 선택하는 프로세스, 미리 정해진 규칙을 사용하여 최상의 경로를 선택하는 프로세스

특징

  • 가용성과 확장성이 뛰어난 클라우드 기반 DNS 웹 서비스
  • 동적으로 사용자에게 노출될 DNS 레코드 타입과 값 조정
  • 각종 다양한 로드밸런싱 기능 지원
  • 사용자의 요청을 EC2, ELB, S3 버킷 등 인프라로 직접 연결 가능
  • 외부의 인프라로 라우팅

NACL(Network ACL)

1개 이상의 서브넷 내부와 외부의 트래픽을 제어하기 위한 방화벽 역할을 하는 VPC를 위한 선택적 보안 계층

ACL : Access Control Lists 액세스 제어 목록을 뜻함

Subnet 의 Access List(접근 제어 목록)을 책임짐

  • Subnet 을 오고 가는 모든 트래픽 제어

특징

  • 인바운드 규칙과 아웃바운드 규칙으로 나뉨 - 최대 20개
  • 여러 서브넷 적용 가능
    - 서브넷은 하나의 NACL 만 연결 가능
  • 허용 규칙 / 거부 규칙 생성 가능 --> 보안그룹 은 허용만 가능 - 막는건 NACL 만 가능
  • 상태 저장 X ( Stateless ) - 인바운드를 통과해도 아웃바운드의 규칙 적용 -> 반대도 마찬가지
  • 트래픽을 허용할 것인가에 대해 결정할 때 가장 낮은 번호의 규칙부터 시작하여 순서대로 규칙 수행
  • 연결된 서브넷 내 모든 인스턴스에 자동적으로 적용

SECURITY GROUP

인스턴스를 위해 들어오고(inbound) 나가는(outbound) 트래픽을 제어해주는 가상 방화벽 역할

서브넷 단이 아닌, 인스턴스 단에서 역할

특징

  • 허용규칙만 지원
  • stateful : 어떤 규칙과도 관계없이, 반환 트래픽 자동 허용
  • 트래픽을 허용할 것인가에 대한 결정 전 모든 규칙 평가
  • 인스턴스 를 시작할 때 보안그룹을 명시하거나 나중에 인스턴스 와 보안그룹 을 연결할 때에만 적용
profile
나는 허준기

0개의 댓글