[1] AWS

hyunsooo·2023년 5월 15일
0

On-premise vs. Cloud Computing

기업에서 제공하는 서비스는 On-premise(기업이 서버를 직접 운영)방식 Cloud Computing(AWS, GCP 등)방식을 사용하고 있습니다. 최근 들어서 많은 기업에서 Cloud Computing 방식을 도입하고 있습니다. Cloud Computing은 인터넷을 통하여 데이터를 저장하거나, 데이터베이스, 서버, 네트워킹 등 다양한 서비스를 제공하는 방식입니다.

Cloud computing의 이점

만약 어떤 기업에서 제공하는 서비스가 날이 갈수록 잘되서 많은 사용자들이 사용한다면 계속 컴퓨터를 사서 직접 서버를 늘려가야 합니다. 반면에 상황이 악화된다면 기존 컴퓨터들을 팔아야 하는 상황이 생길 수 있습니다.
Cloud Computing은 이런 상황에 유연하게 서버를 확장하거나 축소하여 대처할 수 있습니다.

국내에서 가장 많이 사용하고 있는 AWS를 익혀두면 큰 강점이 될 수 있습니다. 하지만 다양한 Cloud 서비스들은 그들만의 장점이 존재하는데 예를 들어, GCP의 경우 AI와 관련된 여러 서비스를 이용할 수 있습니다. 따라서 상황에 맞게 여러 서비스를 이용하시는 것을 추천드립니다.

AWS VPC(Virtual Private Cloud)

  • 가상 네트워크 서비스로 퍼블릭 네트워크와 프라이빗 네트워크를 분리하고 모니터링할 수 있도록 해주는 서비스

  • 네트워크 구성과 관련된 사실상 모든 기능을 담당하며, 자체 데이터센터에서 운영하는 기존 네트워크와 매우 유사한 형태

현업에서는 초기 인프라를 구축할 때 이외에는 거의 건드리지 않는 요소이지만, VPC는 매우 중요하기 때문에 꼭 알아두어야 합니다.

VPC는 일종의 집안의 방을 구축하는 과정입니다. 집의 문(인터넷 게이트웨이)를 통해 소통하고 라우터와 라우팅 테이블을 통해 어떤 방에 들어갈지 연결할 수 있습니다. 프라이빗 서브넷은 인터넷을 사용할 수 없는 구조입니다. 따라서 중요한 데이터가 저장된 데이터베이스의 경우 외부에서 연결할 수 없도록 프라이빗 서브넷으로 관리할 수 있습니다. 프라이빗 서비스 직접적으로 인터넷을 사용할 수 없기 때문에 중간의 별도의 인스턴스를 두어 인터넷 게이트웨이와 프라이빗 서브넷과의 소통을 할 수 있도록 하는 NAT을 사용할 수 있습니다.

API Gateway

  • 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전 관리형 서비스

  • 서버의 대문과 같은 역할

  • 트래픽 관리(제한), 권한 부여 및 액세스 제어, 모니터링, API 버전관리 등

API Gateway의 경우 AWS의 여러가지 서비스들을 API Gateway에 붙여서 사용할 수 있습니다. API Gateway를 무조건 사용해야하는 것은 아니지만, 사용하게 된다면 맨 앞단에서 처음으로 요청을 받게 되는 요소입니다.

ELB (Elastic Load Balancing)

  • 다수의 컴퓨팅 리소스(EC2, Lambda 등)를 부하 분산시켜주는 중요한 서비스

  • 총 3가지 종류의 Balancer (Application Load Balancer, Gate way Load Balancer, Network Load Balancer)가 있으며, App Load Balancer가 일반적인 상황에 많이 사용된다.

ELB의 경우 사용자의 요청 서비스를 여러 서버에 부하가 걸리지 않도록 분산처리를 해주는 매우 중요한 서비스입니다.

S3 (Simple Storage Service)

  • 가장 오래된 AWS 서비스 중 하나로 엄청난 내구성과 가용성을 자랑하며 이미지, 동영상, 오디오 파일과 같은 정적파일들을 용이하게 관리하도록 돕는 스토리지 서비스

  • 단순 파일의 저장 공간을 넘어 데이터를 저장하는 스토리지 플랫폼

    • 데이터 처리 : S3에 저장되는 Trigger를 이용해 람다를 실행 시킬 수 있음
    • 로그 : AWS 안에서 이뤄지는 대부분의 로그 저장
    • 쿼리 지원 : AWS Athena를 통하여 S3에 저장된 파일을 쿼리할 수 있음
    • 호스팅 : Single Page Application (React)를 호스트 할 수 있음

SNS 서비스에서 사용자가 이미지를 업로드하고 싶을 때, 보통 서버에 이미지 처리를 요청하고 S3에 저장되는 순서로 생각하지만 현업에서는 사용자가 이미지 처리 요청을 하면 서버는 S3로 부터 pre-signed url을 받아와 사용자에 전달합니다. 사용자는 이 url을 통해 서버를 거치지 않고 S3에 이미지를 저장할 수 있고 이는 서버의 부하를 줄여주는 역할을 합니다.

CloudFront

  • 전 세계에 있는 AWS 엣지 로케이션을 통하여 CDN 서비스를 제공함

  • 현재 48개국 90개가 넘는 도시에 410개가 넘는 접속 지점(엣지 로케이션 400개 이상, 리전별 중간 티어 캐시 13개)로 구성된 글로벌 네트워크를 지원

  • 속도는 높이고, 가격은 내리며, 서버 부하는 줄일 수 있음

특히 이미지 처리할 때 CloudFront를 사용하는게 유리합니다.

S3 (28mb)S3+CloudFront (28mb)속도 향상
일본 도쿄1.8초0.9초약 2배 향상
호주 시드니2.9초0.5초약 6배 향상
일본 도쿄30초0.5초약 60배 향상
일본 도쿄63초1.0초약 63배 향상

Secret Manager / Parameter Store

  • 데이터베이스 보안 인증 정보 및 API 키와 같은 보안 정보를 안전하게 암호화하고 중앙 집중식으로 감시할 수 있도록 도와주는 서비스

  • .env파일을 서버 별로 따로 관리하기 보다는 한 곳에서 집중적으로 관리

  • DB정보와 같은 민감한 정보는 암호화가 지원이 되는 Secret Manager에 저장

  • 간단한 정보(eg. Endpoint)는 Parameter Store에 저장하여 사용

profile
지식 공유

0개의 댓글

관련 채용 정보