[공통] [AWS] Amazon Web Services_11.22

송철진·2022년 11월 21일
0

요약

  • AWS(Amazon Web Services) : 아마존에서 제공하는 클라우드 서비스
    • 클라우드 컴퓨팅의 특징과 장점 그 이상
    • 서비스 지역 : 리전(Regions), 가용 영역(Availability Zones), 엣지 로케이션(Edge Location)
  • EC2 : 클라우드 컴퓨터를 인스턴스화하여 제공하는 서비스
    단순 클릭 몇번을 통해 쉽게 EC2 인스턴스를 생성 및 해당 서버로 API 배포
  • RDS : 클라우드에서 간편하게 데이터베이스를 설치, 운영 및 확장할 수 있게 하는 서비스
  • S3 : 파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스
  • VPC : 계정 별로 독립된 네트워크 환경을 구성할 수 있게 도와주는 서비스.
    데이터 센터에서 직접 네트워크 환경을 만드는 것과 같이 클라우드 환경에서도 네트워크를 구축.
  • CloudFront : 글로벌하게 구축되어 있는 엣지 로케이션을 기반으로 CDN 기능을 제공하는 서비스입니다.
  • Route 53 : AWS의 DNS 서비스.
  • ELB : 추가 보안 옵션 제공, 고가용성 및 탄력성을 갖춘 로드 밸런싱 서비스.
  • IAM : AWS 리소스에 대해 개별적으로 접근을 제어하거나 권한을 가지도록 계정 또는 그룹을 생성 및 관리하는 서비스.

1. AWS란?

Amazon Web Services

다양한 컴퓨팅 자원을 온디맨드로 사용할 수 있는 아마존 클라우드 서비스

장점

  • 사용자가 직접 물리적인 서버 장비를 구입하거나 임대하여 설치할 필요가 없음
  • 사용자가 원격으로 손쉽고 빠르게 서버 구축.

1-1. AWS의 탄생 배경

아마존의 인터넷 쇼핑몰 트래픽과 주문량 증가
👉 안정적, 대규모, 저렴한 내부 인프라 시스템(컴퓨팅, 스토리지, 데이터베이스) 구축
👉 전세계 모든 회사를 대상으로 제공하자; AWS 탄생

1-2. AWS를 사용하는 이유

[그림 1-1] 클라우드 플랫폼 서비스에 대한 매직 쿼드런트

아마존 외에도 클라우드 서비스 프로바이더들이 있고
많은 기업들의 클라우드 의존성이 확대되고 있음
AWS는 이러한 클라우드 마켓의 선구자이자 리더이다.

클라우드 컴퓨팅의 장점

  1. 물리적인 장비의 구매나 임대 계약 없이 사용 가능.
  2. 원하는 시간 동안 원하는 만큼 컴퓨팅 자원을 사용하고 사용한 만큼의 비용만 지불.
  3. Scale-up(서버 자체 성능 향상)과 Scale-out(서버 수 확장)이 자유로움.
  4. 원하는 리소스 타입과 사이즈를 유동적으로 쉽게 변경 가능.
  5. 다양한 리전을 제공, 글로벌 서비스로 확장 용이.
  6. 서버와 네트워크, 프로그램 등의 정보 시스템의 높은 고가용성(High-availability) 보장.

AWS의 특징

  • 위의 클라우드 장점 포함,
  • 기업에서 기존에 갖고 있던 프로그래밍 모델, OS, 데이터베이스 및 아키텍처를 사용 할 수 있게 지원
  • 다양한 비즈니스 요구 사항에 맞게 아키텍처를 혼합하고 구성하는 뛰어난 유연성
  • 기업이 고객의 요구에 맞추면서도 비용을 관리하기 위해 자체 애플리케이션에 AWS 리소스를 신속하게 추가하고 제거 할 수 있는 확장성 및 탄력성
  • 기업이 관리하는 사용자들의 개인 정보 보호를 위해 AWS는 보안 모범 사례에 따라 서비스를 구축
  • 그 서비스에 적절한 보안 기능을 도입하며 해당 보안 기능의 사용법을 문서화하여 뛰어난 보안성을 제공.
  • 대규모의 글로벌 인프라를 안전하고 신뢰할 수 있는 방식으로 제공해 온 아마존의 15년 이상 경험을 활용.
    👉 downtime(시스템 이용 불가 시간)이 매우 적음. 안정성 보장.
  • 요약: 어떤 규모의 기업이든 유연성, 경제성, 확장성, 사용 간편성, 안정성 보장

