도슐랭스타

AWS - 클라우드 서비스, 기술, 기타 용어 본문

AWS

AWS - 클라우드 서비스, 기술, 기타 용어

도도.__. 2024. 10. 21. 17:31

클라우드 서비스

클라우드(IaaS/PaaS) 제공 대표 서비스

  • 가상서버
    • CPU, 메모리, 스토리지 같은 하드웨어 자원을 소프트웨어로 논리적으로 나누어 사용
    • 가상 CPU의 성능과 메모리 용량을 사용 용도와 시스템 규모에 맞게 선택
  • 로드 밸런서
    • 가상 서버를 이중화하거나 부하 분산
  • 오토스케일링
    • 접속량 및 통신량에 따라 가상 서버의 개수를 자동으로 늘리거나 줄임
  • 스토리지
    • 데이터, 콘텐츠 아카이브(보관), 백업(보호), 파일 서버의 사용, 시스템의 재해 대책(Disaster Recovery) 등 다양한 용도로 사용

가상서버

  • 클라우드 서비스를 구성하는 가장 기본 요소 → 시간 단위로 과금
  • 하드웨어 리소스를 논리적으로 구성
  • 물리 서버 한 대의 리소스를 여러 개의 가상 서버로 나누거나 다수의 물리 서버의 리소스를 한 대의 가상 서버로 통합해서 사용
  • 가상서버는 하드웨어를 에뮬레이션하기 때문에, 가상화하지 않은 서버(베어메탈 서버)에 비해 성능이 떨어짐

베어메탈(Bare Metal) 서버

  • 가상화 방식과 다르게 하드웨어의 모든 성능을 사용할 수 있는 서버
  • 하나의 물리적 하드웨어에 하나의 서버가 설치됨
  • 높은 성능이 필요한 경우 사용

로드밸런서(Load Balancer)

  • 시스템의 이중화 및 분산 처리 지원
  • 리전(Region): 지리적으로 떨어진 독립된 지역 (예: 서울, 도쿄, 미국 등)
  • 존(Zone): 같은 지역 내의 독립적인(빌딩 등 물리적으로 격리된) 지역
  • L4 & L7 로드밸런서
    • L4: 전송계층(Transport Layer)에서 동작, IP/Port 기반으로 트래픽 분산
    • L7: 응용계층(Application Layer)에서 동작, 웹 애플리케이션에 따라 트래픽 분산
    • 알고리즘
      • 라운드 로빈: 트래픽을 순서대로 배분
      • 가중 라운드 로빈: 각 서버에 가중치를 부여하여 가중치 높은 서버에 우선 배분
      • 최소 연결: 현재 연결되어 있는 클라이언트 수가 적은 순으로 배분
      • 최소 응답시간: 가장 빠른 응답시간을 가진 서버에 배분
      • 최소 부하: 서버들의 현재 부하 상태를 고려해 가장 적은 부하를 가진 서버에 배분

오토스케일링(Auto Scaling)

  • 부하에 따라 컴퓨팅 자원(CPU, 메모리, 네트워크 등)을 유연하게 증감시키는 기능
  • 시시각각 변하는 부하에 즉각 대응 및 효율적 운영
  • 서비스 성능 및 가용성 보장
  • 초기 구축 시 서버 사양을 적게 시작하여 비용 절감
  • 동작 방식
    • 스케일 업/다운: 서버의 CPU, 메모리 등을 업그레이드, 다운그레이드하는 방식(예: DB)
    • 스케일 인/아웃: 동일 규격 서버의 수량을 증감하여 부하 분산하는 방식

백업(스냅샷)

  • 정기적 백업 수행
    • 수동 혹은 사용자 설정 시간(매주, 매월 등)에 자동으로 백업 수행
  • 재해 대책(Disaster Recovery, DR)
    • 천재지변, 테러 등으로 서비스 중단 시 데이터를 보존하고 자동 복구하는 대책
    • 재해 복구 수준에 따라
      • 미러 사이트(즉시), 핫 사이트(24시간 이내 복구), 웜 사이트(일/주), 콜드 사이트(주/달)
  • 비즈니스 연속성 계획(BCP)
    • 자연 재해, 테러 등으로 자산이 손상되더라도 피해를 최소화하고, 사업 활동을 재개할 수 있는 수단과 방법을 계획
    • 서버 및 데이터베이스 스냅샷을 백업 사이트에 저장하여 복구 시 활용

