201103_TIL

oh_ji_0·2020년 11월 3일
1

TIL

목록 보기
54/61

TODAY I LEARNED

  • 아마존 웹서비스와 클라우드
  • S3
  • EC2
  • RDS

@@ 오늘은 아마존 웹서비스에 클라이언트 애플리케이션(리액트 SPA)을 S3에 세팅하고, 서버 애플리케이션을 EC2에 셋팅, 접근 가능하게 퍼블릭 액세스를 적용하는 것과 RDS에 접근하는 방법을 스프린트를 통해서 익혀보았다.
아직은 기초적인 것들만을 배운 상태라서 그 개념들이나 확장된 활용성들에 대해서는 많이 모르는 상태지만, 나중에는 advanced한 아키텍쳐까지도 직접 활용해볼 수 있도록 접근을 해봐야겠다. 그치만 과금은 넘나 무서운 것... 너무 어마무시한 얘기를 많이 들어서 😂😂😂

아마존 웹서비스와 클라우드

  • 구름 위에 설치되어있는 컴퓨터를 이용해서 실제 작업 설치. 인터넷을 구름으로 비유했다.
  • 인터넷, 인터넷에 연결되어 있는 거대한 컴퓨터를 사용한다라는 것이 클라우드 컴퓨팅의 가장 중심
    적인 아이디어

S3(Simple Storage Service)

  • 클라우드 데이터 저장소, 정보(파일)를 저장하는 서비스
  • 서버를 클라우드 서비스가 대신 관리해주므로 개발자나 운영자가 서버를 관리하는데 드는 부담을 줄일 수 있다.
  • 노드 서버가 다른 서버보다 정적 파일을 제공하는데 더 유리하지는 않으므로, 클라우드 데이터 저장소가 대신 정적 파일을 제공하도록 위임하기도 한다.

S3의 장점

  • 내구성 (파일 유실 가능성의 낮음)

  • 비용의 절감(사용하는 만큼한 비용을 지불)

  • 연중 99.9%의 객체 가용성 제공(항시 사용가능)

  • SSL, 암호화된 방식을 주고받아 보안적으로 보다 더 안전함

  • 확장 가능성

  • 이벤트 알림, 트리거를 사용하여 스토리지와 연계된 서비스 운영을 편리하게 사용 가능함

  • 버킷을 만들때 지역을 선택하여 빠르게 데이터 전송 가능 (고성능)

    cloudFront라는 서비스와 통합하여 사용할 수 있다

EC2 (Elastic Compute Cloud)

  • AWS에서 제공하는, 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스

  • 한대의 컴퓨터를 임대하는 것으로 생각할 수 있다.

  • Elastic, 탄력적 운용이 특장점이다.
    필요할때까지만 사용하고 인스턴스를 내리거나 삭제, 보관할 수 있고 원할때 복구도 가능하다.

  • 이 컴퓨터엔 여러 가지 프로세서, 스토리지, 네트워킹, 운영 체제, 구매 모델을 선택할 수 있다.

  • 100Gbps 이더넷 네트워킹을 제공한다.

  • 프로그램 설치, 파일 저장, 설정 변경을 그대로 저장할 수 있다 ( AWS 머신 이미지 : AMI )

    새로운 컴퓨터를 만들면 이미지에 저장된 상태로 똑같이 생성 가능하다.
    AWS는 자주 사용하는 운영체제들에 대한 AMI를 만들어서 배포하고 있다.
    이들 AMI는 아마존에서 제공하는 툴들이 설치되서 배포되기 때문에, AWS의 다른 컴포넌트들과 쉽게 연동된다.

    AMI는 마켓플레이스와 연동할 수도 있다. 회사가 개발한 서비스를 배포하기위한 채널로도 사용된다.

EC2 과금, 비용정책

  • 성능 좋은 인스턴스를 쓸수록 그만큼 과금액이 기하급수적으로 늘어난다.

  • 성능별로 nano/micro/small/large/xlarge 등으로 세분화된다.

  • Auto Scaling

    트래픽이 몰리면 인스턴스를 자동으로 늘려서 대응하고 트래픽이 줄어들면 만들었던 인스턴스를 없애는 일을 할 수 있다.

    TIP: 작은 서버 여러 대로 분산처리를 하는 것이 필수고, 고성능이 필요한 연산이 있으면 필요할 때만 잠깐씩 서버를 생성했다가 작업이 끝나면 즉시 삭제해버리는 식으로 사용시간을 아껴야 한다

  • EC2의 대표 기능

    • 인스턴스: 가상 컴퓨팅 환경
    • 인스턴스 유형: 인스턴스를 위한 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지 구성 제공
    • 키 페어를 사용하여 인스턴스 로그인 정보 보호

EC2 네트워크

  • 인스턴스 시간 또는 데이터 전송같은 소비 리소스에 대한 비용이 지불된다.
  • EC2 인스턴스는 private ip와 public ip 그리고 [wikiSite/cloud/AWS/EIP EIP]를 가진다
  • 인터넷 서비스를 하려면 고정된 IP가 필요한데, AWS는 EIP(Elastic IP)라는 이름의 고정아이피 서비스를 제공
  • 인스턴스가 만들어지면 인터페이스에 AWS region에서 사용할 수 있는 private ip가 할당 된다. Private ip는 DHCP를 통해서 할당이 된다. 이 IP는 유저가 변경할 수 없다.
  • 소규모에서는 EC2가 저렴하다가 대규모로 서비스가 발전하면 갑자기 확 비싸지는 게 EC2의 특징이다.

용어정리

  • 인스턴스
    Amazon EBS 지원 인스턴스 (루트 볼륨이 EBS 볼륨임을 의미)

  • EBS

    루트 볼륨

  • 마이크로 인스턴스

    저렴한 비용으로 사용가능한 저사양 인스턴스.

  • 운영체제 auto provisioning

    운영체제 시스템 형상을 코드화 그 코드를 로직을 이용한 실행

참고 문서

RDS

  • 인프라 및 데이터베이스 업데이트를 관리해주는 것 뿐만 아니라 까다로운 관계형 데이터베이스의 설치, 운영 그리고 관리를 지원하는 서비스
  • 기업이 데이터베이스를 빌려 쓸 수 있도록 지원
  • 현재 MySQL, Oracle, SQL Server, PostgreSQL, MariaDB, Aurora(MySQL과 호환)을 비롯한 총 6가지 데이터베이스 엔진을 지원
  • EC2인스턴스 위에서 돌아가는 서비스이기 때문에 해당 EC2인스턴스의 시간당 요금을 지불한다.

RDS 요금

  • RDS 인스턴스 요금은 기본 인스턴스 크기, 데이터 스토리지, 멀티 가용영역, 데이터 전송에 따라 달라진다.
  • 자체 하드웨어 또는 인스턴스에서 운영하는 것보다 실제 성능이 훨씬 낮을 수 있다.

RDS 사용의 이점

  • RDS를 사용하게 되면, OS 및 데이터베이스의 설치 및 관리 그리고 업데이트를 따로 할 필요가 없어짐
  • AWS 콘솔이나 AWS API를 통해 손쉽게 백업이나 복구(recovery)가 가능
  • AWS의 RDS 업데이트를 통해 더 이상 사용 중이지 않을 때에 대한 불필요한 비용을 지불하지 않아도 됨

참고문서

profile
기본에 충실하고 싶습니다. #Front-end-developer

0개의 댓글