Cloud, Docker/AWS

2) AWS 컴퓨팅 서비스

busy맨 2023. 11. 18. 00:24

1. AWS 컴퓨팅 서비스

1) 컴퓨팅 정의

  • 컴퓨팅(computing)
    • 어떤 것에 대해 계산하여 답을 구하고 추정하는 행위
  • 서버(server)
    • 특수성과 전문성을 위해 일반적인 컴퓨터에 비해 높은 사양이 요구되는 고성능 컴퓨팅 자원
    • 온프레미스로 구축이 가능하지만, 퍼블릭 클라우드 환경에서 컴퓨팅 환경을 제공받아 가상 서버를 구성하여 쉽게 워크로드(workload)를 수행

 

2) AWS 컴퓨팅 서비스

  • AWS 컴퓨팅 서비스
    • 퍼블릭 클라우드에서 컴퓨팅 자원을 활용하여 다양한 워크로드를 수행할 수 있는 서비스
    • 컴퓨팅 자원을 사용할 수 있는 비용을 지불하면 수분 내로 가상의 서버 자원을 생성하고 관리 가능
    • 비즈니스 환경과 워크로드 형태에 따라 적절한 컴퓨팅 서비스를 선택
  • 주요 서비스
    1. EC2(Elastic Compute Cloud)
      • 클라우드 환경에서 서버 자원을 인스턴스(instance)라는 가상 머신(Virtual Machine, VM)형태로 제공하는
        가장 기본적인 AWS 컴퓨팅 서비스
    2. ECS(Elastic Container Service)
      • EC2 기반 관리형 클러스터에서 실행되는 컨테이너 형태의 자원에 대해 배포, 스케줄링(scheduling),
        스케일링(scaling) 등을 관리하는 서비스
    3. Lambda
      • 서버리스(serverless) 컴퓨팅 서비스로, 별도의 서버 설정이 없는 환경을 제공하여 코드만 실행해 주는
        서비스
    4. Lightsail
      • 독립적인 환경을 제공하며, 최소한의 설정만으로도 손쉽게 사용 가능한 컴퓨팅 서비스

☆Elastic?

  • '탄력적인' 이라는 뜻이며, 컴퓨팅 자원에 대해 원하는 만큼 확장하거나 축소하여 유연하게 사용할 수 있는 개념

 

2. Amazon EC2 소개

  • AWS의 퍼블릭 클라우드 환경에서 확장 가능한 컴퓨팅 자원을 제공하여 가상의 서버를 운영할 수 있는 서비스
  • 인스턴스라는 가상 컴퓨팅 환경을 기반으로 하며, AMI(Amazon Machine Image)를 이용하여 인스턴스에 필요한
    소프트웨어 정보를 정의

 

▶Amazon EC2 주요 제공 기능

  • 운영체제: 리눅스, 윈도우, macOS
  • CPU 옵션: Arm, x86
  • 다양한 인스턴스 유형 제공: 범용 및 워크로드에 맞게 최적화 가능
  • 구매 옵션: 온디맨드, 예약 인스턴스, 스팟 인스턴스 등

1) Amazon EC2 인스턴스

  • Amazon EC2 인스턴스는 가상의 컴퓨팅 환경으로 CPU, 메모리, 스토리지, 네트워킹 용량을 결정하는 다양한
    인스턴스 방식을 제공

▶ 인스턴스가 '실행 중인 임의의 프로세스'로 해석됨

▶ 클라우드 컴퓨팅은 '가상의 환경에서 필요한 자원을 임대해서 사용한다'

  • 즉, 클라우드 환경에서 컴퓨팅 자원을 필요한 만큼 사용하고, 쓰임을 다하면 자원을 반납하는 형태로 임의로 구성된
    인스턴스

 

  • 인스턴스 상태
  1. 최초 인스턴스를 시작하는 행위
    • 대기 중(pending) → 실행 중(running)
  2. 실행 중인 인스턴스를 중지하는 행위
    • 실행 중(running)  → 중지 중(stopping)  → 중지됨(stopped)
    • 이 때 중지됨 상태는 인스턴스 종료가 아닌 일시적 중지 상태로 얼마든지 다시 시작 가능
  3. 중지된 인스턴스를 시작하는 경우
    • 중지됨(stopped)  → 대기 중(pending)  → 실행 중(running)
  4. 중지된 인스턴스를 종료하는 행위
    • 중지됨(stopped)  → 종료됨(terminated)
    • 종료됨 상태는 인스턴스 영구 삭제를 의미
  5. 실행 중인 인스턴스를 종료하는 행위
    • 실행 중(running)  → 종료 중(shutting-down)  → 종료됨(terminated)
    • 종료됨 상태는 인스턴스 영구 삭제를 의미
  • '중지됨' 상태는 인스턴스를 유지한 채 일시적으로 중지한 상태이기 때문에 언제든지 다시 구동 가능
  • '종료됨' 상태는 인스턴스를 영구 삭제하기 때문에 다시 사용하기 어려움
    • 따라서 실수로 종료하여 인스턴스 정보가 삭제되지 않도록 주의
    • 또한 종료되어도 관리 콘솔상에서 바로 삭제되지 않고 인스턴스의 일정 시간 정보를 출력함

 

2) AMI

  • AMI(Amazon Machine Image)
    • 인스턴스를 시작할 때 필요한 정보를 제공하는 것
    • 운영체제와 소프트웨어를 적절히 구성한 상태로 제공되는 템플릿(template)
    • 인스턴스를 생성할 경우, AMI를 지정
    • 하나의 AMI로 동일한 구성의 여러 인스턴스를 손쉽게 생성 가능
    • 사용자 정의AMI나 AWS 자체적으로 지정된 AMI를 활용 가능

 

