[프로그래머스] 데브코스 데이터엔지니어링 TIL Day 26

주재민·2023년 11월 20일
0
post-thumbnail

📖 학습주제

가장 많이 사용되는 AWS 클라우드에 대해 실습 중심으로 학습 (1)


클라우드 컴퓨팅

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

  • 물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신, 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 액세스

클라우드 컴퓨팅 이점

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

클라우드 유형

Amazon Web Services(AWS)

  • 전 세계적으로 분포한 데이터 센터에서 200개가 넘는 완벽한 기능의 서비스를 제공하는, 세계적으로 가장 포괄적이며, 널리 채택되고 있는 클라우드 플랫폼

AWS 기본용어

가상화

  • 물리적 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있도록 해주는 프로세스, 클라우드 컴퓨팅의 기반을 제공하는 기술 (논리적 구조로 되어 있음)

가상머신

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

스냅샷

  • 마치 사진 찍듯이 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술
  • Windows OS의 복원 지점과 같이 장애나 데이터 손상 시 스냅샷을 생성한 시점으로 데이터를 복구
  • 스냅샷은 원본 데이터를 그대로 복사해 다른 곳에 저장하는 백업과 달리 초기 생성 시 혹은 데이터의 변경이 있기 전까지는 스토리지의 공간을 차지하지 않음
  • 메타데이터(데이터에 대한 부가적인 정보)의 복사본에 해당하기 때문에 생성하는 데 오랜 시간이 걸리지 않고, 장애 상황이 발생해도 빠르게 데이터를 복원

데이터 센터

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

Region(지역)

  • Data Center가 위치한 지역
  • IT 리소스를 생성할 Region은 선택 가능
  • 대상 고객의 지역과 자원 생성할 Region이 최대한 가까워야 함
  • 국가마다 자원사용 비용이 다름

Availability Zone(가용영역)

  • 하나의 Region 은 두 개 이상의 Availability Zone 으로 구성

AWS EC2

기능

  • 인스턴스 : 가상 컴퓨팅 환경

  • Amazon 머신 이미지(AMI) : 서버에 필요한 운영체제와 여러 소프트웨어들이 적절히 구성된 상태로 제공되는 템플릿으로 인스턴스를 쉽게 만들 수 있음

  • 인스턴스 유형 : 인스턴스를 위한 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지 구성 제공

  • 키 페어 : 인스턴스 로그인 정보 보호(AWS는 퍼블릭 키를 저장하고 사용자는 개인 키를 안전한 장소에 보관하는 방식)

  • 인스턴스 스토어 볼륨 : 임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 중단, 최대 절전 모드로 전환 또는 종료 시 삭제됨

  • Amazon Elastic Block Store(Amazon EBS) : 영구 스토리지 볼륨에 데이터 저장

  • 보안 그룹 : 인스턴스에 연결할 수 있는 프로토콜, 포트, 소스 IP 범위를 지정하는 방화벽 기능

  • 탄력적 IP 주소(EIP) : 동적 클라우드 컴퓨팅을 위한 고정 IPv4 주소

  • 태그 : 사용자가 생성하여 Amazon EC2 리소스에 할당할 수 있는 메타데이터

  • Virtual Private Clouds(VPC) : AWS 클라우드에서는 논리적으로 격리되어 있지만 원할 때마다 고객의 네트워크와 간편히 연결할 수 있는 가상 네트워크

구성도

실습

대시보드 좌측 네트워크 및 보안 하위 목록에 키 페어로 들어가 키 페어를 생성 할 수 있다.

Mac은 .pem, Window는 .ppk를 선택한다.

메인 대시볻에서 인스턴스 시작을 눌러 인스턴스를 생성할 수 있다.

터미널에서 ssh -i keypair.ppk user_name @aws_public_dns으로 인스턴스에 연결 할 수 있다.

Elasticbeanstalk

  • Elastic Beanstalk를 사용하면 애플리케이션을 실행하는 인프라에 대해 자세히 알지 못해도 AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리할 수 있음
  • 선택 또는 제어에 대한 제한 없이 관리 복잡성을 줄여줌
  • 애플리케이션을 업로드하기만 하면 Elastic Beanstalk에서 용량 프로비저닝, 로드 밸런싱, 조정, 애플리케이션 상태 모니터링에 대한 세부 정보를 자동으로 처리
  • Go, Java, .NET, Node.js, PHP, Python 및 Ruby에서 개발된 애플리케이션을 지원함

0개의 댓글