📘aws

AWS란?

  • AWS(Amazon Web Service)
  • 아마존 닷컴에서 개발한 클라우드 컴퓨팅 플랫폼이다.

클라우드 컴퓨팅이란?

  • 기존의 물리적인 형태의 실물 컴퓨팅 리소스를 네트워크 기반 서비스 형태로 제공하는것
  • 사용자로 하여금 네트워크 상에서 클라우드 서비스의 자원을 사용하는 것을 의미한다.

클라우드의 장점

  • 서버를 만드는게 아니라 서버를 빌려 쓰는 것이기 때문에 비용이 절약됨
  • 자본 비용을 가변 비용으로 대체
    • 데이터 센터 구출 비용, 서버 구매 비용=> 운영비
    • 막대한 초기비용 대신 쓰는 만큼 비용 지불
  • 속도 및 민첩성 개선
    • 몇 번의 클릭으로 바로 리소스를 확보 가능
    • 개발비용 절감
  • 데이터 센터 운영 및 유지 관리에 비용 투자 불필요
    • 인프라 관리가 아닌 비즈니스에 자원 집중 가능
  • 빠른 확장성
    • 몇전의 클릭으로 전 세계에 서비스 가능

클라우드 컴퓨팅 모델

  • 어플리 케이션의 구성
    • 어플리케이션
    • OS : Windows/Linux
    • computing : CPU+RAM
    • storage : HDD/SSD
    • Network : 랜카드/랜선

IaaS : Infranstructure as a Service

  • 인프라만 제공
  • OS를 직접 설치하고 필요한 소프트웨어를 개발해서 사용
  • 즉 가상의 컴퓨터를 하나 임대하는 것과 비슷함
  • 예 : AWS , EC2
  • computing , storage, network 만 지원 app과 os는 직접 설치해서 사용

PaaS : Platform as a Service

  • 인프라 + OS + 기타 프로그램 실행에 필요한 부분 (런타임)
  • 바로 코드만 올려서 돌릴 수 있도록 구성
  • 예 : Firebase,Google App Engine 등
  • os+runtime, computing, storage, network

Saas : Software as a Service : 인프라 +OS+필요한 소프트웨어가 제공됨

  • 서비스 자체를 제공
  • 다른 세팅 없이 서비스만 이용
  • 예 : Gmail,DropBox,Slack,Google Docs
  • 모든 어플리케이션구성 포함

클라우드 컴퓨팅 배포 모델

공개형(클라우드)

  • 모든 부분이 클라우드에서 실행
  • 낮은 비용
  • 높은 확장성
  • 예 ) AWS

혼합형(하이브리드)

  • 폐쇄형과 공개형의 혼합
  • 폐쇄형에서 공개형으로 전환하는 과도기에 사용
  • 혹은 폐쇄형의 백업으로 사용

폐쇄형

  • 사용자가 스스로 클라우드 환경을 운영
  • 높은 수준의 커스터마이징 가능
  • 초기 비용이 비쌈
  • 유지보수 비용이 비쌈
  • 높은 보안

구성

  • AWS는 여러 리전과 리전 안의 2개 이상의 가용영역, 엣지 로케이션으로 구성
  • 리전:AWS의 서비스가 제공되는 서버의 물리적 위치
  • 서울 리전은 ap-northeast-2
  • 리전별로 가능한 서비스가 다름

    리전을 선택할 때 고려할점

지연 속도 법률(데이터,서비스 제공 관련) 사용 가능한 AWS서비스

  • 엣지 로케이션 : AWS의 여러 서비스를 빠르게 제공하기 위한 거점(캐싱)
  • AWS의 서비스는 글로벌 서비스와 리전 서비스로 구분
  • AWS의 모든 리소스는 ARN이 부여됨

계정 생성

  1. 루트 유저
    • 생성한 계정의 모든 권한을 자동으로 가지고 있음
    • 생성시 만든 이메일 주소로 로그인
    • 탈취당했을때 복구가 매우 힘듬: 사용을 자제하고 MFA설정 필요
    • 루트 유저는 관리용으로만 이용 : 계정 설정 변경, 빌링등
    • AWS API호출 불가
  2. IAM 유저
    • IAM을 통해 생성한 유저
    • 만들 때 주어진 아이디로 로그인
    • 기본 권한 없음 : 따로 권한을 부여해야함
    • 꼭 사람이 아닌 어플리케이션등의 가상의 주체를 대표할수도 있음
    • AWS API호출 가능
    • AWS의 관리를 제외한 모든 작업은 관리용 IAM유저를 만들어 사용
    • 권한 부여시 루트 유저와 같이 모든 권한을 가질 수 있지만 빌링 관련 권한은 루트 유저가 허용해야함

사용 방법

  • 루트사용자는 사용하지 않기
  • 불필요한 사용자는 만들지 않기
  • 가능하면 그룹과 정책을 사용하기
  • 최소한의 권한만을 허용하는 습관을 들이기
  • 다중인증(MFA)를 활성화 하기
  • AccessKey 대신 역할을 활용하기
  • IAM 자격 증명 보고서 활용하기

태그:

카테고리:

업데이트: