본문 바로가기

PYTHON-BACK

#파이썬 24.09.24_AWS 기초 서비스 이론

728x90

AWS(Amazon Web Service)

1. AWS 개요

1.1 AWS란?

  • AWS(Amazon Web Services)
    • 아마존에서 제공하는 클라우드 컴퓨팅 서비스 플랫폼
    • 2006년에 처음 출시된 이후, 전 세계적으로 수많은 기업과 개발자들이 사용 중
    • 다양한 컴퓨팅 자원, 저장소, 데이터베이스, 네트워킹, 분석, 인공지능, 사물인터넷(IoT) 등을 포함한 200개 이상의 종합적인 서비스를 제공함

1.2 AWS 클라우드 인프라 구성요소

1.2.1 리전(Region)

  • 전 세계에 분산된 물리적 데이터 센터의 집합으로 AWS 인프라의 지리적 위치를 나타냄
  • 각 리전은 지리적으로 분리되어 있으며, 높은 가용성과 내결함성을 제공할 수 있도록, 그리고 다양한 비즈니스 요구를 충족할 수 있도록 설계됨
  • 각 리전은 물리적으로 분리된 여러 데이터 센터(가용 영역, Availability Zone)로 구성되며, 각 가용 영역은 독립적인 전력, 냉각 및 네트워크 연결을 갖춘 하나 이상의 데이터 센터로 이루어짐
  • AWS 리전과 가용 영역을 적절히 활용하면 높은 가용성과 내결함성을 갖춘 애플리케이션을 구축할 수 있음
  • 현재 AWS는 전 세계에 30개 이상의 리전을 운영하고 있음

  • 목적
    • 사용자에게 가까운 위치에서 서비스를 제공하여 네트워크 지연 시간을 최소화
    • 데이터 주권 및 규제 요구 사항 충족
    • 예시: 서울(ap-northeast-2), 도쿄(ap-northeast-1), 버지니아(us-east-1) 등
  • 특징
    • 리전 간에는 데이터 전송이 제한됨
    • 각 리전은 독립적으로 운영되어 높은 내결함성과 안정성을 제공함
  • 리전 선택 시 고려 사항
    • 지연 시간 (Latency): 사용자와 가까운 리전을 선택하여 네트워크 지연 시간을 최소화할 수 있음
    • 법적 요구 사항 및 규제 준수: 데이터 주권 및 규정 준수를 위해 특정 리전을 선택해야 할 수 있음
    • 서비스 가용성: 일부 서비스는 특정 리전에서만 제공될 수 있으므로, 필요한 서비스가 제공되는 리전을 선택해야 함
    • 비용: 리전 간 데이터 전송 비용이 발생할 수 있으므로, 비용을 고려하여 리전을 선택
 

1.2.2 가용영역(Availability Zone, AZ)

  • 리전 내에 위치한 독립적인 데이터 센터 그룹을 의미함
  • 각 가용 영역은 물리적으로 분리되어 있어, 하나의 가용 영역에서 문제가 발생하더라도 다른 가용 영역에 영향을 미치지 않음

  • 목적
    • 고가용성을 보장하기 위해 리전 내의 여러 가용 영역에 애플리케이션 배포
  • 특징
    • 각 리전은 최소 2개 이상의 가용 영역으로 구성됨
    • 각 가용 영역은 독립적인 전력, 냉각 및 네트워크 연결을 갖추고 있어 하나의 가용 영역에 문제가 발생해도 다른 가용 영역에 영향을 미치지 않음
    • 가용 영역 간에는 고속 전용 네트워크로 연결되어 있음

1.2.3 엣지 로케이션(Edge Location)

  • 전 세계에 분산된 데이터 센터로 CDN(Content Delivery Network, 콘텐츠 전송 네트워크)을 이루는 캐시서버
    • CDN(Content Delivery Network, 콘텐츠 전송 네트워크)
      • 웹 콘텐츠를 전달하기 위해 최적화된 네트워크
      • 웹 콘텐츠가 저장된 서버 외에 다른 서버에 콘텐츠를 캐시해두고 사용자와 가까운 위치에 있는 서버가 대신 전달하도록하여 접속량을 분산시킴
      • 결과적으로 접속량이 급증해도 안정적으로 서비스를 제공할 수 있음
      • 대표적인 클라우드 CDN 서비스
        • Amazon CloudFront
        • MS Azure CDN
  • 사용자에게 더 가까운 위치에서 콘텐츠를 제공하여 지연 시간을 최소화하고 성능을 향상시키는 역할을 수행함
  • 주로 CDN 서비스인 Amazon CloudFront와 DNS 서비스인 Amazon Route 53을 지원함
  • 리전에 속한 '리전 엣지 캐시'를 통해 데이터 속도를 개선함
    • 1단계
      • 사용자가 브라우저를 통해 이미지 요청
    • 2단계
      • DNS 서버에 IP주소 요청
    • 3단계
      • 엣지 로케이션 주소의 라우팅
      • 이때 엣지 로케이션은 일반적으로 지연 시간이 가장 적고 가까운 엣지 로케이션의 주소를 알려줌
    • 4단계
      • 전달받은 주소로 데이터 요청
    • 5단계
      • 사용자가 요청하는 파일이 엣지 로케이션에 저장되어 있다면 단계를 생략하고 바로 9단계로 이동하여 사용자에게 데이터를 전달
    • 6단계
      • 데이터가 없는 경우 서버에 데이터 요청
    • 7단계
      • 데이터를 엣지 로케이션에 전달
    • 8단계
      • 데이터가 도착하면 사용자에게 전달
      • 이후 다른 사용자가 해당 파일을 요청하면 캐시에 데이터를 추가

  • 주요 특징
    • 콘텐츠 캐싱
      • Edge Location은 자주 요청되는 콘텐츠를 캐시하여, 사용자에게 더 빠르게 전달함
      • 예를 들어, 웹 페이지, 이미지, 비디오 등의 콘텐츠가 여기에 저장됨
      • 장점
        • 콘텐츠를 원본 서버에서 직접 가져오는 대신, 가까운 Edge Location에서 제공함으로써 로드 시간을 단축하고 네트워크 부하를 줄임
    • 글로벌 분포
      • AWS는 전 세계에 수백 개의 Edge Location을 운영하고 있으며, 이를 통해 사용자와 가장 가까운 위치에서 콘텐츠를 제공할 수 있음
      • 장점
        • 글로벌 사용자에게 일관된 성능을 제공함
        • 지리적 위치에 관계없이 빠른 응답 시간을 보장함
    • CloudFront와의 통합
      • Amazon CloudFront: Edge Location을 활용하여 콘텐츠를 전 세계 사용자에게 빠르게 전달하는 CDN 서비스
      • CloudFront는 동적 및 정적 콘텐츠 모두를 캐시하여 성능을 최적화함
      • 장점
        • 웹 애플리케이션, API, 비디오 스트리밍 서비스 등 다양한 용도로 사용될 수 있음
    • Route 53과의 통합
      • Amazon Route 53은 DNS(Domain Name System) 서비스로, Edge Location을 통해 빠르고 안정적인 DNS 쿼리 응답을 제공함
      • 장점
        • 도메인 이름을 IP 주소로 변환하는 과정을 최적화하여, 웹사이트와 애플리케이션의 가용성과 성능을 향상시킴

  • Edge Location의 장점
    • 낮은 지연 시간: 사용자와 가까운 위치에서 콘텐츠를 제공하여 네트워크 지연 시간을 최소화함
    • 높은 가용성: 전 세계에 분산된 인프라를 통해 높은 가용성과 신뢰성을 제공함
    • 확장성: 필요에 따라 쉽게 확장할 수 있어, 트래픽 증가에도 안정적인 서비스를 유지할 수 있음

