AWS 클라우드 개념

아빠는 외계연·2022년 5월 16일
0

AWS

목록 보기
1/1

4. AWS 계정만들기 및 첫 설정


  • IAM 유저
    • AWS의 모든 권한을 관리하는 서비스
    • AWS API 호출 가능
      • AccessKey : 아이디 개념.
      • Secret Access Key : 패스워드 개념 → 한번 발급받으면 볼 수 없다.
    • AWS의 관리를 제외한 모든 작업은 관리용 IAM User을 만들어 사용한다.
    • 권한 부여 시 루트 유저와 같이 모든 권한을 가질 수 있지만, 빌링 관련 권한은 루트 유저가 허용해야 한다.
    • 루트 유저에서 로그아웃한 뒤 IAM유저로 로그인해서 사용할 예정
  • IAM
    • AWS서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있고 AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 관리할 수 있다.
    • 서비스 사용을 위한 인증정보 부여
    • 사용자의 패스워드 정책 관리(일정 시간 마다 패스워드 변경 등)
    • 다른 계정과의 리소스 공유
    • IAM은 글로벌 서비스(Region별 서비스가 아님)
    • 구성
      • 사용자
        • 실제 AWS를 사용하는 사람 및 어플리케이션
      • 그룹
        • 사용자의 집합
        • 그룹에 속한 사용자는 그룹에 부여된 권한을 행사
      • 정책
        • 사용자와 그룹, 역할이 무엇을 할 수 있는지에 관한 문서
        • JSON 형식으로 정의
      • 역할
        • AWS리소스에 부여하여 AWS 리소스가 무엇을 할 수 있는지를 정의
        • 혹은 다른 사용자가 역할을 부여 받아 사용
        • 다른 자격에 대해서 신뢰관계를 구축 가능
        • 역할을 바꾸어 가며 서비스를 사용 가능
        • 역할은 서비스에 붙는다.
    • IAM의 권한 검증
      • 사용자가 S3를 사용하고 싶을 경우
        • 나에게 S3를 이용할 수 있는 정책이 부여되었는가?

        • 내가 속한 그룹에 S3를 이용할 수 있는 정책이 부여되어있는가?

        • 내게 위임된 역할에 S3를 이용할 수 있는 정책이 부여되어 있는가?

          ⇒ 셋 중 하나라도 맞다면 S3이용가능. 모두 아니라면 권한이 없다.

      • Lambda에서 S3서비스를 이용하고 싶을 경우
        • Lambda가 부여받은 역할이 S3를 이용할 수 있는 정책이 붙어있는가?
    • 사용자의 종류
      • 루트 사용자
        • 결제 관리를 포함한 계정의 모든 권한을 가지고 있다.
        • 관리 목적 이외에 다른 용도로 사용하지 않는 것을 권장
        • 탈취 되었을 때 복구가 매우 어렵다
      • IAM 사용자
        • IAM을 통해 생성해서 사용하는 사용자
        • 한 사람 or 하나의 어플리케이션을 의미
        • 설정 시 콘솔 로그인 권한 부여 가능
        • 설정 시 AWS서비스를 이용가능
          • Access Key → 유저 이름
          • Secret Access Key → password
        • AdminAccess를 부여하더라도 루트 사용자로 별도의 설정을 하지 않으면 billing기능을 사용할 수 없다.
    • IAM 자격 증명 보고서
      • 계정의 모든 사용자와 암호, 엑세스 키, MFA 장치 등의 증명 상태를 나열하는 보고서를 생성하고 다운로드 가능
      • 4시간에 한번씩 생성 가능
      • AWS 콘솔, CLI, API에서 생성 요청 및 다운로드 가능
    • IAM 모범 사용 사례
      • 루트 사용자는 사용하지 않기
      • 불필요한 사용자는 만들지 않기
      • 가능하면 그룹과 정책을 사용하기
      • 최소한의 권한만을 허용하는 습관을 들이기(Principle of least privilege)
      • MFA를 활성화하기
      • AccessKey 대신 역할을 활용하기
      • IAM 자격 증명 보고서 활용하기
  • 가상화
    • 단일 컴퓨터의 하드웨어 요소를 가상머신이라고 하는 다수의 가상 컴퓨터로 분할할 수 있도록 해주는 기술
    • 리소스를 효율적으로 관리할 수 있다.
    • 들어가기 전에 운영체제 : 시스템 hw 자원과 sw자원을 운영 관리하는 프로그램 특권명령 : 시스템 요소들과 소통할 수 있는 명령 → OS는 특권명령때문에 하나의 HW시스템 당 하나밖에 돌아갈 수 없다.
    • 가상화가 나타나기 전까지는 하나의 HW시스템은 하나의 OS만 실행이 가능
    • AWS 클라우드 환경에서 리소스를 작은 단위로 빠르게 구성할 수 있는 원동력
      • AWS에서 사용자마다 컴퓨터를 할당해주는 것이 아닌 이미 구축된 가상화 가능한 서버의 한 부분을 할당해주는 것
  • EC2(Elastic Compute Cloud)
    • 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스
    • 컴퓨팅 파워를 빌려주는 것이다.
    • 컴퓨팅을 빌려쓰는 서비스
    • 서버를 구축할 때
      • 게입서버, 웹서버, app 서버
    • app을 사용하거나 호스팅할 때
      • db
      • 머신러닝
      • 비트코인 채굴
      • 연구용 프로그램
    • 기타 다양한 목적
      • 그래픽 렌더링
      • 게임 등
    • 특성
      • 초 단위 온디맨드 가격 모델 → 쓴만큼 낸다.
        • 서비스 요금을 미리 약정하거나 선입금이 필요 없다.
      • 빠른 구축 속도와 확장성
      • 다양한 구성방법 지원
        • 머신러닝, 웹서버, 게임서버, 이미지 처리 등 다양한 용도에 최적화된 서버 구성가능
        • 다양한 과금 모델 사용 가능
      • 여러 AWS 서비스와 연동
        • 오토스케일링, ELB, CloudWatch(클라우드의 사용량을 모니터링 해줌)
    • 구성
      • 인스턴스
        • 클라우드에서 사용하는 가상 서버로 CPU, 메모리, 그래픽 카드 등 연산을 위한 HW를 담당
      • EBS (Elastic Block Storage)
        • 클라우드에서 사용하는 가상 하드디스크
      • AMI
        • EC2 인스턴스를 실행하기 위한 정보를 담고 있는 이미지
        • EC2를 구성하기 위한 정보를 담고 있는 템플릿
      • 보안 그룹
        • 가상의 방화벽
    • 프로비전 : 빌리는 것
    • 웹서버
      • /var/www/html/index.html → public ip로 접속할 경우 보이는 화면
    • 인스턴스 중지를 시켜놓으면 EBS(하드디스크) 요금은 나간다.
    • 가격 모델
      • On-Demand

        • 실행하는 인스턴스에 따라 시간 또는 초당 컴퓨팅 파워로 측정된 가격을 지불
        • 약정은 필요 없음
        • 장기적인 수요 예측이 힘들거나 유연하게 EC2를 사용하고 싶을 때
        • 한번 써보고 싶을 때
      • Spot Instance

        • 경매 형식으로 시장에 남는 인스턴스를 저렴하게 구매해서 쓰는 방식
        • 최대 90%정도 저렴
        • 언제 도로 내주어야 할지 모름
        • 시작 종료가 자유롭거나 추가적인 컴퓨팅 파워가 필요한 경우
      • 예약 인스턴스

        • 미리 일정기간(1~3년) 약정해서 쓰는 방식
        • 최대 75%정도 저렴(On-Demand보다)
        • 수요 예측이 확실할 때
        • 총 비용을 절감하기 위해 어느정도 기간의 약정이 가능한 사용자
      • 전용 호스트
        - 실제 물리적인 서버를 임대하는 방식
        - 라이선스 이슈
        - 규정에 따라 필요한 경우
        - 퍼포먼스 이슈

        → 가격 순서 : 스팟인스턴스 < 예약인스턴스 < 온디맨드 < 전용 호스트

        EC2의 가격 모델은 EBS와는 별도 → EBS는 사용한 만큼 지불

        AWS는 AWS 바깥으로 나가는 트래픽에 대해서만 요금을 부과

        Untitled

    • 인스턴스 크기
      • 인스턴스의 cpu갯수, 메모리 크기, 성능 등으로 사이즈가 결정된다.
      • 크기가 클수록
        • 메모리
        • CPU
        • 네트워크 대역폭
        • EBS와의 통신 가능한 대역폭
    • EBS(Elastic Block Store)
      • AWS 클라우드의 EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨을 제공
      • 각 EBS 볼륨은 가용 영역 내에 자동으로 복제되어 구성요소 장애로부터 보호해주고, 고가용성 및 내구성을 제공
      • 워크로드 실행에 필요한 지연시간이 짧고 일관된 성능을 제공
      • 가상 하드드라이브
      • EC2 인스턴스가 종료되어도 계속 유지 가능
        • 연산을 담당하는 instance와 저장을 담당하는 EBS가 서로 분리되어 있으며 서로 네트워크로 연결되어 있다.
        • 따라서 편하게 붙였다가 뗐다가 할 수가 있다. → 효율적인 운영이 가능하다.
      • 인스턴스 정지 후 재기동이 가능하다. → 인스턴스 요금은 없고 EBS요금만 내게 된다.
      • 루트 볼륨으로 사용 시 EC2가 종류되면 같이 삭제 된다(default)
        • 설정을 통해 EBS만 따로 존속이 가능하다.
      • EC2와 같은 가용영역에 존재한다.
      • Snapshot
        • 특정 시간에 EBS 상태의 저장본 → EBS에 사진을 찍어둔 개념
        • 필요 시 스냅샷을 통해 특정 시간의 EBS를 복구 가능
        • S3(파일 저장소, EBS에 비해 저렴)에 보관
        • (증분식)변화한 부분만 저장한다면 효율적으로 저장이 가능하다.
          • 따라서 스냅샷을 많이 따놔도 부담이 없다.
    • AMI
      • EC2 인스턴스를 실행하기 위해 필요한 정보(OS, 아키텍처, 용량)를 모은 단위
      • EC2를 만들기 위해 꼭 필요하다.
      • AMI를 사용하여 EC2를 복제하거나 다른 리전 or 계정으로 전달 가능
      • 스냅샷을 기반으로 AMI 구성이 가능
      • 구성
        • 1개 이상의 EBS 스냅샷
        • 인스턴스 저장 인스턴스의 경우 루트 볼룸에 대한 템플릿
        • 사용권한
        • 블록 디바이스 매핑(EBS가 무슨 용량으로 몇개 붙는지)
      • 타입
        • EBS기반 Untitled
        • 인스턴스 저장 기반
          • 인스턴스 안에 아예 저장공간이 들어가 있다.
          • 장점
            • 속도가 빠르다.
          • 단점
            • EC2가 사라질 경우 storage도 같이 사라진다.

            • 영구적이지 않다.

            • 영구적이지 않은 데이터를 저장(cache data ...)

              Untitled

        • 타입에 따른 AMI의 생성방법
          • EBS
            • 스냅샷을 기반으로 루트 디바이스 생성

              Untitled

          • 인스턴스 저장
            • S3에 저장된 템플릿을 기반으로 생성
profile
Backend Developer

0개의 댓글