[AWS] 주요 AWS 서비스의 개념

hhyeong_0·2024년 5월 4일

AWS 기초

목록 보기
1/7
post-thumbnail

Amazon S3 (Simple Storage Service)

: 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있도록 구축된 객체 스토리지입니다. 저장하는 데이터 양에 대한 비용도 저렴하고, 저장할 수 있는 데이터 양도 무한에 가깝습니다.

일반적인 파일서버는 트래픽이 증가함에 따라서 장비를 증설하는 작업을 해야 하는데 S3는 이와 같은 것을 대행한다. 트래픽에 따른 시스템적인 문제는 걱정할 필요가 없어진다. 또 파일에 대한 접근 권한을 지정 할 수 있어서 서비스를 호스팅 용도로 사용하는 것을 방지 할 수 있다.

특징

  • 스토리지 및 데이터 저장
    S3는 파일, 이미지, 비디오, 문서 등의 데이터를 저장하기 위한 공간을 제공합니다. 이 데이터들은 "버킷"이라고 불리는 저장 공간에 저장됩니다. 각 버킷은 전 세계 어느 곳에서나 고유한 이름을 가지며, 이를 통해 데이터를 관리하고 접근할 수 있습니다.

  • 확장성
    S3는 확장 가능한 서비스로, 수천 개에서 수백만 개의 파일을 저장하고 관리할 수 있습니다. 필요에 따라 스토리지 용량을 조정하거나 파일을 추가하거나 삭제할 수 있습니다.

  • 데이터 보안 및 접근 제어
    S3는 데이터 보안을 위한 다양한 기능을 제공합니다. 데이터를 암호화하여 저장하고, 접근 권한을 세밀하게 제어하여 누가 데이터에 접근하고 수정할 수 있는지를 관리할 수 있습니다.

  • 데이터 백업 및 복원
    S3는 데이터의 백업과 복원 기능을 사용하여 중요한 데이터를 안전하게 저장하고, 필요한 경우에는 데이터를 원래 상태로 복원할 수 있습니다.
  • 웹 호스팅 및 정적 웹 사이트 호스팅
    S3를 사용하여 정적 웹 페이지나 웹 사이트를 호스팅 할 수 있습니다. 이를 통해 비용을 절감하고, 빠르고 안정적인 웹 호스팅 환경을 구축할 수 있습니다.
  • 데이터 전송 및 배포
    S3를 사용하면 전 세계 어디에서나 데이터를 손쉽게 업로드하고 다운로드할 수 있습니다. 또한, 데이터를 글로벌하게 배포하기 위해 S3의 내용을 Content Delivery Network(CDN)와 통합하여 사용할 수 있습니다.
  • 비용 효율성
    S3는 사용한 용량에 따라 과금되며, 필요한 만큼만 비용을 지불하면 됩니다. 이로써 비용을 효율적으로 관리하면서 필요한 데이터 스토리지를 유연하게 활용할 수 있습니다.

Amazon EC2 (Elastic Compute Cloud)

Amazon EC2는 클라우드에서 크기 조정이 가능한 컴퓨팅 파워를 제공하는 웹 서비스입니다.
Amazon Simple Storage Service(S3)로 클라우드에서 스토리지를 사용할 수 있는 것처럼 Amazon EC2는 클라우드에서 ‘컴퓨팅’을 지원합니다.

쉽게 말해, 아마존의 컴퓨터를 한 대 빌리는 것!

특징

  • 컴퓨팅 요구사항의 변화에 따라 컴퓨팅 파워를 조정할 수 있다.
  • 실제로 사용한 용량 만큼만 지불한다 (서비스 요금을 미리 약정하거나 선입금, 하드웨어 비용이 필요 없음)
  • Linux / Windows 등 다양한 OS 선택이 가능하다
  • 몇 분이면 전세계에 컴퓨터 수백여대를 생성할 수 있다. (실제로 미국에 가서 건물 임대하고 컴퓨터 구입하고 네트워크 구축하는 비용과 시간에 서비스 신청만 하면 바로 이용)
  • 머신러닝, 웹서버, 게임서버, 이미지 처리 등 다양한 용도에 최적화된 서버를 쉽게 구성 가능
  • 여러 다른 AWS 서비스와의 유기적인 연동이 가능

참고: https://inpa.tistory.com/entry/AWS-📚-EC2-개념-사용-구축-세팅-💯-정리-인스턴스-EBS-AMI