1.2.4 로컬 존(Local Zones)

  • 특정 도시나 지역에 위치한 AWS 인프라
  • 특정 지역 내에서 지연 시간을 최소화하기 위해 AWS 서비스를 제공하는 추가적인 데이터 센터
  • 주로 대도시 근처에 위치하여, 최종 사용자에게 가까운 위치에서 컴퓨팅 및 스토리지 리소스를 제공함

  • 목적
    • 최종 사용자에게 더 가까운 위치에서 컴퓨팅 및 스토리지 리소스를 제공하여 지연 시간 감소
  • 특징
    • 로컬 존은 특정 애플리케이션의 성능을 최적화하기 위해 사용됨

1.2.5 AWS Outposts

  • 온프레미스 환경에서 AWS 인프라와 서비스를 사용할 수 있게 해 주는 솔루션
  • 이를 통해 AWS 리전에서 사용하는 것과 동일한 프로그래밍 인터페이스를 사용하여 로컬 데이터 센터에서 애플리케이션을 구축하고 실행할 수 있음

  • 목적
    • 짧은 지연 시간과 로컬 데이터 처리가 필요한 워크로드를 지원
  • 특징
    • 짧은 지연 시간과 로컬 데이터 처리가 필요한 워크로드에 적합함

1.2.6 Wavelength Zones

  • 통신 사업자의 5G 네트워크 엣지에 배포된 AWS 인프라
  • 5G 네트워크 엣지에 AWS 컴퓨팅 및 스토리지 서비스를 배포하여, 5G 디바이스와 최종 사용자에게 매우 짧은 지연 시간을 제공하는 애플리케이션을 빌드할 수 있게 함

  • 목적
    • 5G 디바이스와 최종 사용자에게 매우 짧은 지연 시간을 제공하는 애플리케이션을 빌드할 수 있게 함
  • 특징
    • 통신 사업자의 5G 네트워크 엣지에 배포되어 초저지연 애플리케이션을 지원함

1.3 AWS의 주요 서비스

1.3.1 컴퓨팅

  • 클라우드 환경에서 가상 서버를 중심으로 컴퓨터 인프라를 이용하는 서비스
  • 종류
    • EC2 (Elastic Compute Cloud)
      • 종량제 형태로 과금이 되는 가상 서버를 제공하는 서비스
      • 컴퓨터 리소스에 대해 전반적인 관리를 도와주며 새로운 서버를 단 몇 분만에 구축할 수 있도록 도와줌
      • 사용자는 필요한 만큼의 가상 서버를 생성하고, 운영체제와 애플리케이션을 설치하여 원하는 작업을 수행할 수 있으며 필요한 만큼의 컴퓨팅 자원을 유연하게 사용할 수 있음
      • 가동중인 EC2 가상서버는 EC2 인스턴스라고하는 개별 인스턴스에 대한 총체적인 권한을 받고, AWS는 이 인스턴스로부터 시작함
        • 인스턴스는 AWS에 구축된 1대의 가상 서버를 의미함
      • AWS 컴퓨팅 서비스는 인스턴스를 시작할 때 지정하는 유형에 따라 인스턴스에 사용되는 호스트 컴퓨터의 하드웨어가 결정됨
      • 각 인스턴스 유형은 서로 다른 컴퓨팅, 메모리, 스토리지 용량을 제공하며, 이 용량에 따라 서로 다른 인스턴스 패밀리로 분류
      • 인스턴스에서 실행하려는 애플리케이션 또는 소프트웨어의 요구사항에 따라 인스턴스 유형을 선택하게됨
      • 용도: 웹 서버, 애플리케이션 서버, 데이터 처리 등
      • 장점: 유연한 확장성, 높은 가용성, 다양한 인스턴스 타입 제공

    • 람다(Lambda)
      • 특정한 이벤트를 통해 입력 인자가 발생하면 연산 과정으로 출력 인자를 바꾸는 이벤트 기반의 컴퓨팅 서비스
      • EC2와 달리 오직 소스코드만 사용하므로 인프라에 대한 관리가 필요하지 않은 완전 관리형 컴퓨팅 서비스
      • 즉, 서버를 관리할 필요 없이 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스
      • 용도: 이벤트 기반 애플리케이션, 데이터 처리, 실시간 파일 처리 등

    • ECS
      • AWS에서 제공하는 도커 컨테이너 서비스
      • 도커: 서버 가상화 기술 중 하나로 최근 가장 주목받고 있는 서비스

    • 라이트세일(Lightsail)
      • 완전 관리형 가상 서버 서비스
      • AWS에서 가상 서버를 구축할 수 있는 가장 손쉬운 서비스
      • 별도의 소스코드 업로드나 설정 없이 클릭 몇 번만으로 서버를 구축할 수 있게 해줌

    • 빈스톡(Beanstalk)
      • EC2의 설정을 매우 쉽게 할 수 있도록 도와주는 서비스
      • 서버의 런타임부터 운영체제 환경까지 관리해줌
      • 개발자는 소스코드만 업로드하여 바로 운영할 수 있음

