AWS 클라우드 서비스

김도훈 - DevOps Engineer·2022년 6월 11일
0

AWS

목록 보기
3/4
post-thumbnail

Saas(Software-as-a-Service)

  • SaaS 애플리케이션이 클라우드 서버에 올라온 상태에서 호스팅 형태로 제공

  • 필요한 애플리케이션이 구축된 상태라 구축된 서비스를 임대한다는 개념

PaaS(Platform-as-a-Service)

  • 자체 애플리케이션을 구축하는 데 필요한 것에 비용을 지불하는 서비스 형태로 제공

  • 개발 도구, 인프라, 운영 체제를 포함한 애플리케이션 구축에 필요한 모든 것을 인터넷을 통해 제공

  • 집을 짓는 데 필요한 모든 도구와 장비를 빌리는 것

IaaS(Infrastructure-as-a-Service)

  • 클라우드 제공 업체로부터 필요한 서버와 저장소를 임대

  • 클라우드 인프라로 자체 애플리케이션을 직접 구축하고 개발해야 함

  • IaaS는 기업이 원하는 건물을 지을 수 있는 토지를 임대하는 것과 같음

FaaS(Function-as-a-Service)

  • 서버리스 컴퓨팅으로 환경을 구성하는 개념으로 애플리케이션을 필요할 때만 실행되는 더 작은 구성 요소

  • 식사할 때 식당에 대해, 잘 때 침실에 대해, TV를 볼 때 거실에 대해 비용을 지불하고 이러한 방을 사용할 때 임대료를 지불하지 않아도 됨

IAM (Indentity and Access Management)

  • AWS 리소스에 대한 엑세스 관리

IAM 핵심 3가지

  • 사용자(User)
    • 사용자가 IAM에서 생성 및 엑세스 AWS 리소스에 대한 필요한 권한을 부여할 수 있음
  • 그룹(Group)
    • 사용자를 그룹에 추가 할 수 있음. 이제 개별 사용자 대신 그룹에 대한 권한을 부여할 수 있음
  • 정책(Policy)
    • 정책은 사용자 또는 그룹에 대한 권한을 정의하는 JSON문서임
  • 역할(Roles)
    • 역할은 일반적으로 AWS 서비스에 엑세스 할 수 있는 임시 권한을 부여하는 데 사용
    • 예를 들어 S3 권한이 있는 역할을 EC2 서비스에 연결함

VPC(Virtual Private Cloud) 정의

  • 클라우드 서비스 내 논리적으로 독립된 가상의 네트워크임

  • 사용자 IP대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이드웨이, 보안 그룹, 네트워크 ACL 등을 생성/수정, 제어할 수 있음

VPC 종류

  • 기본 VPC
    • 생성 주체 : AWS
    • AWS 리소스 : 정해진 리소스 미리 생성
    • 리전별 생성 수 : 1개
  • 사용자 VPC
    • 생성 주체 : 사용자
    • AWS 리소스 : 수동으로 생성
    • 리전별 생성 수 : 최대 5개(기본값)

VPC 특징

  • 확장성 : 클라우드 서비스에서 쉽게 VPC 자원을 생성/수정/삭제 가능, 관리의 편의성 제공
  • 보안 : 인스턴스, 서브넷에서 인바운드와 아웃바운드 필터링을 수행할 수 있게 보안그룹과 네트워크 ACL을 제공함
  • 사용자 중심 : 사용자가 원하는대로 손 쉽게 제어할 수 있으며, 네트워크 지표와 모니터링 도구를 활용하여 관리에 시각화를 더할 수 있음

VPC 생성

서브넷 생성

인터넷 게이드웨이 생성

라우팅 테이블 생성

라우팅 테이블 서브넷 연결 편집

라우팅 테이블 라우팅 편집

보안 그룹과 네트워크 ACL

보안 그룹
  • 인스턴스 레벨의 접근 제어를 실행

  • EC2 인스턴스나 ALB 등과 같은 특정 대상에 대한 접근 제어 정책

  • Stateful 접근 제어 동작

    • 이전 상태 정보를 기억하고 있으며, 인바운드로 들어오는 트래픽이 허용되면 아웃바운드로 돌아갈 때 규칙 상관 없이 적용
네트워크 ACL
  • 서브넷 레벨의 접근 제어를 수행

  • VPC 내부에 생성한 서브넷 네트워크에 대한 접근 제어 정책

  • Stateless 접근 제어 동작

    • 아웃바운드 규칙을 허용할지 거부할지 결정

부하 분산(Elastic Load Balancing)

  • 로드 밸런싱이란?

    • 인스턴스의 상태를 확인하고 데이터를 분산하여 전달하는 네트워크 역할을 수행
로드 밸런싱의 특징
  • 고가용성

    • 트래픽을 다수의 대상으로 분산하여 고가용성을 유지
  • 상태 확인

    • 대상 그룹에 대한 keeplive 를 통해 주기적으로 상태를 확인
  • 보안 기능

    • 보안 그룹을 적용하여 보안 옵션을 부여할 수 있음.
  • 4계층/7계층 로드밸런싱

    • HTTP/HTTPS의 7계층의 애플리케이션 로드 밸런싱과 TCP/UDP의 4계층 로드 밸런싱을 사용할 수 있음.
  • 운영 모니터링

    • ELB 애플리케이션 성능을 실시간으로 모니터링할 수 있음

Auto Scaling

  • 갑자기 많은 트래픽이 발생했을 경우 준비된 EC2 기반의 서버를 여러 대의 서버로 서비스를 하여, 서비스의 가용성을 유지하게 됨

  • 단순하게 늘리는 것이 아니라, 트래픽의 용량 조건에 따라 서버의 수를 자동으로 늘리고 줄이는 자동 조정을 하게 됨

클라우드 서비스 로그 이해

클라우드 자원별 로그
  • EC2 생성/삭제, S3 스토리지 로그, 데이터베이스 로그, 서버리스 자원 로그, 컨테이너 로그 등

  • 각 자원별로 Colud Watch 를 이용하여 확인 및 통합 가능

  • Colud Watch 에이전트를 이용하여 EC2의 로그를 확장해서 통합 분석 가능

네트워크 트래픽 로그
  • 가상 네트워크 VPC Flow 로그

  • 각 VPC 별로 플로우 로그를 생성하여 관리

자원 이벤트 로그
  • AWS SDK, CLI를 이용한 API 로그 관리

  • API를 호출한 IP 주소와 호출한 사용자 계정 추적 가능

비용 이벤트 로그
  • 클라우드 서비스를 이용할 때 각 자원별/태그별 비용 확인

  • 정해진 예상 금액 이상으로 사용할 때 경고 메시지 기능

profile
Email:ehgns5669@gmail.com

0개의 댓글