DEVELOP/AWS

AWS | 컴퓨팅

Hanee_ 2023. 2. 22. 09:08

 

✅ 인스턴스 최대 절전 모드 옵션

 

 

✅ 탄력적 IP 주소 사용 고려

  • 인스턴스 재부팅해도 IP 주소 또는 DNS 호스트 이름은 변경되지 않음
  • 인스턴스가 중지되었다가 다시 시작 -> 퍼블릭 IPv4 주소와 외부 DNS 호스트 이름이 변경, 프라이빗 IPv4 주소와 내부 DNS 호스트 이름이 변경되지 않음
  • 영구 퍼블릭 IP 주소 필요한 경우 -> 탄력적 IP 주소 인스턴스에 연결

 

 

탄력적 IP 주소 특성

  • 필요에 따라 리전 내 인스턴스와 연결 가능
  • 릴리즈 선택할 때 까지 계정에 할당 된 상태로 유지

 

ec2 인스턴스 메타데이터

인스턴스에 연결되어있는 동안 볼 수 있음실 행 중인 인스턴스 구성 관리하는데 사용

 

 

 

✅ amazon cloud watch

ec2 인스턴스 모니터링 : 실시간에 가까운 지표 제공, ec2 콘솔 탭에서 볼 수 있는 차트 제공

 

  • 기본 모니터링 : 추가 비용 없음
  • 세부 모니터링 : 미리 선택한 7개의 지표에 대한 고정 월별 요금

 

 

 

 

 


 

EC2 비용 최적화

 

 

 

✅ ec2 요금 모델

    • 온디맨드 인스턴스 : 시간당 요금. 장기계약 필요 없음
    • 스팟 인스턴스 : 온디맨드에 비해 저렴. 어플리케이션 실행할 수 있는 시점 유연하게 선택할 수 있는 경우 적합
    • 예약 인스턴스 : 예약하는 인스턴스에 대한 전체 결제, 부분 결제 또는 선 결제 요금 없는 결제, 해당 인스턴스에 대한 시간당 요금 할인, 1년 또는 3년 약정
    • 전용 호스트 : 고객을 위해 ec2 인스턴스 용량 완전히 전용으로 사용하는 물리적 서버

 

 

✅ 비용 최적화의 4가지 원칙

1. 적절한 크기

 

2. 탄력성 증대

  • 자주 사용되지 않는 amazon ebs 지원 인스턴스를 중지 또는 최대 절전 모드로 전환
  • 사용량에 따라 요구 사항을 충족하도록 자동 조정 사용 -> 자동화된 시간 기반 탄력성

3. 최적의 요금 모델

 

4. 스토리지 선택 최적화

 

 

 

 


컨테이너 서비스

 

✅ 컨테이너 기본 사항

컨테이너 : 운영 체제를 가상화하는 방식 중 하나

 

장점

  • 반복 가능
  • 독립형 실행 환경
  • 소프트웨어가 서로 다른환경에서 동일하게 실행
  • 가상머신보다 빠르게 시작, 종료 가능

 

 

✅ docker : 어플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼

도커에서 컨테이너 실행 -> 컨테이너는 이미지라고 하는 템플릿에서 생성

소프트웨어 어플리케이션을 실행하는 데 필요한 모든 항목이 있음

 

 

 

✅ 컨테이너 vs 가상 머신 비교

가상 머신 : 하이퍼바이저에서 직접 실행됨

컨테이너 : 적절한 커널 기능 지원

 

 

왼쪽 오른쪽
vm  기반 배포 컨테이너 기반 배포
3개의 ec2 인스턴스는 aws 글로벌 인프라에서 제공하는 하이퍼바이저에서 직접 실행 가상 머신 실행하는 ec2는 하나 뿐
각 ec2는 가상머신 실행 도커엔진은 ec2 인스턴스 linux 게스트 os에 설치. 3개의 컨테이너가 있음
3개의 앱이 각각 자체 vm에서 실행 -> 프로세스 격리 가능 각 앱은 자체 컨테이너에서 실행
모든 컨테이너는 하나의 ec2 인스턴스에서 실행

 

 

 

✅ amazon elastic container service(ECS) : 확장성과 속도가 뛰어난 컨테이너 관리 서비스

 

장점

  • docker 실행을 오케스트레이션
  • 컨테이너를 실행하는 노드 플릿 유지 관리 및 확장
  • 인프라 구축의 복잡성 해소

 

 

어플리케이션을 구성하는 하나 이상의 컨테이너를 설명하는 텍스트 파일인 작업 정의 생성

(작업 정의 -> 사용할 컨테이너, 어플리케이션을 위해 개방할 포트, 작업의 컨테이너에 사용할 데이터 볼륨 등 어플리케이션 파라미터 지정)

 

✅ 클러스터 내 작업 정의 인스턴스화

amazon ecs 작업 스케줄러 : 클러스터 내 작업 배치하는 역할 담당

 

 

✅ aws elastic beanstalk

웹 어플리케이션 쉽게 시작 및 실행 가능

 

다음 자동으로 처리하는 관리형 서비스

  • 인프라 프로비저닝 및 구성
  • 배포
  • 로드밸런싱
  • 자동조정
  • 상태 모니터링
  • 분석 및 디버깅
  • 로깅

 

 

 

✅ aws elastic beanstalk 배포

공통 플랫폼 용으로 작성된 웹 어플리케이션 지원

사용자가 코드 업로드 -> elastic beanstalk 가 배포 자동으로 처리

 

 

장점

1. 빠르고 간편하게 사용 가능

2. 개발자 생산성

3. 확장의 어려움 

  • 어플리케이션 비용 최소화하면서 높은 워크로드나 트래픽 처리가능
  • 자동 조정 설정 사용해 어플리케이션의 특정한 필요에 따라 자동으로 어플리케이션 확장/축소 가능

4. 완벽한 리소스 제어

  • aws 리소스를 어플리케이션에 가장 적합한 리소스로 자유롭게 선택 가능