본문 바로가기
CS/클라우드(AWS)

[백엔드] AWS

by Hoozy 2023. 4. 8.

이전 게시글 클라우드

https://hoozy.tistory.com/entry/%EB%B0%B1%EC%97%94%EB%93%9C-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C

 

[백엔드] 클라우드

이전 게시글 가상화 / 컨테이너화 https://hoozy.tistory.com/entry/%EB%B0%B1%EC%97%94%EB%93%9C-%EA%B0%80%EC%83%81%ED%99%94-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%ED%99%94 클라우드란 데이터를 보관, 정리, 분석하고 새로운 서비스

hoozy.tistory.com

카테고리 : AWS

AWS

  • Amazonn Web Service의 약자로, 서버, 네트워크 등 인프라 전체를 빌려주는 서비스이다.
  • 다양한 서비스를 제공하고 있어서 AWS가 제공하는 서비스 만으로 필요한 기능을 대부분 구축 가능.
  • 대표적인 서비스 : Amazon EC2, Amazon S3
  • AWS는 여러 사업자에게 각각 빌려야 했던 인프라를 일괄로 빌릴 수 있다는 것과 운영 체제나 웹 서버, 데이터베이스 서버 등에 필요한 소프트웨어까지 통째로 빌려 사용할 수 있다.

AWS 의 대표적인 9가지 서비스

1. EC2 (가상 머신)

  • Elastic Compute Cloud의 약자로, AWS 서비스의 가장 중심되는 서비스이다. 이유는 Node, Go, Java, Python 등으로 만들어진 프로젝트의 백엔드를 실행하기 위한 필수항목이기 때문이다.
  • EC2는 간단한 VM(가상 머신)이다.
  • 컴퓨팅 리소스에 대한 포괄적인 제어권을 제공
    • Amazon에서 제공하는 서비스의 가장 중심 되는 서비스
  • 다양한 인스턴스 유형을 제공
    • 각 사용 사례에 맞게 여러 가지 프로세서, 스토리지, 네트워킹, 운영 체제 및 사이즈 선택 가능
  • 옵션으로 보안 그룹 세팅(외부 방화벽으로 간주), 로드 밸런싱, 그룹 자동 확장 등을 다양하게 설정 관리하는 방법이 제공된다.

2. S3 (정적 파일 관리)

  • Simple Storage Service의 약자로, 정적 파일 (사진, 비디오, 문서 등 프론트 코드, 람다 함수 코드 등) 스토리지 서비스의 솔루션이다.
  • 간편한 데이터 관리 및 액세스 제어를 지원하며, 비용 효율적인 다양한 스토리지 클래스 & 백업 및 복원 솔루션 제공
  • 파일 저장은 bucket(컨테이너)을 통해 운영이 되는데 다른 유저들의 액세스를 컨트롤 할 수 있는 기능도 제공된다. 또한 CloudFront를 구성하면 S3에 저장된 정적 파일이 CDN을 통해 더 효율적으로 빠르게 보급되는 장점이 있다.

3. IAM Console (사용자 설정 및 액세스 관리)

  • Identity and Access Management의 약자로, AWS 서비스 관련 액세스와 권한 설정하는 KEY 관리 서비스이다.
  • 개발 사용을 위해서는 AWS 계정의 ROOT가 아닌 다른 사용자 및 그룹 수준 권한을 설정하여 따로 사용다 ID 설정을 통한 이용을 권장한다.

4. Route 53 (DNS 설정)

  • Domain Name System의 약자로, 도메인 관리/설정 서비스이다.
  • EC2 인스턴스, Elastic 로드 밸런서, S3 저장소 등 AWS 서비스 인프라에 효과적으로 연결.
  • 웹 서버와 비슷하다. 다른 Domain 등록 대행자를 통해 도메인을 구입한 경우 AWS 네입 서버를 가리키고 Route53 통해 통해 지정 도메인이 가리키는 위치(Elastic Load Balancer, EC2 인스턴스, CloudFront 배포, S3 버킷 등)를 쉽게 구성할 수 있다.
  • Route 53 을 통해 도메인을 구입할 수 있다.

5. Elastic Beanstalk (배포를 돕는 PaaS 같은 서비스)

  • 애플리케이션 배포를 간편히 관리해주는 서비스이다.
  • 코드를 업로드하기만 하면 Elastic Beanstalk가 용량 프로비저닝, 로드 밸런싱, Auto Scaling부터 시작하여 애플리케이션 상태 모니터링에 이르기까지 자동으로 처리해준다.
  • AWS의 Heroku와 비슷한 PaaS 같은 서비스이며, 진정한 PaaS는 아니지만, 앱을 배포하는 점에 있어서 더 수월한 서비스이다.
  • 몇 가지 다른 AWS 서비스를 사용하며, 웹 애플리케이션을 AWS에 배포하는데 따른 복잡성을 간단히 설정해주는 서비스이다.