1.3.2 저장소(Storage)

  • 파일을 보관하거나 관리하는 저장 장소
  • 종류
    • S3 (Simple Storage Service)
      • AWS에서 가장 역사가 오래된 서비스로 다른 상용 클라우드에 비해 월등한 성능을 보여주는 스토리지 서비스
      • 뛰어난 안정성과 보안이 완벽한 스토리지를 쉽게 만들 수 있게 해 주며 서비스 운영 시 생성되는 이미지, 동영상, 오디오 등의 파일을 저장할 수 있게 함
      • 객체 스토리지 서비스로, 대규모 데이터를 안전하게 저장하고 관리할 수 있음
      • 뛰어난 내구성과 확장성을 제공하여, 데이터 백업과 복구, 콘텐츠 배포 등에 사용됨
      • 용도: 데이터 백업, 정적 웹사이트 호스팅, 대규모 파일 저장
      • 장점: 높은 내구성, 무제한 확장성, 강력한 보안

    • 글래시어(Glacier)
      • S3와는 다른 목적으로 제공되는 스토리지 서비스의 하나
      • S3 서비스는 언제든 빠른 시간 내에 트래픽을 처리할 수 있게 만들어졌기 때문에 항상 리소스를 대기하는 상태로 유지함
      • 백업 데이터와 같이 만약을 위해 저장하지만 저장된 리소스들의 사용 빈도가 낮은 경우에 사용하기 적합한 서비스
      • 저렴한 저장 비용을 자랑하지만 대신 트래픽 요금은 S3에 비해서 다소 높음

    • 스토리지 게이트웨이(Storage Gateway)
      • 기존의 온프레미스 환경과 AWS를 연결해 주는 게이트웨이 서비스
      • 과거에 사용되었던 온프레미스 환경과 사용자를 직접 연결하는 방식이 아니라 AWS를 통해서 파일로 연결되기 때문에 더 높은 보안성과 신뢰성을 기대할 수 있음
        • 단 AWS를 통해서 처리되므로 당연히 과금됨
      • 기존 데이터들을 클라우드 환경으로 옮기지 않고도 바로 적용이 가능함

    • EBS (Elastic Block Store)
      • EC2 인스턴스에 연결하여 사용할 수 있는 블록 스토리지 서비스
      • EC2의 하드디스크, SSD 스냅샷을 통해 언제든 EC2를 백업할 수 있고, 문제가 생겼을 때 복원할 수도 있음
      • 주요 특징
        • 블록 스토리지
          • EBS는 블록 단위로 데이터를 저장하여, 파일 시스템, 데이터베이스, 애플리케이션 등 다양한 용도로 사용할 수 있음. 이는 로컬 하드 드라이브처럼 작동함
          • 높은 성능과 낮은 지연 시간을 제공하여, 데이터베이스와 같은 I/O 집약적인 애플리케이션에 적합함
        • 볼륨 유형
          • SSD 지원 볼륨
            • 고성능을 요구하는 트랜잭션 워크로드에 적합함
            • 예: 프로비저닝된 IOPS SSD(io2, io1), 범용 SSD(gp3, gp2)
          • HDD 지원 볼륨
            • 처리량 집약적인 워크로드에 적합함
            • 예: 처리량 최적화 HDD(st1), 콜드 HDD(sc1)
        • 확장성 및 유연성
          • EBS 볼륨은 필요에 따라 크기와 성능을 조정할 수 있음
          • 탄력적 볼륨 기능을 통해 가동 중지 없이 용량을 늘리거나 성능을 조정할 수 있음
          • 장점: 변화하는 비즈니스 요구에 맞춰 유연하게 대응할 수 있습니다.
        • 스냅샷
          • EBS 스냅샷은 볼륨의 특정 시점 백업을 생성함
          • 데이터 복구 및 마이그레이션에 사용됨
          • 장점
            • 스냅샷을 통해 데이터를 안전하게 백업할 수 있음
            • 필요 시 다른 리전으로 복사하여 재해 복구를 지원함
        • 데이터 보호 및 보안
          • EBS는 데이터 암호화를 지원하여, 저장 데이터와 전송 중 데이터를 보호함
          • AWS Key Management Service(KMS)를 사용하여 암호화 키를 관리할 수 있음
          • 장점: 높은 수준의 데이터 보안을 제공하여, 민감한 데이터를 안전하게 보호할 수 있음
        • 가용성 및 내구성
          • EBS 볼륨은 가용 영역 내에서 자동으로 복제되어, 단일 구성 요소의 장애로 인한 데이터 손실을 방지함
          • 장점: 높은 내구성과 가용성을 제공하여, 중요한 애플리케이션의 안정적인 운영을 보장함
      • 용도: 데이터베이스 스토리지, 파일 시스템, 애플리케이션 데이터 저장