2. AWS 글로벌 인프라

[그림 2-1] AWS 글로벌 인프라 맵

서비스 지역:

  • 리전(Regions)
  • 가용 영역(Availability Zones)
  • 엣지 로케이션(Edge Location)

2-1. 리전(Regions)

AWS가 전 세계에서 데이터 센터를 클러스터링하는 기준이 되는 물리적 위치
= 완전히 독립적인 개별 지리 영역.

사용자와 리전이 가까울수록 네트워크 지연 최소화
실제 서비스 사용자와 가장 가까운 리전을 선택 및 그 리전의 클라우드 인프라를 사용
AWS 서비스들은 대부분 리전 기반으로 제공.
사용하고자 하는 서비스(컴퓨팅, 스토리지, 데이터베이스 등)가 특정 리전에서 제공되는지를 미리 확인해야 한다

2-2. 가용 영역(Availability Zones)

리전안에 존재하는 데이터 센터의 논리적인 그룹. 리전 내 격리된 위치.

각 가용 영역은 물리적으로는 격리

  • 자연재해 등에 의한 피해 최소화
  • 네트워크 링크를 통한 논리적 연결 👉 한 곳에 장애 발생 시, 다른 곳으로 인스턴스 주소를 매핑하여 문제를 커버함
  • 리전들보다 빠르게 통신, 서비스 결합 높음.

사용자가 여러 가용 영역에 걸쳐 서비스를 배치해
내결함성을 한층 더 강화한 서비스를 구성 및 제공할 수 있다

2-3. 엣지 로케이션(Edge Location)

AWS의 CDN(Content Delivery Network) 서비스인 CloudFront의 캐싱 콘텐츠가 위치하는 곳
CloudFront만을 위한 공간.
CDN 엣지가 사용자 근처에 있을수록 더욱 빨리 전달 받을 수 있음.
=> 리전과 별도로 훨씬 더 많이 전세계 주요 도시 곳곳에 분포

CDN
인터넷상에 콘텐츠를 캐싱하여 좀 더 빠르게 사용자에게 전달토록 지원.

3. AWS의 주요 서비스 및 개념

3-1. EC2

Elastic Compute Cloud

실제 클라우드 컴퓨터를 인스턴스화하여 제공하는 서비스,

사용자가 단순 클릭 몇번을 통해 쉽게 사양을 고르고 원하는 시간만큼 EC2 인스턴스를 생성해서 해당 서버로 API를 배포할 수 있다.

  • 운영 서버에 필요한 대부분의 OS(Ubuntu, CentOS, Window, MacOS 등) 지원
  • 사용 목적에 맞는 수십 가지 사양들(CPU, Memory, Storage ..) 제공.
  • 거의 모든 작업의 API화
    👉 Auto Scaling 서비스 이용 가능.
    (트래픽 부하 증가/감소 시, 인스턴스(가상 컴퓨팅 환경) 자동 확대/축소)

3-2. RDS

Relational Database Service

클라우드에서 간편하게 데이터베이스를 설치, 운영 및 확장 서비스

  • 하드웨어 프로비저닝 제공
  • 설정, 백업과 같은 시간 소모적인 데이터베이스 관리 테스크를 제거하여 훨씬 효율적으로 운영

하드웨어 프로비저닝
: 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포하고 필요 시 즉시 사용할 수 있는 상태로 미리 준비해두는 것

장점

  • 사용자가 직접 서버를 생성해서 데이터베이스를 설치하거나 설정하고 관리 하지 않아도 됨
  • 더 저렴하여 비용적인 측면에서도 효율적.

