What is AWS? _1

Sonny__·2023년 5월 3일
post-thumbnail

많은 기업들이 다양한 이점으로 인하여 Cloud Computing 을 사용한다. 그 중, 가장 많은 점유율을 차지하는 AWS 에 대해 공부해보고자 한다.


🤔AWS란 무엇일까?

1. On-premise vs Cloud Computing

1) On-premise

  • 시스템 및 소프트웨어를 로컬 환경 또는 자체적으로 구축한 서버와 데이터 센터에서 운영하는 방식.
  • 조직이 데이터와 시스템을 직접 통제하고, 보안 및 커스터마이징 요구사항에 우선적으로 대응해야 하는 경우 적합
  • 그러나, 초기 비용과 운영 및 유지관리에 많은 투자가 필요하며, 더 많은 관리 부담이 따를 수 있다.

2) Cloud Computing

  • 인터넷을 통하여 데이터를 저장하거나 데이터베이스, 서버, 스토리지, 네트워킹, 소프트웨어와 같은 도구, 애플리케이션등 다양한 서비스를 제공하는 기술 및 모델.
  • 필요한 만큼 리소스를 신속하게 확장하거나 축소할 수 있는 유연성을 제공
    • 비즈니스 요구사항에 따라 인프라를 쉽게 조정가능
  • 초기 투자 비용을 줄일 수 있으며, 필요한 리소스만 사용하여 효율적으로 비용을 관리할 수 있다.
  • 유지보수와 관리의 간소화
  • 높은 가용성과 신뢰성 등의 이점이 있다.

다양한 이점으로 인해 클라우드 컴퓨팅을 사용하게 된다. AWS, Google Cloud, Microsoft Azure 등이 해당된다.

AWS 인프라와 관련된 요소

1) AWS VPC(Virtual Private Cloud)

  • 가상 네트워크 서비스로 퍼블릭 네트워크와 프라이빗 네트워크를 분리하고 모니터링 할 수 있도록 해주는 서비스
  • 네트워크 구성과 관련된 사실상 모든 기능을 담당하며, 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사한 형태
  • VPC를 생성한 후, 서브넷을 추가할 수 있다.
  • 리소스 배치, 연결 및 보안을 포함하여 가상 네트워킹 환경을 완전히 제어할 수 있다.


출처 : https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html

  • VPC 이라고 생각하자.
  • 역할을 하는 인터넷 게이트웨이가 존재한다.
    • 인터넷과 VPC의 소통은 Internet gateway를 통해서 진행된다.
    • 라우팅 테이블을 통해 네트워크 트래픽이 전달되는 위치를 결정한다.(어떤 서브넷으로 갈것인지)
  • 역할을 하는 서브넷이 존재한다.
    • VPC의 IP 주소 범위이다.
    • 특정 서브넷에서 EC2 인스턴스와 같은 AWS 리소스를 생성할 수 있다.
    • 퍼블릭 서브넷 : 인터넷 게이트웨이에 대한 직접 경로가 있기 때문에 퍼블릭 서브넷의 리소스는 퍼블릭 인터넷에 엑세스할 수 있다.
    • 프라이빗 서브넷 : 인터넷 게이트웨이에 대한 직접 경로가 없기 때문에 프라이빗 서브넷의 리소스가 퍼블릭 인터넷에 엑세스하려면 NAT장치가 필요하다.
    • VPN 전용 서브넷 : 인터넷 게이트웨이에 대한 경로가 없으며 가상 프라이빗 게이트웨이를 통한 Site-to-Site VPN연결 경로가 있다.

출처 : https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html

2) AWS API Gateway

  • 서버의 대문같은 역할을 한다.
  • 모든 규모에서 REST, HTTP 및 WebSocket API를 생성, 게시, 유지관리, 모니터링 및 보안유지 할 수 있도록 하는 완전 관리형 서비스
  • 도메인을 할당해준다고 생각하자
  • 외부사용자가 내부에 접근하기 위해 제일 처음 접근하는 곳
  • ex) 인증, 트래픽 관리..