1.3.3 데이터베이스

  • AWS는 RDBMS뿐만아니라 빅데이터 등에 사용되는 No-SQL 서비스도 제공함
  • 종류
    • RDS(Relational Database Service)
      • 전통적인 관계형 데이터베이스(RDBMS)를 구축하는 서비스
      • MySQL, PostgreSQL, Oracle, SQL Server 등 6개의 RDBMS 데이터베이스 엔진을 지원함
      • 시간이 많이 드는 데이터베이스 관리 작업을 자동화하여 사용자가 데이터베이스 운영에 집중할 수 있도록 도와줌
      • 높은 가용성을 자랑하며 자동으로 백업과 복원 등을 지원함
      • 용도: 웹 애플리케이션 백엔드, 데이터 분석, ERP 시스템
      • 장점: 자동 백업, 소프트웨어 패치, 확장성

    • 다이나모 DB(DynamoDB)
      • No-SQL 기반의 완전 관리형 데이터베이스 서비스
      • RDS와 동일하게 백업, 복원, 스케일링과 같은 작업을 자동으로 수행함
      • 빠르고 유연한 성능을 제공하며 저렴한 비용이 장점
      • 주로 네트워크의 로그 데이터나 게임, IoT처럼 대량의 데이터 발생 시 저장하기에 적합함
      • 용도: 모바일 애플리케이션, 게임, IoT 애플리케이션

    • 엘라스틱캐시(Elasticache)
      • 메모리에 데이터를 저장하여 더욱 빠르게 입출력이 가능한 데이터베이스 서비스
      • 저장장치 용량의 크기는 성능에 큰 영향이 없지만 메모리 용량의 크기는 성능에 큰 영향을 미침
        • RAM과 같은 메모리가 하드디스크에 비해 더 빠른 입출력을 지원하여 컴퓨터 연산 작업을 수행하기 때문
      • RDS, 다이나모 DB가 SSD 영역에서 입출력이 수행되는데 반해 엘라스틱캐시는 메모리에 데이터를 저장하므로 더욱 빠른 입출력이 가능함

    • 레드 시프트(Red Shift)
      • 완전 관리형 SQL 데이터 웨어 하우스
      • 대용량의 정형 데이터를 처리하는데 사용됨
      • 페타바이트 규모의 데이터 쿼리를 저렴한 가격에 유지 보수 및 운영할 수 있게 해줌
        • 비트(bit) = 0, 1
        • 바이트(byte) = 8 bit
        • 킬로바이트(KB, Kilo byte) = 1024 byte
        • 메가바이트(MB, Mega byte) = 1024 KB
        • 기가바이트(GB, Giga byte) = 1024 MB
        • 테라바이트(TB, Tera byte) = 1024 GB
        • 페타바이트(PB, Peta byte) = 1024 TB
        • 엑사바이트(EB, Exa byte) = 1024 PB
        • 제타바이트(ZB, Zeta byte) = 1024 EB
        • ...