스토리지 서비스

  • 데이터 아카이브(보관) 및 백업(보호), 파일 서버, 재해 대책(DR) 등의 용도로 사용
  • 빅데이터 분석을 위한 데이터 공유 및 저장 용도로 많이 사용
  • AWS의 대표적인 클라우드 스토리지 서비스
    • Amazon S3: 데이터를 파일 단위로 저장/검색/삭제, 뛰어난 견고성 및 내구성을 보장하여 데이터의 영구적인 저장에 적합
    • Amazon S3 Glacier: 빈번하게 읽을 필요가 없는 장기 보존용 데이터
    • EBS(Amazon Elastic Store): 엄격한 응답이 요구되는 DB 용도
    • EFS(Amazon Elastic System): 기업의 파일 서버로 사용

네트워크 서비스

  • VPC(Virtual Private Cloud): 가상 네트워크를 만들어, 개인 클라우드처럼 사용할 수 있는 서비스
    • 임의의 사설 IP 주소 설정
    • 서브넷에 가상 서버(인스턴스) 배치
    • 네트워크 관련 보안 기능 제공
      • 통신 사업자의 VPN 망 직접 연결
      • VPN 게이트웨이와 IPsec 암호화 통신
      • 필터링을 통한 통신 차단(방화벽 기능)
      • 보안 그룹 정책

데이터베이스 서비스(AWS)

  • Amazon RDS: 관계형 데이터베이스 서비스, MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server, Aurora, MariaDB 등 지원
  • Amazon DynamoDB: NoSQL 서비스, 비관계형, 빠르고 가용성이 높음
  • Amazon Redshift: 데이터웨어하우스 서비스, 분석용 데이터 처리에 특화
  • Amazon ElasticCache: 인 메모리 캐시 서비스, 데이터베이스 쿼리 결과를 캐싱하여 웹 시스템의 고속화를 실현

클라우드 이전

  • 리프트 앤 시프트 (Lift and Shift)
    • 온프레미스 시스템을 변경하지 않고 그대로 클라우드로 이동(Lift)한 후, 최적화(Shift)를 수시로 진행하는 전략.
    • VMware 활용이 일반적이며, 클라우드 사업자는 호환 서비스를 제공.
    • 예: VMware Cloud on AWS, VMware on IBM Cloud

클라우드 기타 서비스(예시)

  • 데이터 분석 서비스 (Google Cloud Platform)
    • BigQuery: 대용량 데이터 분석
    • Cloud Data flow: 실시간 데이터 취득 및 분석
    • Cloud Dataprep: 데이터 가공
  • IoT 서비스 (AWS)
    • AWS IoT SiteWise: 수집
    • Amazon Timestream: 시계열 데이터베이스
    • AWS IoT Events: 모니터링
  • AI/기계학습 서비스
    • 라이브러리를 이용한 기계학습 및 미리 학습된 모델 제공

클라우드 시스템 구축

  • 표준화된 클라우드 서비스를 조합하여 시스템 구축
  • 클라우드를 이용한 대표적인 사고방식
    • 로드 밸런서 및 오토 스케일링으로 확장성 제공
    • 멀티 존으로 장애 대비
    • 자동 복구 및 백업 구성
    • API 연계를 통한 다른 서비스와의 통합

클라우드 관리 플랫폼 (CMP)

  • 필요성
    • 서버 이용 증가 및 여러 클라우드 서비스 사용
    • 서버 환경 자동화 및 통합 관리
  • 주요 관리 기능
    • 구성 관리, 성능 관리, 운영 관리, 멀티 클라우드 관리, 사용자 관리
  • 주요 도구: VMware, IBM Cloud Orchestrator, Flexera, datadog 등

가상화 기술

  • 가상화: 하드웨어 리소스를 논리적으로 다루는 기술 (서버, 네트워크, 스토리지)
  • 장점:
    • 물리 서버 수를 줄여 비용 절감 및 공간 절약
    • 장애 격리 가능
  • 하드웨어 구성:
    • 하이퍼바이저 형과 컨테이너 형 비교

컨테이너 기술

  • 애플리케이션을 독립적인 실행 환경(컨테이너)으로 분리하여 실행
  • 장점:
    • 빠른 기동 및 정지, 적은 리소스 사용
    • 클라우드 간 복제 및 이식성 우수
  • 대표 제품: Docker, Kubernetes

하이퍼바이저 형 vs. 컨테이너 형

하이퍼바이저 형 (Virtual Machine)

  • 구성
    • 하드웨어 → 하이퍼바이저 → 게스트 OS → 애플리케이션
  • 장점
    • 각 가상 서버에 독립적인 OS 선택 가능
    • 가상 서버들 간 완전한 분리
    • 하나의 가상 서버가 공격받아도 다른 가상 서버는 안전
  • 단점
    • 각 가상 서버에 OS가 필요해 리소스(CPU, 메모리, 스토리지)가 많이 소모
    • 가상 서버 부팅 시간이 길어짐
  • 대표 제품
    • VMware vSphere, Xen Server, Hyper-V