3) Amazon EC2 스토리지

  • 인스턴스 환경을 설정했다면, 다음으로 어떤 저장소를 사용할지 결정해야함
  • 스토리지(storage)
    • 데이터를 저장하는 공간
    • 서버 자원에서 발생되는 다양한 데이터를 보관하려면 필수적으로 존재해야하는 요소
  • 유형
    1. 인스턴스 스토어(instance store)
      • 인스턴스에 바로 붙어 있는 저장소로, EC2 인스턴스를 생성하면 기본적으로 존재하는 스토리지
      • 직접 붙어 있는 구조 덕분에 매우 빠른 I/O(Input/Output) 보장
      • 인스턴스를 중지하거나 종료하면 인스턴스 스토어에 저장된 데이터가 모두 손실
        • 따라서 임시적인 데이터 저장소로 활용하는 것이 좋고, 장기적으로 보관해야하는 데이터는 저장하지
          않는 것이 좋음
    2. Amazon EBS
      • 인스턴스 스토어와 다르게 네트워킹을 통해 연결되는 구조
        • 영구 보존이 가능한 스토리지
        • 외장 하드디스크와 비슷한 개념
      • 인스턴스가 중지되거나 종료되어도 EBS에 보관하는 데이터는 그대로 유지됨
      • 관리 콘솔을 통해 스냡샷을 생성하여 백업하거나 Amazon EBS 연결을 해제한 후 다른 인스턴스에 연결할 수 있다는 특징을 가짐
        인스턴스 스토어와 Amazon EBS
        ☞EC2 인스턴스와 함께 사용할 수 있는 스토리지 유형으로 파일 스토리지인 EFS(Elastic File Store)와 
        오브젝트 스토리지인 S3(Simple Storage Service)도 있음

 

4) Amazon EC2 네트워킹

  • EC2인스턴스를 사용하여 서비스를 제공하려면 통신이 가능한 환경으로 구성되어야함
  • 종류
    1. Amazon VPC(Virtual Private Cloud)
      • AWS 퍼블릭 클라우드 안에서 논리적으로 격리된 가상의 클라우드 네트워크
      • 생성된 EC2 인스턴스는 별도로 구성된 하나의 Amazon VPC 안에 생성되어 네트워킹됨
    2. 네트워크 인터페이스(network interface)
      • 네트워킹을 수행하려면 네트워크 인터페이스가 필요
      • ENI(Elastic Network Interface)라는 논리적 네트워크 인터페이스가 VPC 내에 생성되며, ENI를 EC2
        인스턴스에 연결하여 네트워킹을 수행
        • ENI를 논리적으로 구성된 가상의 어댑터로 생각하면 편함
    3. IP(Internet Protocol) 주소
      • 네트워크 인터페이스에는 IP주소가 있으며, IP 주소로 대상을 구분하고 네트워킹을 수행

 

5) Amazon EC2 보안

  • 주요 보안 기능
    1. 보안 그룹(security group)
      • EC2 인스턴스의 송수신 트래픽을 제어하는 가상의 방화벽 역할
      • EC2 인스턴스로 들어오는 트래픽을 허용 또는 거부하거나, 반대로 나가는 트래픽을 허용 또는 거부하는
        규칙을 정의
        • 트래픽을 정의하는 방법: 프로토콜, 포트 번호, IP 대역
    2. 키 페어(key pair)
      • EC2 인스턴스에 연결할 때 자격을 증명하는 보안 키
      • 퍼블릭 키와 프라이빗 키로 구성
        • 퍼블릭 키: EC2 인스턴스에 저장됨
        • 프라이빗 키: 사용자 컴퓨터에 별도로 저장됨
      • EC2 인스턴스를 생성한 후 가상 서버에 접근하여 설정이 필요하면 사용자가 보관하는 프라이빗 키를
        활용하여 자격을 증명하고 접근할 수 있음

 

6) Amazon EC2 모니터링

  • EC2 인스턴스 모니터링(monitoring)은 서비스 안정성과 가용성, 성능 유지에 필요한 중요한 영역
  • EC2 인스턴스의 자원은 유한하며, 자원 이상의 부하가 있을 때는 장애가 발생 가능
  • 특히나 불특정 다수에게 제공되는 서비스는 언제 어느 시점에 트래픽이 몰려와 부하가 발생할 지 알 수 없음
  • 모니터링 계획
    • 모니터링 목표
    • 모니터링 대상 자원
    • 모니터링 빈도
    • 모니터링 수행도구
    • 모니터링 작업을 수행할 사람
    • 문제가 발생할 때 경보를 알려야 할 대상
  • 모니터링 도구
    • 수동 모니터링 도구
      • 관리자가 직접 관리 콘솔을 이용하여 모니터링을 수행하는 것
      • EC2 대시보드에서 간단한 통계 정보를 확인하거나 Amazon CloudWatch라는 모니터링 전용 서비스를
        이용하여 상세한 통계 정보를 모니터링
    • 자동 모니터링 도구
      • 대상 자원의 지표에 대해 임계값을 정하고, 임계값을 초과하면 경보를 내리는 형태의 동적인 모니터링 방법

'Cloud, Docker > AWS' 카테고리의 다른 글

3) Amazon EC2 인스턴스 배포 및 접근하기  (1) 2024.03.22
1) 클라우드 개념  (0) 2023.11.16