1.3.4 네트워킹

  • AWS에서 아키텍처 3계층에 대한 서비스를 다룸
  • 간단히 인터넷 연결과 내부 인터넷(인트라넷)에 대한 서비스를 담당함
  • 종류
    • 가상 사설 클라우드(Virtual Private Cloud, VPC)
      • 가상 사설망(Virtual Private Network, VPN) 구축지원 서비스
        • 가상 사설망
          • 공용 네트워크(예: 인터넷)를 통해 개인 네트워크를 확장하여, 데이터를 안전하게 전송할 수 있도록 하는 기술
          • 실제 물리적으로 다른 장비를 사용하거나 떨어져 있지는 않지만 논리적으로 실제 다른 네트워크에 있는 것처럼 분리해 주는, 가상이라는 개념을 사용한 전용 네트워크
          • 주로 보안과 프라이버시를 강화하기 위해 사용됨
          • 주요 특징
            • 암호화
              • VPN은 데이터를 암호화하여 전송하며 이를 통해 데이터가 전송 중에 가로채지더라도 내용을 알 수 없게 만듦
              • 장점: 해커나 기타 제3자가 데이터를 엿보는 것을 방지함
            • IP 주소 숨기기
              • VPN을 사용하면 사용자의 실제 IP 주소가 숨겨지고, VPN 서버의 IP 주소가 대신 표시됨
              • 장점: 온라인 활동을 익명으로 유지할 수 있으며, 위치 기반 제한을 우회할 수 있음
            • 보안 터널링
              • VPN은 보안 터널을 통해 데이터를 전송함
              • 이 터널은 데이터를 안전하게 보호하며, 외부에서 접근할 수 없도록 함
              • 장점: 공용 Wi-Fi 네트워크에서도 안전하게 인터넷을 사용할 수 있음
          • 장점
            • 보안 강화: 데이터를 암호화하여 전송하므로, 보안이 강화됨
            • 프라이버시 보호: IP 주소를 숨기고 온라인 활동을 익명으로 유지할 수 있음
            • 접근성 향상: 지역 제한을 우회하여 다양한 콘텐츠에 접근할 수 있음
      • 가상 네트워크를 구성하여 AWS 리소스를 안전하게 관리할 수 있게 함
      • 서비스의 보안 수준을 결정하거나 EC2, RDS와 같은 AWS 서비스드레 적합한 권한이 있는 사용자들만 접속할 수 있게 함
      • VPC를 통해 네트워크 설정을 사용자 정의하고, 보안 그룹과 네트워크 ACL을 사용하여 접근을 제어할 수 있음
      • 용도: 격리된 네트워크 환경, 네트워크 보안, 하이브리드 클라우드 설정
      • 장점: 네트워크 격리, 유연한 네트워크 구성, 강력한 보안 제어

  • 라우트53(Route53)
    • AWS에서 제공하는 클라우드 DNS(Domain Name System) 서비스
      • DNS 서비스
        • 우리가 브라우저의 주소창에 컴퓨터의 IP 주소를 입력할 필요없이 www.naver.com이나 www.google.com과 같은 도메인 주소로 접속할 수 있도록 해 주는 서비스
    • 높은 가용성과 확장성을 제공하며, 도메인 이름을 IP 주소로 변환하는 작업을 수행
    • 도메인을 AWS 리소스와 연결할 때 사용됨
    • 주요 기능 및 특징
      • DNS 관리
        • 도메인 이름을 등록하고 관리할 수 있는 기능 제공
        • 이를 통해 웹사이트와 애플리케이션의 트래픽을 효율적으로 라우팅할 수 있음
      • 트래픽 라우팅 정책
        • 다양한 라우팅 정책을 지원하여 사용자의 요구에 맞게 트래픽을 분산시킬 수 있음
        • 예: 지리적 위치 기반 라우팅, 가중치 기반 라우팅, 지연 시간 기반 라우팅 등
      • 건강 확인 및 장애 조치
        • 오리진 서버의 상태를 모니터링
        • 문제가 발생할 경우 자동으로 트래픽을 다른 건강한 리소스로 전환
      • 도메인 등록
        • Route 53를 통해 도메인 이름을 등록하고 관리할 수 있음
        • 이를 통해 AWS 리소스와 쉽게 통합할 수 있음
    • 작동 방식
      • 도메인 등록
        • Route 53를 통해 도메인 이름을 등록하고, DNS 설정을 구성
      • DNS 쿼리 처리
        • 사용자가 도메인 이름을 요청하면 Route 53는 해당 도메인의 DNS 레코드를 조회하여 IP 주소를 반환
      • 트래픽 라우팅
        • 설정된 라우팅 정책에 따라 트래픽을 적절한 리소스로 분산시킴
    • Route 53는 AWS의 다른 서비스와 통합되어, S3 버킷, CloudFront 배포, Elastic Load Balancer 등과 함께 사용할 수 있으며, 이를 통해 웹사이트의 성능을 최적화하고, 가용성을 높일 수 있음

  • 클라우드 프론트(CloudFront)
    • AWS에서 제공하는 콘텐츠 전송 네트워크(CDN) 서비스
    • 세계 어디서나 빠른 속도로 안전하게 이미지나 파일과 같은 정적 콘텐츠들을 전달하여 최적화할 수 있게 만듦
    • 전 세계에 분산된 엣지 로케이션을 통해 정적 및 동적 웹 콘텐츠를 사용자에게 빠르게 배포함
    • 주요 기능 및 특징
      • 빠른 콘텐츠 전송
        • 사용자의 요청을 지연 시간이 가장 낮은 엣지 로케이션으로 라우팅하여 콘텐츠를 빠르게 제공함
      • 캐싱
        • 자주 요청되는 콘텐츠를 엣지 로케이션에 캐싱하여 성능을 향상시키고 오리진 서버의 부하를 줄임
      • 보안
        • 기본적인 보안 기능을 제공
        • AWS Shield와 통합하여 DDoS 공격으로부터 보호할 수 있음
      • 유연한 오리진서버
        • Amazon S3 버킷, MediaPackage 채널, HTTP 서버 등 다양한 오리진 서버를 지원
    • 작동 방식
      • 요청 라우팅
        • 사용자가 콘텐츠를 요청하면 CloudFront는 가장 가까운 엣지 로케이션으로 요청을 라우팅함
      • 캐싱 확인
        • 엣지 로케이션에 요청된 콘텐츠가 캐싱되어 있는지 확인
        • 캐싱되어 있다면 즉시 콘텐츠를 제공
      • 오리진 서버 요청
        • 캐싱되어 있지 않은 경우, 오리진 서버에서 콘텐츠를 가져와 엣지 로케이션에 캐싱한 후 사용자에게 제공
    • 용도: 웹사이트 콘텐츠 배포, 비디오 스트리밍, 소프트웨어 배포
    • CloudFront를 사용하면 웹사이트 로딩 속도를 개선하고, 오리진 서버의 트래픽 부하를 줄이며, 전 세계 사용자에게 안정적으로 콘텐츠를 제공할 수 있음