Amazon S3 vs Amazon EC2

  1. 목적과 기능:
    아마존 EC2와 S3의 주요 차이점은 사용 목적과 기능에서 찾을 수 있습니다.
  2. 목적과 기능:
    • Amazon EC2는 가상 서버를 제공합니다. 사용자는 이를 통해 애플리케이션을 호스팅하고, 웹 서버를 실행하며, 백엔드 서버를 관리할 수 있습니다. EC2는 컴퓨팅 파워를 요구하는 작업을 위해 설계되었습니다.
    • Amazon S3는 객체 스토리지 서비스로, 이미지, 비디오, 로그 파일 등 다양한 형태의 데이터를 저장하고 관리하기 위한 용도로 사용됩니다. S3는 대용량의 데이터를 저장하고, 언제 어디서나 데이터에 접근할 수 있도록 설계되었습니다.
  3. 데이터 저장 방식:
    • EC2는 주로 가상 컴퓨팅 환경에서 사용되는 일시적인 저장 공간(인스턴스 스토리지) 또는 영구적인 네트워크 연결 스토리지(EBS)를 사용합니다.
    • S3는 인터넷을 통해 접근할 수 있는 객체 기반의 스토리지를 제공합니다. 데이터는 객체 형태로 저장되며, 각 객체는 고유한 URL을 통해 접근할 수 있습니다.
  4. 사용 사례:
    • EC2는 웹 애플리케이션 호스팅, 데이터베이스 관리, 백엔드 서버 운영 등 컴퓨팅 파워가 필요한 작업에 적합합니다.
    • S3는 웹 사이트의 이미지나 비디오 호스팅, 백업 및 아카이브, 빅데이터 분석용 데이터 저장소 등 대용량 데이터 저장에 적합합니다.

      이미지 저장에 EC2 사용 가능성:
      이미지를 저장하기 위해서 EC2를 사용할 수는 있다. 예를 들어, EC2 인스턴스에 웹 서버를 구축하고 그 서버 내부의 디스크 공간을 사용하여 이미지 파일을 저장할 수 있다. 하지만, 이 방법은 권장되지 않는다.
      EC2는 주로 컴퓨팅 자원을 제공하는 서비스이기 때문에, 대규모 이미지 저장 같은 정적 콘텐츠 관리에는 비효율적일 수 있다. 대신, S3 같은 객체 스토리지 서비스를 사용하는 것이 더욱 적합하다. S3는 스케일링, 접근성, 비용 효율성 등에서 이미지와 같은 정적 콘텐츠를 저장하기에 더 좋은 선택이다.

Amazon CloudFront

: Amazon CloudFront는 Amazon Web Services(AWS)가 제공하는 글로벌 콘텐츠 전송 네트워크(CDN) 서비스입니다. 이 서비스는 사용자에게 웹 콘텐츠와 애플리케이션을 빠르고 안정적으로 전달하기 위해 설계되었습니다. CloudFront는 전 세계에 분산된 데이터 센터(엣지 로케이션)를 통해 사용자에게 콘텐츠를 제공함으로써 응답 시간을 단축하고 애플리케이션의 성능을 향상시킵니다.

주요 기능 및 특징

  1. 글로벌 배포 네트워크: CloudFront는 전 세계에 걸쳐 수백 개의 엣지 로케이션을 보유하고 있으며, 이를 통해 전 세계 어디서나 사용자에게 빠른 콘텐츠 전송 속도를 제공합니다.

  2. 콘텐츠 캐싱: 사용자의 요청에 따른 콘텐츠는 엣지 로케이션에 캐시되어, 동일한 요청이 있을 때 더 빠르게 콘텐츠를 제공할 수 있습니다. 이는 응답 시간을 단축시키고 원본 서버의 부하를 줄여줍니다.

  3. 다양한 콘텐츠 지원: CloudFront는 정적 파일(html, css, js, 이미지 파일 등)은 물론 동적 콘텐츠, 스트리밍 콘텐츠, 그리고 사용자 정의화된 콘텐츠까지 다양한 형태의 콘텐츠 전송을 지원합니다.

  4. 보안: AWS WAF(Web Application Firewall)와 연동하여 보안을 강화할 수 있으며, HTTPS를 사용한 콘텐츠 암호화를 지원합니다. 또한, 개인 콘텐츠에 대한 액세스 제어 기능을 제공합니다.

  5. 통합 및 호환성: CloudFront는 AWS의 다른 서비스들과 쉽게 통합되어 사용할 수 있습니다. 예를 들어, Amazon S3, EC2, Elastic Load Balancing(ELB)과 같은 서비스와 결합하여 사용할 수 있으며, AWS Management Console을 통해 간편하게 설정하고 관리할 수 있습니다.