3) AWS ELB(Elastic Load Balancing)

  • Elastic Load Balancing은 수신 트래픽을 하나 이상의 가용 영역에 있는 EC2 인스턴스, 컨테이너 및 IP주소와 같은 여러 대상에 자동으로 분산한다.
  • 등록된 대상의 상태를 모니터링하고 정상 대상으로만 트래픽을 라우팅 한다.
  • 들어오는 트래픽의 변화에 따라 로드 밸런서 용량을 자동으로 조정한다.
  • 즉, 부하를 분산 시켜준다.
  • 애플리케이션에 대해 전반적인 요청 흐름을 방해하지 않고 필요에 따라 로드 밸런서에서 컴퓨팅 리소스를 추가하고 제거할 수 있다.
  • 정상 리소스에만 요청을 보내도록 컴퓨팅 리소스의 상태를 모니터링하는 상태 확인을 구성할 수 있다.
  • Application Load Balancer / Network Load Balancer / Gateway Load Balancer / Classic Load Balancer등이 있다. : ALB를 많이 사용함.
  • 라운드 로빈 : 컴퓨터 네트워크에서 사용되는 스케줄링 알고리즘

4) AWS S3(Simple Storage Service)

  • 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스
  • 이미지, 오디오 파일, 동영상과 같은 정적 파일들을 용이하게 관리하도록 돕는 스토리지 서비스
  • 단순 파일의 저장 공간을 넘어서서 데이터를 저장하는 스토리지 플랫폼
  • 데이터를 버킷(객체의 컨테이너) 내에 객체로 저장하는 객체 스토리지 서비스
  • ex) 로그 : AWS안에서 이뤄지는 대부분의 로그는 S3에 저장 됨.

5) AWS CloudFront

  • 콘텐츠 전송 네트워크(CDN) 서비스
  • CDN이란 :
    • 데이터 사용량이 많은 애플리케이션의 웹페이지 로드 속도를 높이는 상호 연결된 서버 네트워크
    • 주 목적은 대기 시간을 줄이거나 네트워크 설계로 인해 발생하는 통신 지연을 줄이는 것
    • 클라이언트에서 서버로 요청을 보내고 응답을 반환하는 양방향 통신
    • CDN은 클라이언트 와 웹 사이트 서버 간에 중간 서버를 두어 효율성을 높인다.
  • 엣지 로케이션이라고 하는 전 세계 데이터 센터 네트워크를 통해 콘테츠를 제공한다.
    • 현재 48개국 90개가 넘는 도시에서 410개가 넘는 접속 지점(엣지 로케이션 400개 이상, 리전별 중간 티어 캐시 13개)로 구성된 글로벌 네트워크를 지원
  • CloudFront에서 제공하는 콘텐츠를 사용자가 요청하면 지연시간(시간 지연)이 가장 짧은 엣지 로케이션으로 요청이 라우팅 되므로 콘텐츠가 최상의 성능으로 제공
  • 속도는 높이고, 가격은 내리며 서버 부하는 줄일 수 있음

6) AWS Secret Manager / Parameter Store

  • 데이터베이스 보안 인증 정보 및 API 키와 같은 보안 정보를 안전하게 암호화 하고 중앙 집중식으로 감사할 수 있도록 도와주는 서비스
  • .env 파일을 서버 별로 따로 관리하기 보다는 한 곳에서 집중적으로 관리
  • DB 정보와 같은 민감한 정보는 암호화가 지원이 되는 Secret Manager에 저장
  • 간단한 정보(ex. EndPoint)는 Parameter Store에 저장




참고
https://docs.aws.amazon.com/index.html
원티드 프리온보딩 5월 백엔드

profile
오늘도 즐거운 하루 보내세요:)

0개의 댓글