1.3.5 데이터 분석

  • 데이터 분석은 많은 비용과 시간이 소요되는 분야 중 하나
  • 가공되지 않은 데이터들은 먼저 분석할 수 있는 형식으로 다시 가공해야 하고, 이렇게 가공된 데이터들을 바탕으로 학습을 시키거나 분석을 수행해야 하므로 많은 시간과 컴퓨팅 파워가 필요함
  • AWS는 이러한 일련의 과정을 쉽게 수행할 수 있도록 다양한 데이터 분석 서비스를 제공함

 

  • 종류
    • 레드 시프트(Red Shift)
      • AWS에서 제공하는 완전 관리형 클라우드 데이터 웨어하우스 서비스
      • 대규모 데이터 세트를 빠르게 분석할 수 있도록 설계되었으며, SQL을 사용하여 데이터를 쿼리할 수 있음
      • 주요 기능 및 특징
        • 확장성
          • 필요에 따라 컴퓨팅 리소스를 쉽게 확장할 수 있음
        • 고성능
          • 컬럼형 저장소와 데이터 압축을 통해 쿼리 성능을 최적화함
        • 비용 효율성
          • 사용한 만큼만 비용을 지불하는 구조로, 비용 효율적
        • 통합
          • 다양한 데이터 소스와 통합하여 데이터를 쉽게 로드하고 분석할 수 있음
      • 작동 방식
        • 데이터 로드
          • 데이터를 Amazon S3, DynamoDB, 또는 다른 데이터 소스에서 Redshift로 로드함
        • 쿼리 실행
          • SQL을 사용하여 데이터를 쿼리하고 분석
          • Redshift는 대규모 병렬 처리(MPP) 아키텍처를 사용하여 쿼리 성능을 향상시킴
        • 결과 분석
          • 쿼리 결과를 다양한 비즈니스 인텔리전스(BI) 도구와 통합하여 시각화하고 분석할 수 있음
      • 사용 사례
        • 비즈니스 인텔리전스
          • 대규모 데이터 세트를 분석하여 비즈니스 인사이트를 도출함
        • 데이터 웨어하우징
          • 다양한 소스에서 데이터를 통합하고 저장하여 분석에 활용
        • 실시간 분석
          • 실시간 데이터 스트림을 분석하여 즉각적인 인사이트를 제공
      • 용도: 비즈니스 인텔리전스, 데이터 분석, 데이터 웨어하우징
      • Amazon Redshift는 데이터 집합의 크기와 상관없이 오늘날 사용되는 것과 동일한 SQL 기반 도구 및 비즈니스 인텔리전스 애플리케이션을 사용하여 쿼리 성능을 가속화함

    • 퀵사이트(QuickSight)
      • 데이터를 시각화하는 서비스
      • AWS 데이터베이스나 외부에서의 데이터를 분석하며 시각적인 인사이트를 제공함

    • 아테나(Athena)
      • 서버리스 기반의 대화형 SQL 쿼리 서비스
      • 서버리스 서비스이므로 따로 구축해야 할 서버가 필요하지 않고 S3에 저장된 데이터를 표준 SQL문을 통해 원하는 결과를 얻을 수 있음
      • 주요 기능 및 특징
        • 서버리스
          • 인프라를 관리할 필요 없이 즉시 쿼리를 실행할 수 있음
        • 유연성
          • 다양한 데이터 형식을 지원함
          • S3에 저장된 모든 데이터에 대해 쿼리를 실행할 수 있음
        • 비용 효율성
          • 쿼리한 데이터 양에 따라 비용을 지불함
        • 통합
          • AWS Glue와 통합하여 데이터 카탈로그를 관리할 수 있음
      • 작동 방식
        • 데이터 준비
          • S3에 데이터를 저장
        • 쿼리 작성
          • Athena 콘솔에서 SQL 쿼리를 작성
        • 결과 확인
          • 쿼리 결과를 몇 초 안에 확인할 수 있음
          • 결과를 CSV, JSON 등 다양한 형식으로 내보낼 수 있음
      • 사용 사례
        • 로그 분석
          • 웹 서버 로그, 애플리케이션 로그 등을 분석하여 인사이트 도출
        • 데이터 레이크 분석
          • S3에 저장된 대규모 데이터 레이크를 쿼리하여 필요한 데이터 추출
        • 비즈니스 인텔리전스
          • 다양한 데이터 소스를 통합하여 비즈니스 인사이트

    • 클라우드 서치(Cloud Search)
      • 완전 관리형 검색 서비스
      • 웹사이트나 애플리케이션에 강력한 검색 기능을 추가할 수 있음
      • 웹사이트 검색 엔진처럼 수천 억개 이상의 크롤링된 텍스트나 패킷을 30개 국어 이상의 언어별로 처리해 주고 사용자에게 맞게 관련성을 찾아 원하는 데이터를 찾아줄 때 사용됨
      • 주요 기능 및 특징
        • 확장성
          • 검색 인덱스를 자동으로 확장하여 대규모 데이터 세트를 처리할 수 있음
        • 고성능
          • 빠른 검색 결과를 제공
          • 다양한 검색 기능을 지원함
        • 유연성
          • 다양한 데이터 형식을 지원
          • 사용자 정의 가능한 검색 기능을 제공함
        • 관리 용이성
          • 자동으로 인덱스를 생성하고 관리하여 운영 부담을 줄임
      • 작동 방식
        • 도메인 생성
          • AWS Management Console, CLI, 또는 API를 통해 검색 도메인을 생성함
        • 데이터 인덱싱
          • 데이터를 업로드하고 인덱싱 옵션을 구성함
          • CloudSearch는 자동으로 인덱스를 생성하고 관리함
        • 검색 요청 처리
          • 사용자가 검색 요청을 제출하면 CloudSearch는 인덱스를 조회하여 결과를 반환함
      • 사용 사례
        • 웹사이트 검색
          • 웹사이트의 콘텐츠를 검색할 수 있는 기능을 추가함
        • 문서 검색
          • 대규모 문서 파일을 인덱싱하고 검색할 수 있음
        • 제품 검색
          • 전자상거래 사이트에서 제품 정보를 빠르게 검색할 수 있음
      • Amazon CloudSearch는 검색 전문가가 아니더라도 쉽게 설정하고 관리할 수 있는 강력한 검색 솔루션을 제공

    • EMR(Elastic MapReduce)
      • AWS에서 제공하는 완전 관리형 빅 데이터 처리 서비스
      • 오픈 소스 빅 데이터 프레임워크인 Apache Hadoop, Apache Spark, Apache Hive, Apache HBase, Apache Flink, Apache Hudi, Presto 등 을 사용하여 대규모 데이터를 처리하고 분석할 수 있도록 도와줌
      • 다양한 빅데이터 분석 플랫폼들을 AWS의 다른 서비스들과 연동하여 더욱 쉽고 빠르게 사용할 수 있게 해줌
      • 주요 특징
        • 확장성 및 유연성
          • 필요에 따라 클러스터의 크기를 유연하게 조정할 수 있음
          • 수십에서 수천 개의 EC2 인스턴스를 사용하여 클러스터를 구성할 수 있으며, 작업 부하에 따라 자동으로 확장하거나 축소할 수 있음
          • 장점: 비용 효율적으로 대규모 데이터를 처리할 수 있음
        • 다양한 데이터 소스 통합
          • Amazon S3, Amazon DynamoDB, Amazon RDS 등 다양한 AWS 데이터 스토어와 통합되어 데이터를 쉽게 이동하고 변환할 수 있음
          • 장점: 데이터 파이프라인을 간편하게 구축하고 관리할 수 있음
        • 보안 및 규정 준수
          • 데이터 암호화, 네트워크 격리, IAM 역할 기반 접근 제어 등 다양한 보안 기능을 제공함
          • 또한, HIPAA, GDPR 등 주요 규정을 준수할 수 있도록 지원함
          • 장점: 민감한 데이터를 안전하게 처리하고 규정 준수를 보장할 수 있음
        • EMR Studio 및 EMR Notebooks
          • EMR Studio는 데이터 과학자와 데이터 엔지니어가 손쉽게 빅 데이터 애플리케이션을 개발, 디버그, 시각화할 수 있는 통합 개발 환경(IDE)을 제공함
          • EMR Notebooks는 Jupyter 기반의 노트북 환경을 제공하여, 대화형 데이터 분석을 지원함
          • 장점: 개발 생산성을 높이고, 데이터 분석 작업을 효율적으로 수행할 수 있음
      • 사용 사례
        • 빅 데이터 분석
          • 대규모 데이터 세트를 분석하여 비즈니스 인사이트를 도출할 수 있음
          • 예: 로그 데이터 분석, 클릭스트림 분석, 소셜 미디어 데이터 분석 등에 사용됨
          • 장점: 빠르고 효율적인 데이터 처리로 인사이트를 신속하게 얻을 수 있음
        • 데이터 파이프라인 구축
          • 다양한 데이터 소스에서 데이터를 추출, 변환, 로드(ETL)하여 데이터 웨어하우스나 데이터 레이크로 이동할 수 있음
          • 장점: 데이터 파이프라인을 자동화하여 운영 효율성을 높일 수 있음
        • 기계 학습
          • Apache Spark MLlib, TensorFlow, Apache MXNet 등과 같은 기계 학습 프레임워크를 사용하여 대규모 데이터 세트에서 모델을 훈련하고 예측할 수 있음
          • 장점: 대규모 기계 학습 작업을 효율적으로 수행할 수 있음

    • 키네시스(Kinesis)
      • 실시간 데이터 처리를 위한 서비스
      • 실시간 데이터 스트리밍을 통해 대규모 데이터 스트림을 실시간으로 처리하고 분석할 수 있음
      • AWS 데이터베이스 서비스나 외부의 데이터를 실시간으로 분석하여 처리하고 결과를 보여줌
      • 증권이나 가상화폐처럼 단 몇 초 동안에도 수십~수백 건의 데이터를 실시간으로 처리해야 할 때 유용하게 사용됨
      • 용도: 실시간 로그 분석, 실시간 데이터 처리, IoT 데이터 스트리밍