Amazon VPC (Amazon Virtual Private Cloud)

: Amazon Virtual Private Cloud (Amazon VPC)는 사용자가 AWS 클라우드에서 격리된 섹션을 정의할 수 있게 해주는 서비스로, 이를 통해 사용자는 가상 네트워킹 환경을 사용자 지정할 수 있습니다.
Amazon VPC 내에서 EC2 인스턴스와 같은 AWS 리소스를 시작할 수 있으며, 사용자는 IP 주소 범위를 선택하고, 서브넷을 생성하고, 라우팅 테이블네트워크 게이트웨이를 구성할 수 있습니다.

기대 효과

Amazon VPC를 사용함으로써 사용자는 AWS 클라우드 내에서 고도로 사용자 정의 가능하고, 보안성이 강화된 네트워킹 환경을 구축할 수 있으며, 이를 통해 클라우드 리소스의 보안 및 관리 효율성을 크게 향상시킬 수 있습니다.


Elastic Load Balancer (Application Load Balancer)

: Elastic Load Balancing (ELB)는 AWS에서 제공하는 부하 분산 서비스입니다.
ELB는 여러 서버 간에 들어오는 네트워크 트래픽을 자동으로 분산시켜 애플리케이션의 가용성과 내구성을 향상시킵니다.
Application Load Balancer (ALB)는 ELB의 한 유형으로, 주로 HTTP 및 HTTPS 트래픽을 위한 고급 라우팅 기능을 제공하며, 마이크로서비스 및 컨테이너 기반 아키텍처에 적합합니다.

Application Load Balancer의 주요 특징:

  • 계층 7 로드 밸런싱: ALB는 OSI 모델의 계층 7 (애플리케이션 계층)에서 작동하여 HTTP 및 HTTPS 트래픽을 스마트하게 관리합니다. URL 경로, 호스트 이름, HTTP 헤더, HTTP 메소드 등의 정보를 기반으로 트래픽을 라우팅할 수 있습니다.

  • 탄력성 및 자동 확장: 트래픽이 증가하거나 감소함에 따라 ALB는 자동으로 확장 및 축소되어 애플리케이션의 변화하는 요구 사항에 맞게 조정됩니다.

  • 고급 라우팅 기능: ALB는 사용자 정의 라우팅 규칙을 통해 특정 사용자 요청을 다양한 백엔드 서비스로 직접 라우팅할 수 있습니다. 예를 들어, 다른 URL 경로를 사용하여 다른 마이크로서비스에 요청을 라우팅할 수 있습니다.

  • 건강 검사: ALB는 등록된 대상의 상태를 주기적으로 검사하여, 오류가 있는 인스턴스에는 트래픽을 보내지 않습니다. 이를 통해 높은 가용성을 유지할 수 있습니다.

  • 보안 기능: ALB는 AWS WAF(웹 애플리케이션 방화벽)과 통합하여 애플리케이션을 보호할 수 있습니다. 또한, HTTPS 리스너를 사용하여 SSL/TLS 인증서를 쉽게 관리하고 트래픽 암호화를 할 수 있습니다.

  • 사용 용이성: AWS Management Console, AWS CLI, 또는 SDK를 통해 쉽게 설정하고 구성할 수 있습니다. 또한, 세분화된 액세스 제어와 상세한 모니터링 기능을 제공하여 운영 효율성을 높일 수 있습니다.

Application Load Balancer는 복잡한 애플리케이션 환경에서 트래픽을 효과적으로 관리하고, 애플리케이션의 가용성과 성능을 극대화하기 위한 강력한 도구입니다.


Amazon RDS

Amazon Relational Database Service (Amazon RDS)는 AWS에서 제공하는 관리형 관계형 데이터베이스 서비스입니다. Amazon RDS를 사용하면 사용자는 클라우드에서 관계형 데이터베이스를 쉽게 설정, 운영 및 확장할 수 있습니다. 이 서비스는 여러 데이터베이스 엔진 옵션을 제공하며, 관리 작업을 자동화하여 데이터베이스 관리의 복잡성을 줄여줍니다.

