본문 바로가기

데이터엔지니어링

[6주차] AWS 클라우드 (1)

🙂 클라우드 서비스

클라우드 컴퓨팅

클라우드 컴퓨팅 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼 비용을 지불하는 방식

물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신 필요에 따라 기술 서비스에 액세스

  • 민첩성
  • 탄력성
  • 비용절감
  • On demand
  • 관리 용이성

 클라우드 유형

  • On premises (own server) : 네트워크부터 전체 개인화
  • IAAS (virtual machines) : OS 부터 개인화
  • PAAS (app service) : 데이터 부터 개인화
  • SAAS (O365) : 모든 서비스를 제공받음

 클라우드 서비스 제품

  • 아마존 AWS
  • MS Azure
  • 구글 GCP
  • 오라클 OCI
  • IBM 클라우드
  • 알리바바 클라우드
  • KT 클라우드
  • 네이버 NCP

🙂 AWS 기본 용어

🍦 가상화

  • 물리적 HW를 보다 효율적으로 활용할 수 있도록 해주는 프로세스.
  • 클라우트 컴퓨팅의 기반

🍦 가상머신 (VM)

  • 가상 머신은 소프트웨어 형식으로 물리적 컴퓨팅을 시뮬레이션하는 가상 환경.
  • 일반적으로 VM의 구성, 가상 하드 드라이브의 스토리지, 특정 시점에 해당 상태를 유지하는 일부 스냅샷을 포함한 다수의 파일들로 구성.

🍦 스냅샷

  • 마치 사진 찍듯이 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술
  • Windows OS의 복원 지점과 같이 장애나 데이터 손상 시 스냅샷을 생성한 시점으로 데이터 복구
  • 원본 데이터를 그대로 복사하는 백업과 다르게 스토리지의 공간 차지 X
  • 메타 데이터의 복사본에 해당하므로 빠름

🍦 데이터 센터

  • 수 많은 서버들을 한데 모아 네트워크로 연결해 놓은 시설

🍦 Region

  • 데이터 센터가 위치한 지역
  • IT 리소스를 생성한 Region 선택 가능
  • 대상 고객의 지역과 자원을 생성할 Region이 최대한 근접해야 함
  • 국가마다 자원사용 비용 상이

🍦 AZ (Availaibility Zone)

  • 하나의 Region은 두 개 이상의 AZ로 구성.

🙂 EC2

  • 인스턴스: 가상 컴퓨팅 환경
  • AMI (Amazon Machine Image): 서버에 필요한 OS와 여러 소프트웨어들이 적절히 구성된 상태로 제공되는 템플릿으로 인스턴스를 쉽게 생성 가능.
  • 인스턴스 유형: 인스턴스를 위한 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지 구성 제공
  • 키 페어를 사용하여 인스턴스 로그인 정보 보호 (AWS 퍼블릭 키, 사용자의 개인키는 안전한 장소에 보관)
  • 인스턴스 스토어 볼륨: 임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 중단, 최대 절전 모드로 전환 또는 종료 시 삭제
  • Amazon EBS (Elastic Block Store): EBS 볼륨을 사용해 영구 스토리지 볼륨에 데이터 저장
  • 보안 그룹을 사용해 인스턴스에 연결할 수 있는 프로토콜, 포트, 소스 IP 범위를 지정하는 방화벽 기능
  • 탄력적 IP 주소(EIP): 동적 클라우드 컴퓨팅을 위한 고정 IPv4 주소
  • 태그: 사용자가 생성하여 Amazon EC2 리소스에 할당할 수 있는 메타데이터
  • VPC (Virtual Private Clouds): AWS 클라우드에서는 논리적으로 격리되어 있지만 원할 때마다 고객의 네트워크와 간편히 연결할 수 있는 가상 NW

EC2 구성도


🙂 Elastic Beanstalk

  • 애플리케이션을 실행하는 인프라에 대해 자세히 알지 못해도 AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리 가능
  • 선택 또는 제어에 대한 제한 없이 관리 복잡성 감소
  • App을 업로드하기만 하면 Elastic Beanstalk에서 용량 프로비저닝, 로드 밸런싱, 조정, App 상태 모니터링에 대한 세부 정보를 자동 처리
  • Go, Java, .NET, Node.js, PHP, Python 및 Ruby에서 개발된 App 지원
  • 배포 시 Elastic Beanstalk가 선택된 지원 가능 플랫폼 버전을 구축 후 Amazon EC2 등의 AWS 리소스를 하나 이상 프로비저닝하여 App 실행.

🍦 Elastic Beanstalk 상태 unknown 오류 해결방법

Elastic Beanstalk에서 애플리케이션 생성하고 환경 생성을 하려고 하니 다음과 같은 오류 발생.

 

The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.

 

해결방법

  1. AWS의 IAM - 역할에 들어가 역할 만들기 클릭.
  2. AWS 서비스와 EC2를 체크하고 다음으로 넘어감.
  3. 3가지 정책을 선택한 뒤 '다음' 클릭
    1. AWSElasticBeanstalkWebTier
    2. AWSElasticBeanstalkWorkerTier
    3. AWSElasticBeanstalkMulticontainerDocker
  4. 역할 이름을 aws-elasticbeanstalk-ec2-role로 입력하고 신뢰할 수 있는 엔티티 선택에 코드를 입력한다.