1.3.6 인공지능

  • 인공지능 서비스는 최근 AWS가 가장 중점을 두고 있는 영역임
  • 개발자가 처음부터 구현하기 어려운 자연어 처리나 이미지 분석 등에 대해 API를 제공하고 개발자들이 쉽게 사용할 수 있도록 도와줌으로써 누구나 편리하게 인공지능 서비스를 개발할 수 있도록 지원함
  • AWS 클라우드 환경에서 인공지능은 어렵게 구축하는 개발이 아닌 쉽게 사용하는 서비스로 변화하는 중
  • 종류
    • 세이지 메이커(SageMaker)
      • 완전 관리형 머신러닝 서비스
      • 머신러닝 모델을 쉽게 구축, 훈련 및 배포할 수 있는 서비스
      • 데이터 과학자와 개발자가 머신러닝 모델을 빠르고 자신 있게 구축, 훈련, 배포할 수 있도록 지원함
      • 주요 기능
        • 모델 구축: Jupyter Notebook을 사용하여 데이터 탐색, 전처리, 모델 훈련을 수행할 수 있음
        • 모델 훈련: 분산 훈련을 통해 대규모 데이터셋을 효율적으로 처리할 수 있음
        • 모델 배포: 클릭 몇 번으로 프로덕션 환경에 모델을 배포할 수 있음
      • 용도: 머신러닝 모델 개발, 데이터 분석, 예측 분석
    • 레코그니션(Rekognition)
      • 이미지 및 비디오 분석 서비스
      • 애플리케이션에 고급 컴퓨터 비전 기능을 쉽게 추가할 수 있음
      • 얼굴 인식, 객체 탐지, 텍스트 인식 등을 지원함
      • 이미지 데이터만으로 어떤 이미지인지, 표정은 어떤지, 닮은 유명인은 누구인지 알려주는 등의 서비스를 지원함
      • 콘텐츠의 품질을 평가하거나 스팸 콘텐츠, 음란물 이미지의 사전 필터링 등에 많이 사용되고 있음
      • 주요 기능
        • 객체 및 장면 감지: 이미지와 비디오에서 객체, 장면, 개념을 감지하고 분류함
        • 얼굴 인식: 얼굴을 감지, 분석, 비교하여 사용자 확인, 인원 계산, 공공 안전 등에 활용할 수 있음
        • 텍스트 감지: 이미지와 비디오에서 인쇄된 텍스트와 손으로 쓴 텍스트를 감지하고 인식함
        • 안전하지 않은 콘텐츠 탐지: 노골적이거나 부적절한 콘텐츠를 탐지하고 필터링함
      • 용도: 이미지 분석, 비디오 분석, 보안 및 감시
    • 폴리(Poly)
      • 텍스트를 자연스러운 음성으로 변환하는 텍스트-투-스피치(TTS) 서비스(음성합성 서비스)
      • 일상 언어와 비슷한 수준의 자연스러운 음성 파일을 만들 수 있음
      • 주요 기능
        • 다양한 언어와 음성 지원: 여러 언어와 다양한 음성을 제공하여 글로벌 사용자에게 맞춤형 음성 경험을 제공함
        • SSML 지원: Speech Synthesis Markup Language(SSML)를 사용하여 발음, 속도, 억양 등을 세밀하게 조정할 수 있음
        • 음성 저장 및 재사용: 생성된 음성을 MP3, OGG 등 표준 형식으로 저장하고 재사용할 수 있음
    • 렉스(Lex)
      • 음성 및 텍스트를 사용하는 애플리케이션에 대화형 인터페이스를 구축할 수 있는 서비스(대화형 챗봇(Chatbot) 서비스)
      • 음성과 텍스트를 지원하고 일상에서 사용하는 자연어의 처리를 돕는 서비스
      • AWS 인공지능 스피커 에코가 렉스 서비스를 기반으로 개발되었음
      • 주요 기능
        • 자연어 이해(NLU): 사용자의 의도를 이해하고 적절한 응답을 생성함
        • 자동 음성 인식(ASR): 음성을 텍스트로 변환하여 대화형 애플리케이션을 구축할 수 있음
        • 다양한 통합 옵션: AWS Lambda, Amazon Connect 등과 통합하여 복잡한 비즈니스 로직을 처리할 수 있음