컨테이너 형 (Container)

  • 구성
    • 하드웨어 → 호스트 OS → 컨테이너 관리 소프트웨어 → 실행환경 → 애플리케이션
  • 장점
    • 컨테이너 간 복사 및 마이그레이션 용이
    • 별도의 OS가 필요 없어 리소스 소모 적고 부팅 빠름
  • 단점
    • 호스트 OS와 커널을 공유하기 때문에 한 컨테이너가 공격받으면 다른 컨테이너도 위험
    • Linux 커널에서만 동작하며, Windows 컨테이너는 지원 안 됨
  • 대표 제품
    • Docker

스토리지 기술

블록 스토리지

  • 일정 크기의 블록으로 나뉜 논리 볼륨에 액세스
  • 서버, 스토리지 간 데이터 전송이 빠름
  • 데이터베이스에 적합하며 레이턴시가 중요한 경우 사용

파일 스토리지

  • 파일을 그대로 읽고 쓰며 공유 가능
  • SMB, NFS, NAS 등에서 사용

오브젝트(객체) 스토리지

  • 데이터를 객체 단위로 처리
  • 각 객체에 고유한 ID(URI) 부여
  • 대규모 비정형 데이터에 접근할 때 사용 (예: 클라우드 스토리지)
  • HTTP 기반의 REST API를 통해 액세스 (POST, GET, PUT, DELETE 등)

네트워크 가상화 기술

  • VLAN: 물리적 네트워크를 논리적으로 분할
  • VPN: 가상 전용선 연결
  • NFV: 네트워크 기능을 소프트웨어로 구현

SDN (Software Defined Networking)

  • 네트워크 구성과 기능 설정을 소프트웨어로 정의
  • 장점:
    • 데이터 전송 경로를 유연하게 변경 가능
  • 구성: 데이터 플레인(전송부)과 컨트롤 플레인(제어부) 분리

데이터베이스 기술

  • RDB(Relational Database): 행과 열 형식으로 관계형 데이터 저장 (Oracle, MySQL, PostgreSQL)
  • NoSQL(Not only SQL): 비관계형 데이터베이스, 대량 데이터 처리 (MongoDB, Cassandra 등)
    • 종류: 문서 지향, 키-밸류, 그래프, 컬럼 지향

분산 처리 기술

  • 클러스터링: 여러 서버를 결합하여 하나의 시스템처럼 동작
  • Apache Hadoop: 대량의 데이터를 분산 처리
  • Apache Spark: 메모리 기반 대용량 데이터 병렬 처리

엣지 컴퓨팅 (Edge Computing)

  • 데이터를 말단 디바이스 근처에서 분산 처리하여 실시간 데이터 처리 및 높은 신뢰성 제공
  • 서버 분산 처리
    • 서버를 말단 디바이스에 가까운 영역에 분산 배치하여 데이터를 처리
    • 클라우드 컴퓨팅은 서버를 한곳에 모아 집중 처리하지만, 엣지 컴퓨팅은 말단에서 분산 처리
  • 디지털 데이터 증가
    • 디지털 데이터의 폭발적 증가와 낮은 지연(실시간)이 요구되는 애플리케이션 증가
    • 실시간 데이터 처리와 높은 신뢰성 보장
  • 디바이스 발전
    • 디바이스 고도화, 소형화, 저전력화, 비용 절감에 따른 엣지 컴퓨팅 보급 가속화
    • CPU/GPU 탑재된 엣지 컴퓨팅 디바이스 등장
  • 클라우드 처리 시 문제점
    • 통신 데이터 증가에 따른 네트워크 대역폭 소모
    • 회선 이용료 등의 비용 증가
    • 클라우드 서버와 거리가 멀 경우 응답 시간이 지연
    • 네트워크 장애로 데이터 처리 불가한 경우 발생
    • 보안 정책이나 국가 및 지역의 사정에 따라 클라우드로 데이터 전송 불가할 수 있음

하이퍼 컨버지드 인프라스트럭처

  • 컨버지드 인프라: 서버, 네트워크, 스토리지를 하나의 패키지로 제공
  • 하이퍼 컨버지드 인프라: 클라우드 서비스의 기본 기능을 통합 제공

GPU (Graphics Processing Unit)

  • 대량의 연산 처리가 필요한 컴퓨터 그래픽과 딥러닝에 사용
  • GPGPU(General Purpose Computing on GPU): GPU에서 CPU 기능을 추가하여 연산 속도 향상