6. CloudFront (AWS의 CDN (Content Delivery Network) 솔루션)

  • CDN (콘텐츠 전송 네트워크)
    • 강력한 네트워크 상의 cache 세팅을 통하여 웹 서버와 사용자 사이의 지역적 거리를 극복하며 페이지 콘텐츠 로드 지연을 최소화하는 기능
  • 빠른 콘텐츠 전송을 위한 글로벌 규모의 네트워크
    • 강력한 네트워크 상의 cache 세팅을 통하여 거리 관련 콘텐츠 로드 지연을 최소화한다.
  • S3, EC2, Elastic Load Balancing, Route 53 등과 같은 AWS 서비스와 통합되어 운영.
  • 전 세계 사용자들이 로딩 시간을 늦추지 않고 동일한 고품질 콘텐츠를 볼 수 있습니다.
  • S3에 CloudFront를 설정함으로써 AWS에 저장되어있는 정적 파일을 사용자에게 지연 없이 안정적으로 전달할 수 있습니다.

7. RDS (관계형 데이터베이스 서비스)

  • Relational Database Service의 약자로, 다양한 관계형 데이터베이스 엔진을 제공하는 간단한 호스팅 서비스이다.
  • 구성 및 확장이 쉽습니다.

8. Lambda (AWS의 Serverless Compute Service)

  • 서버 인프라를 프로비저닝하거나 관리할 필요 없이 Lambda 기능을 선호 언어 (Node.js, Python, Go, Java 등)로 작성하고 AWS 서비스에 업로드하여 코드를 자동으로 트리거하도록 설정하거나 웹 또는 모바일 앱에서 직접 코드를 호출
  • FaaS(Function as a Service) 제품 또한 인기가 높아져서 Serverless(서버를 사용하지 않는) 모델은 개발자가 서버 인프라를 관리할 필요 없이 데브에만 집중할 수 있어 트렌드가 높아지고 있다.
    • FaaS : 서버리스 서비스를 제공하는 클라우드 서비스.
  • 예를 들어, JavaScript로 function을 작성하고 AWS Lambda로 푸시하면, 백엔드 없이, 그 이벤트가 있을 때마다 function을 실행할 수 있는 기능이다. -> 실행 시간에 대해서만 지불함으로 비용 절감도 가능하다.

AWS

9. Lightsail (편리한 단일 가상 서버)

  • 편의적인 one-click “서버 세팅” 종류 서비스.
  • 주어진 리소스 옵션(Ubuntu, Node, Lamp stack, Nginx, WordPress, Django.. etc) 중 하나를 택하여 단일 가상 서버를 쉽게 설정
  • 스토리지, 데이터베이스 및 CDN 등 간소하지만 종합적 서비스 제공
  • 주어진 설정 옵션 중 (거진 수요가 많은 서버 리소스들: Ubuntu, Node, Lamp stack, Nginx, WordPress, Django.. etc) 하나를 택하여 단일 소형 서버를 쉽게 설정할 수 있는 서비스이다.
  • 가격이 비교적 저렴하고, 간편한 세팅과 소규모로 시작한 다음 성장에 따라 확장할 수 있도록 설계되어있는점, 그리고 비교적 저렴한 가격 등에 관련하여 인기가 올라가고 있는 서비스이다.
  • 가상 머신(virtual machine), SSD 기반 스토리지, 데이터 베이스, DNS 관리 및 정적 IP 등을 제공한다.

EC2 인스턴스 생성해보기

https://hoozy.tistory.com/entry/AWS-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0

다음 게시글 스프링 부트

https://hoozy.tistory.com/entry/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B6%80%ED%8A%B8-%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B6%80%ED%8A%B8-1

 

[스프링 부트] 스프링 부트 1

스프링 부트 로드맵 https://roadmap.sh/spring-boot 스프링 부트의 로드맵에 따라서 따로 배워보겠습니다. 카테고리 : Spring Boot 스프링 코어(컨테이너) (IoC 컨테이너) 객체를 생성하고 관리하고 책임지고

hoozy.tistory.com

참고 자료

https://www.hanl.tech/blog/helpful-9-amazon-web-services-for-developers/

댓글