1.3.7 보안, 신원 및 규정 준수

  • 종류
    • IAM(Identity and Access Management)
      • AWS 서비스와 리소스에 대한 접근을 안전하게 제어할 수 있는 서비스
      • IAM을 사용하면 사용자, 그룹, 역할을 생성하고 관리하며, AWS 리소스에 대한 접근 권한을 세밀하게 제어할 수 있음
      • 주요 기능
        • 사용자 및 그룹 관리
          • IAM을 통해 개별 사용자와 그룹을 생성하고 관리할 수 있음
          • 각 사용자와 그룹에 대해 특정 권한을 부여할 수 있음
          • 장점: 권한을 세분화하여 보안 사고를 예방할 수 있음
        • 정책 (Policy)
          • JSON 형식의 정책을 사용하여 특정 리소스에 대한 접근을 허용하거나 거부할 수 있음
          • 장점: 세밀한 권한 제어가 가능하여 필요한 최소한의 권한만 부여할 수 있음
        • 역할 (Role)
          • 특정 권한을 가진 역할을 생성하여, 사용자나 서비스가 해당 역할을 맡을 수 있도록 함
          • 장점: 임시 자격 증명을 통해 권한을 부여하여 보안성을 높일 수 있음
        • 멀티 팩터 인증 (MFA)
          • 추가 보안 계층을 제공하여 무단 접근을 방지함
          • 장점: 보안 강화를 통해 계정 보호를 강화할 수 있음
      • 용도: 사용자 및 그룹 관리, 권한 설정, 보안 정책 관리
    • Shield
      • AWS에서 실행되는 애플리케이션을 보호하는 관리형 DDoS(Distributed Denial of Service) 보호 서비스
      • 주요 기능
        • Shield Standard
          • 기본적인 DDoS 보호 기능을 제공하며, 추가 비용 없이 AWS 리소스를 보호함
          • 장점: Layer 3/4 공격으로부터 보호하며, 실시간 탐지를 통해 기본적인 방어를 제공함
        • Shield Advanced
          • 더 정교한 DDoS 보호 기능을 제공하며, 애플리케이션 트래픽 패턴에 따른 맞춤 탐지와 보호를 지원함
          • 장점: Layer 3/4/7 기반 DDoS 공격으로부터 보호하며, 24/7 DDoS Response Team(DRT) 지원, 비용 보호 기능 등을 제공함
      • 용도: 웹 애플리케이션 보안, DDoS 방어, 네트워크 보안

1.3.8 개발자 도구

  • 종류
    • 코드 빌드(CodeBuild)
      • 소스코드를 컴파일하는 단계부터 테스트와 배포까지 설정할 수 있는 완전 관리형 원격 빌드 서비스
      • 소스 코드를 컴파일하고, 단위 테스트를 실행하며, 배포할 준비가 된 소프트웨어 패키지를 생성함
      • 자체 빌드 서버를 설정, 관리, 확장할 필요 없이 온디맨드로 빌드 요구 사항에 맞게 확장할 수 있음
    • 코드 커밋(CodeCommit)
      • AWS에서 호스팅하는 안전하고 확장성 높은 Git 기반의 소스 제어 및 저장소 서비스
      • 이를 통해 코드, 바이너리 파일, 문서 등을 안전하게 저장하고 관리할 수 있음
      • 기존 Git 도구와 원활하게 통합됨
    • 코드 디플로이(CodeDeploy)
      • Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 또는 Amazon ECS 서비스로의 애플리케이션 배포를 자동화하는 서비스
      • 이를 통해 애플리케이션 배포 시 가동 중지를 최소화하고, 블루/그린 배포와 같은 다양한 배포 전략을 지원함
    • 코드 파이프라인(CodePipeline)
      • 코드 커밋부터 코드 디플로이까지 한 번에 설정할 수 있도록 돕는 서비스
      • 소프트웨어 릴리스 프로세스를 모델링, 시각화 및 자동화하는 지속적 전달 서비스
      • 소스 코드 변경 사항이 릴리스 프로세스를 통해 자동으로 빌드, 테스트, 배포되도록 설정할 수 있음
      • CodeCommit, GitHub, Amazon ECR, Amazon S3 등과 통합되어 소스 코드를 가져오고, CodeBuild와 연동하여 빌드와 단위 테스트를 실행할 수 있음

1.3 AWS의 장점

  • 비용 효율성
    • 사용한 만큼만 비용을 지불하는 종량제(Pay-as-You-Go) 모델을 채택하여 초기 자본 비용을 절감할 수 있음
  • 유연성 및 확장성
    • 필요에 따라 자원을 유연하게 확장하거나 축소할 수 있어, 다양한 비즈니스 요구에 대응할 수 있음
  • 보안
    • AWS는 군사, 국제 은행 및 보안이 매우 중요한 조직의 보안 요구 사항을 충족하도록 설계된 가장 유연하고 안전한 클라우드 컴퓨팅 환경을 제공함
  • AWS는 스타트업부터 대기업까지 다양한 규모의 조직이 효율적으로 데이터를 관리하고 애플리케이션을 운영할 수 있도록 도와줌
728x90