Amazon RDS의 주요 특징

  1. 관리 및 유지보수 자동화: Amazon RDS는 백업, 소프트웨어 패치, 자동 장애 감지 및 복구와 같은 관리 작업을 자동화합니다. 이를 통해 데이터베이스 관리에 드는 시간과 노력을 크게 줄일 수 있습니다.

  2. 확장성: 사용자는 몇 번의 클릭만으로 데이터베이스 인스턴스의 CPU, 메모리, 스토리지를 확장할 수 있습니다. Amazon Aurora 같은 경우에는 자동 확장되는 스토리지를 제공합니다.

  3. 고가용성 및 내구성: Amazon RDS는 Multi-AZ 배포를 지원하여 데이터베이스의 고가용성과 내구성을 보장합니다. 이 옵션을 사용하면 데이터베이스가 여러 가용 영역에 자동으로 복제되어, 하나의 영역에 문제가 발생해도 데이터베이스 작업이 계속될 수 있습니다.

  4. 보안: Amazon RDS는 VPC 내에서 데이터베이스 인스턴스를 실행하여 네트워크 접근을 제어할 수 있습니다. 또한, 데이터베이스 엔진의 암호화를 지원하여 저장된 데이터와 전송 중인 데이터를 보호합니다.

Amazon RDS를 사용하면 개발자와 기업은 데이터베이스 관리에 드는 시간을 줄이고, 애플리케이션 개발 및 운영에 더 집중할 수 있습니다. Amazon RDS는 유연하고 비용 효율적이며, 높은 성능과 안정성을 제공하는 관리형 데이터베이스 솔루션입니다.


Auto Scaling

AWS Auto Scaling은 Amazon Web Services(AWS)에서 제공하는 서비스로, 사용자의 애플리케이션에 필요한 컴퓨팅 리소스를 자동으로 조정합니다. 이를 통해 애플리케이션이 사용자의 수요에 맞게 적절한 성능을 유지하면서도 비용 효율적으로 운영할 수 있도록 돕습니다. AWS Auto Scaling은 EC2 인스턴스, ECS 태스크, DynamoDB 테이블, Aurora DB 클러스터 등 다양한 AWS 리소스에 적용할 수 있습니다.

AWS Auto Scaling의 주요 특징

  • 자동 리소스 조정: 사용자 정의 정책에 따라 애플리케이션의 로드 변화에 맞춰 자동으로 리소스를 추가하거나 제거할 수 있습니다. 이는 사용자의 수요가 증가할 때 리소스를 자동으로 확장하여 성능 저하를 방지하고, 수요가 감소할 때 리소스를 줄여 비용을 절감합니다.

  • 다양한 리소스 지원: AWS Auto Scaling은 Amazon EC2 인스턴스뿐만 아니라 Amazon ECS, Amazon DynamoDB, Amazon RDS, Amazon Aurora 등 다양한 서비스에 대한 자동 확장을 지원합니다.

  • 유연한 정책 설정: 사용자는 CPU 사용량, 네트워크 트래픽, 애플리케이션 수준의 지표(예: 로그인 사용자 수, 페이지 뷰 등)와 같은 다양한 지표를 기반으로 확장 정책을 설정할 수 있습니다.

  • 성능과 비용 최적화: AWS Auto Scaling은 애플리케이션의 성능을 유지하면서도 최소한의 비용으로 운영할 수 있도록 돕습니다. 사용자는 최소 및 최대 리소스 한도를 설정할 수 있으며, Auto Scaling이 이 범위 내에서 자동으로 리소스를 조정합니다.

  • 간편한 관리 및 모니터링: AWS Management Console, AWS CLI, AWS SDK를 통해 Auto Scaling을 쉽게 설정하고 관리할 수 있습니다. 또한, Amazon CloudWatch와 통합되어 리소스의 성능 지표를 실시간으로 모니터링하고, 설정한 정책에 따라 자동으로 조정 사항을 적용할 수 있습니다.

AWS Auto Scaling을 사용하면 애플리케이션의 가용성과 성능을 보장하면서도 비용을 최적화할 수 있습니다. 이는 클라우드 리소스 관리의 복잡성을 줄이고, 사용자 경험을 개선하는 데 도움이 됩니다.

profile
배우고 기록하자 !

0개의 댓글