서버리스 아키텍처

  • 서버의 운영과 관리를 클라우드 사업자가 처리하고 사용자는 서버를 의식하지 않음
  • FaaS: 함수 단위로 서버리스 서버에 업로드하여 이벤트 기반 실행
  • BaaS: 백엔드 기능을 API로 제공, 클라우드 사업자가 백엔드 개발 환경을 제공

마이크로 서비스 아키텍처 (MSA)

  • 기존 시스템의 한계: 서비스의 확장성 및 배포가 어려움
  • 장점:
    • 개별 서비스 배포 가능, 확장성 향상, 부분 장애 해결
  • 단점: API 호출 시 통신 비용 및 레이턴시 증가

기타용어

  • CSP (Cloud Service Provider): 클라우드 인프라 제공
  • MSP (Managed Service Provider): 클라우드 도입에 필요한 컨설팅, 아키텍처 구축 등 지원

프로비저닝

  • IT 자원을 사용할 수 있도록 준비하는 과정
    • 서버, OS, 소프트웨어, 스토리지, 계정 프로비저닝

탄력적 컴퓨팅 (Elastic Computing)

  • Elastic Computing (예: AWS EC2)
    • 피크 사용에 대한 용량 계획 및 엔지니어링 걱정 없이 변화하는 요구사항을 충족하도록 컴퓨터 자원을 신속히 확장/축소하는 기능
    • 시스템 모니터링 도구로 제어
    • 진행 중인 작업을 중단시키지 않고 실제로 필요한 리소스 양에 따라 자동 조절
      → 불필요한 속도 저하, 서비스 중단을 피함
    • 사용하지 않는 용량이나 유휴 리소스에 대한 비용 절감

데브옵스 (DevOps)

  • 목표: 개발/운영의 협업으로 빠른 소프트웨어 릴리즈 및 서비스 제공, 이슈 해결 등
  • 소프트웨어 개발(Dev)과 운영(Ops)을 연계하는 방법론, 개발팀과 운영팀의 협업 강조

데브옵스 실천법

  • 지속적인 통합(CI)
    • 개발자들이 자주(하루 한번 이상) 코드를 공유 리포지토리에 병합하는 프로세스
    • 코드 변경 사항의 충돌을 최소화하고 문제를 빠르게 발견, 해결
  • 지속적인 배포(CD)
    • 개발된 소프트웨어를 자동으로 프로덕션 환경으로 배포하는 프로세스
    • 신규 버전의 애플리케이션을 사용자에게 빠르게 제공
  • 자동화
    • 테스트, 배포, 모니터링 등 반복적인 작업을 자동화하여 시간 절약 및 오류 줄임
  • 협업과 공유
    • 개발자와 운영팀 간의 긴밀한 협업과 서로의 작업에 대해 이해
    • 전체 소프트웨어 개발, 배포 프로세스 개선

클라우드 네이티브 (Cloud Native)

  • 클라우드 환경에서 가장 효과적으로 동작하는 애플리케이션 개발 및 운영 방식
  • 애플리케이션을 하나의 큰 Monolith가 아닌 여러 개의 독립적인 마이크로서비스로 분할하여 개발
  • 각각의 서비스는 독립적으로 개발, 테스트, 배포, 확장 가능
  • 애플리케이션을 컨테이너로 패키징하여 어떤 클라우드 환경에서도 동일하게 실행 가능

주요 기술

  • 마이크로서비스 아키텍처(MSA)
  • 컨테이너 기술
  • 데브옵스(DevOps)
  • 지속적인 통합과 지속적인 배포(CI/CD) 사용

IAM (Identity and Access Management)

  • 사용자 관리: 사용자가 누구인지, 어떤 권한을 갖는지, 어떤 리소스에 접근할 수 있는지 관리

인증 요소

  • 사용자가 아는 것: ID+PW와 같이 사용자만 알고 있는 것
  • 사용자가 갖고 있는 것: 물리적 토큰 (전자 열쇠, USB, 스마트폰 등)
  • 사용자 자신: 신체 속성 (지문, 망막 등)
  • 클라우드 환경에서 사용자의 액세스 관리는 네트워크 경계가 아닌 ID가 중요
  • 액세스 관리는 시스템 내 사용자마다 각각의 권한을 부여하고 관리
반응형

'AWS' 카테고리의 다른 글

AWS - 권한관리 시스템  (2) 2024.11.11
AWS - 클라우드 스토리지  (0) 2024.11.04
AWS - 클라우드 기술의 이해  (6) 2024.10.28
AWS - 클라우드 기초  (1) 2024.10.14
Comments