3-3. S3

Simple Storage Service

파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스

  • 파일 저장 및 파일마다 고유 주소를 부여
  • 사이트상의 이미지들을 저장하고 사이트에서 읽어들여 렌더링 해주는데 사용

3-4. VPC

Virtual Private Cloud

클라우드 환경을 계정 별로 독립된 네트워크 환경을 구성할 수 있게 도와주는 서비스

  • 어떤 리소스라도 논리적으로 분리된 퍼블릭/프라이빗 영역에 격리
  • 사용자가 네트워크 환경 설정에 대한 완전한 통제권 보유
    • VPC를 통해 만든 네트워크에서
      자체 IP 주소, 자체 IP 범위, 퍼블릭 및 프라이빗 서브넷, 라우트 테이블, 네트워크 게이트웨이 등 모든 기능 활용 가능
    • 온프레미스 방식으로 데이터 센터에서 직접 네트워크 환경을 만드는 것과 같이 클라우드 환경에서도 네트워크를 구축 가능.

3-5. CloudFront

AWS에서 제공하는 CDN(Content Delivery Network) 서비스

CDN

  • 인터넷상에 콘텐츠를 캐싱하여 좀 더 빠르게 사용자에게 전달토록 지원.
  • 동작 방식
    1. 사용자로부터 요청이 발생
    2. 엣지 서버가 요청이 발생한 데이터에 대해 캐싱 여부 판단;
    • 사용자와 근접한 엣지 서버에 캐싱 데이터가 존재하는가?
      • Y : 요청에 맞는 데이터를 응답!
      • N : 오리진 서버로 요청을 포워딩!

장점

  • 빠르다
  • 성능이 높다
    : 많은 수의 엣지 로케이션 기반으로 사용자의 콘텐츠 요청 시,
    지연시간(latency)이 가장 낮은 엣지 로케이션으로 라우팅

3-6. Route 53

AWS의 DNS(Domain Name System) 서비스

DNS

  • 사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP주소(예: 192.0.2.44)로 변환해주는 역할

비유)

DNS전화번호부배달 주소 부를 때
도메인: www.amazon.com친구 이름위워크
IP: 192.0.2.44전화번호테헤란로 427
호스트위코드 공간 자체

장점

  • 가용성, 확장성 높음
  • AWS 인프라의 각종 네트워크 제어, 도메인 등록, DNS 라우팅, 상태 확인과 같은 주요 기능들을 간편하게 사용 가능
  • AWS 내의 다른 서비스들과 호환성 높음

3-7. ELB

Elastic Load Balancer

AWS의 로드 밸런서 제공 서비스

로드 밸런서: 서버로 들어오는 높은 애플리케이션 트래픽을 여러 대상에 적절히, 자동으로 분산시켜 안정적으로 서버를 운영할 수 있게 지원.

장점

  • 로드 밸런서의 기능
  • 여러 보안 옵션 제공
  • 애플리케이션 서버의 사용률에 따라 자동으로 추가/제거되는 고가용성, 탄력성
  • 트래픽을 라우팅할 여러 대상들이 정상으로 구동되는 상태인지 확인
  • 모니터링, 로깅

3-8. IAM

Identity and Access Management

AWS의 리소스에 대해 개별적으로 접근제어를 하거나 권한을 가지도록 계정 또는 그룹을 생성 및 관리하는 서비스

접근 권한 나눌 수 있음

  • 한 IAM 계정에 only EC2 서비스
  • 다른 IAM 계정에 only S3 서비스

초기 AWS 계정 생성시: 루트 사용자

  • 모든 AWS 서비스 및 리소스에 대해 완전한 엑세스 권한 있음
  • 모든 서비스에 대한 권한 있어 보안에 매우 취약
    👉 IAM 계정을 생성해 각각 필요한 권한만 갖도록 설정. 관리측면에서 유용
    👉 IAM 계정은 access key(시크릿 키)를 개별적 관리(보안성 높음)

IAM 인프라 자격증, AWS 자격증 취득 시 이직에 좋다

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글