본문 바로가기

ETC

AWS란?

728x90
반응형

AWS(Amazon Web Services)는 아마존에서 제공하는 클라우드 컴퓨팅 서비스 플랫폼이다. 다양한 서비스와 인프라스트럭처를 제공하며, 전 세계 많은 기업과 개발자가 이 플랫폼을 통해 애플리케이션을 개발하고 운영한다.

오늘 포스팅에서는 AWS에 대해 기본 개념, 주요 서비스, 그리고 장단점에 대해 알아보자.


1. AWS의 개념

AWS는 인터넷을 통해 컴퓨팅 파워, 스토리지, 데이터베이스, 네트워크 등 다양한 인프라 자원을 제공하는 클라우드 플랫폼이다. AWS의 자원은 사용량에 따라 비용이 청구되는 종량제 기반으로 제공된다. 이를 통해 기업과 개발자는 자체 서버를 구매하거나 관리할 필요 없이 AWS의 인프라를 사용해 애플리케이션을 개발하고 확장할 수 있다.


2. AWS의 주요 서비스

AWS는 수백 가지에 달하는 서비스를 제공하지만, 그 중에서 가장 널리 사용되는 몇 가지 주요 서비스들을 알아보자.

2.1. EC2 (Elastic Compute Cloud)

  • EC2는 가상 서버 인스턴스를 제공하는 서비스로, 사용자가 원하는 OS와 스펙을 선택해 인스턴스를 생성하고 배포할 수 있다.
  • 수요에 따라 서버 수를 늘리거나 줄일 수 있어 애플리케이션 확장에 유리하다.
  • 예시: 웹 서버를 EC2 인스턴스에 배포하여 트래픽에 따라 서버를 확장하거나 축소할 수 있다.

2.2. S3 (Simple Storage Service)

  • S3는 파일 스토리지 서비스로, 이미지, 비디오, 문서 등의 파일을 인터넷에 안전하게 저장할 수 있다.
  • 내구성과 확장성이 높으며, 사용량에 따라 비용이 청구된다.
  • 예시: 웹 애플리케이션의 사용자 프로필 이미지나 데이터 백업 파일을 S3에 저장할 수 있다.

2.3. RDS (Relational Database Service)

  • RDS는 관리형 관계형 데이터베이스 서비스로, MySQL, PostgreSQL, MariaDB, Oracle, SQL Server 등 여러 DBMS를 지원한다.
  • 자동 백업, 복제, 장애 조치 등이 가능하여 데이터베이스 관리가 쉬워진다.
  • 예시: 애플리케이션의 사용자 데이터나 트랜잭션 데이터를 RDS에 저장할 수 있다.

2.4. Lambda

  • Lambda는 서버리스 컴퓨팅 서비스로, 코드가 특정 이벤트에 의해 실행된다.
  • 사용자가 서버를 관리하지 않아도 되며, 코드가 실행되는 동안만 비용이 발생하므로 효율적이다.
  • 예시: 특정 파일이 S3에 업로드되면 자동으로 이미지 크기를 조절하거나, 데이터 처리를 수행하는 함수를 작성할 수 있다.

2.5. VPC (Virtual Private Cloud)

  • VPC는 사용자가 직접 정의한 네트워크 안에 인프라 자원을 배치할 수 있도록 하는 가상 네트워크 서비스이다.
  • 보안 그룹과 네트워크 ACL을 사용해 보안 수준을 높일 수 있다.
  • 예시: 내부에서만 접근 가능한 데이터베이스 서버를 VPC에 배치해 외부 공격을 차단할 수 있다.

2.6. CloudFront

  • CloudFront는 콘텐츠 전송 네트워크(CDN) 서비스로, 전 세계에 분산된 엣지 로케이션을 통해 사용자가 빠르게 콘텐츠에 접근할 수 있도록 돕는다.
  • 웹 사이트, 동영상, 이미지 등 대용량 데이터를 빠르게 전송할 때 사용된다.
  • 예시: 웹사이트의 정적 콘텐츠를 CloudFront에 배포하여 사용자들이 지리적으로 가까운 서버에서 콘텐츠를 받도록 할 수 있다.

3. AWS의 장점

  • 확장성: AWS는 사용자가 필요에 따라 서버와 스토리지를 손쉽게 확장하거나 축소할 수 있어, 트래픽의 변화에 유연하게 대처할 수 있다.
  • 글로벌 인프라: 전 세계에 위치한 여러 리전과 가용 영역을 통해 글로벌 서비스를 운영할 수 있으며, 지리적으로 가까운 서버에서 데이터를 전송받아 더 빠른 응답 속도를 제공한다.
  • 비용 절감: 하드웨어 구매 및 유지 보수에 드는 비용을 절감할 수 있으며, 사용한 만큼만 비용을 지불하는 종량제 요금제로 부담을 줄일 수 있다.
  • 보안 및 컴플라이언스: AWS는 다양한 보안 기능을 제공하며, HIPAA, GDPR, SOC 등의 컴플라이언스 표준을 준수하므로, 높은 수준의 보안을 요구하는 산업에서도 사용 가능하다.
  • 다양한 서비스와 통합 가능: 수많은 서비스를 API로 제공하여 서로 연동할 수 있어, 다양한 애플리케이션을 쉽게 구축할 수 있다.

4. AWS의 단점

  • 복잡성: AWS는 기능이 많고 다양한 설정이 가능하기 때문에 초보자에게는 다소 어렵게 느껴질 수 있다. 또한, 최적의 환경을 구축하기 위해 많은 학습이 필요하다.
  • 비용 관리 어려움: 수많은 서비스가 종량제 방식으로 청구되기 때문에, 관리가 미흡할 경우 예상치 못한 비용이 발생할 수 있다. 비용 절감 전략을 적극적으로 도입해야 한다.
  • 데이터 종속성: AWS에 데이터를 저장하게 되면, 다른 클라우드 서비스로 이전하기가 어려울 수 있다. 이를 벤더 락인(vendor lock-in) 문제라고 하며, 데이터 이전 시 비용과 시간이 많이 소요된다.
  • 지원 비용: 기술 지원이 필요한 경우, 별도의 지원 플랜을 구매해야 한다. 무료 지원도 제공되지만, 신속하고 구체적인 지원을 받으려면 유료 플랜을 고려해야 한다.

5. AWS의 사용 사례

  • 스타트업: 빠르게 애플리케이션을 개발하고 배포해야 하는 스타트업들이 AWS를 사용하여 초기 인프라 비용을 절감하고, 필요에 따라 유연하게 확장할 수 있다.
  • 대기업: 대규모 데이터를 분석하고 관리할 필요가 있는 대기업들은 AWS를 통해 데이터를 효율적으로 관리하고, 클라우드 기반의 머신러닝, 빅데이터 분석 서비스를 이용해 비즈니스 인사이트를 얻는다.
  • 게임 개발: 게임 서버, 데이터베이스, 사용자 인증 등 다양한 요소를 AWS를 통해 구현하고 관리할 수 있으며, 글로벌 사용자에게 빠르게 서비스를 제공할 수 있다.
728x90
반응형

'ETC' 카테고리의 다른 글

쿼리튜닝?  (0) 2024.10.15
ElasticSearch란?  (2) 2024.10.13
NoSql이란?  (2) 2024.10.11
동기 / 비동기  (0) 2024.10.10
시간 복잡도란?  (0) 2024.10.09