!!해당 글은 AWS Skill Builder의 AWS technical-essentials 과정을 요약한 내용입니다.!!
About AWS
클라우드 컴퓨팅의 이점
- 종량 과금제
- 사용한 만큼만 비용을 지불
- 규모의 경제
- 수많은 고객의 사용량이 클라우드에 집계
- 용량 추정 불필요
- 필요한 만큼 활용하고, 단시간에 확장 또는 축소 가능
- 속도 및 대응력 향상
- IT 리소스를 쉽게 확보 및 변경 가능
- 비용 절감 실현
- 데이터 센터를 유지, 관리하는 대신 차별화된 프로젝트에 집중
- 손쉬운 전세계 배포
- 몇 번의 클릭으로 어플리케이션을 전 세계 여러 리전에 배포 가능
AWS의 글로벌 인프라
리전
- 가용 영역들의 모임(Cluster)
- 전 세계에서 데이터 센터를 호스팅하는 지리적 위치
- 서울리전 : ap-northeast-2(Seoul)
- 대기시간
- 요금
- 서비스 가용성
- 데이터 규정 준수
- 적합한 AWS 리전 선택
가용 영역(Available Zone, AZ)
- 리전 내부에 구성된 클러스터 구조의 1개 이상의 데이터 센터
- 이중화되어 대기 시간이 짧은 고속 링크를 사용하여 연결
- ap-northeast-2a ap-northeast-2bAWS 서비스 범위
- 리전 범위 서비스
데이터 내구성 및 가용성을 높이기 위한 작업을 자동으로 수행 - AZ를 지정이 필요한 서비스
해당 리소스의 데이터 내구성 및 고가용성을 높일 책임을 맡는 경우가 많음
- 리전 범위 서비스
AWS와 상호작용
- AWS 관리 콘솔
- AWS Command Line Interface(AWS CLI)
- AWS SDKs
AWS 보안 및 규정 공동 책임 모델
AWS 책임
- AWS 리전, 가용 영역 및 데이터 센터를 보호하고 보안을 유지하며 건물의 물리적인 보안까지 담당
- 물리적 서버, 호스트 운영 체제, 가상화 계층, AWS 네트워킹 구성 요소 등 AWS 서비스를 실행하는 하드웨어, 소프트웨어 및 네트워킹 구성 요소를 관리
- 서비스에 따른 책임 수준
고객 책임
- AWS 서비스 사용시 데이터 보안을 보장하고 서비스 및 애플리케이션을 올바르게 구성 해야한다.
- 서비스에 따른 책임 수준
AWS 루트 사용자 보호
- 인증
- 사용자가 본인임을 보장하는 것
- 일반적으로 암호/패스워드, 토큰, 지문 등의 형식으로 인증
- 권한부여
- 인증 이후에 사용자가 AWS 리소스 및 서비스에 액세스 할 수 있는 권한을 정책(Policy)을 사용하여 정의 및 부여
- 사용자가 읽기, 편집, 삭제 또는 리소스 생성과 같은 특정 작업의 수행가능 여부를 결정
- AWS 루트 사용자
AWS 서비스 및 리소스에 대한 전체 엑세스 권한이 있는 단일 로그인 자격 증명- 이메일 주소/ 암호를 통한 자격증명 세트(AWS 콘솔 접속)
- 엑세스키 ID/ 비밀 엑세스 키를 통한 자격증명 세트(AWS CLI, AWS API 활용)
- AWS 루트 사용자 작업 시 모범 사례
- 강력한 루트 사용자 암호를 선택
- 암호 또는 액세스 키를 다른 누구와도 공유하지 않음
- 루트 사용자와 연결된 액세스 키를 비활성화 또는 삭제
- 관리 작업 또는 일상 작업에 루트 사용자를 사용하지 않음
멀티 팩터 인증(MFA)
활성화멀티 팩터 인증(MFA)다음 범주 중 두개 이상의 인증 방법을 사용하여 자격 증명을 확인하는 것
- 사용자 이름 및 암호 또는 핀 번호와 같이 사용자가 알고 있는 것
- 하드웨어 디바이스 또는 모바일 앱의 일회용 암호
- 지문 또는 얼굴 스캐닝의 생체 인증 정보
Identity and Access Management(IAM)
- 액세스 키 또는 암호 세트를 공유하지 않고도 AWS 계정 및 리소스에 대한 액세스 권한을 공유하는 AWS 서비스
- IAM은 특정 리전에만 국한되지 않고 글로벌 리전 모두에 적용
- 별도의 설정을 해주지 않아도 AWS 서비스와 통합(기본적으로 필요함)
- 암호 정책을 통해 사용자의 복잡성 요구 사항과 의무적인 교체 주기를 지정할 수 있음
- MFA를 지원
- 자격증명 연동 지원
- 모든 AWS 고객에게 무료로 IAM 서비스 제공
IAM 사용자
- AWS 계정(루트사용자)에서 사용자를 정의하여 AWS와 상호작용 가능하도록 권한을 부여
- 사용자는 AWS계정(루트사용자) 내의 AWS 리소스에 엑세스 할 수 있음
- 사용자의 모든 활동은 루트사용자에게 비용이 청구
- 각 개별 사용자는 고유한 로그인 자격증명을 가지고 있어야 함
- IAM 그룹을 통해 다수의 사용자들의 권한을 그룹단위로 관리 가능
IAM 정책(Policy)
사용자가 AWS 리소스에 접근 할 수 있는 권한을 JSON 형식으로 저장 한 것
정책을 IAM 사용자, 그룹 및 역할에 연결 해야함
사용자 또는 역할이 요청을 할 때마다 AWS는 관련 정책을 평가
- 정책의 4가지 주요 JSON 요소
- Version(버전)
- 정책의 언어 버전
- Effect(효과)
- 엑세스를 허용할지 또는 거부할지 여부를 지정
- Action(작업)
- Effect를 적용할 작업 유형을 설명, "*"는 모든 작업을 뜻함
- 리소스
- 정책 문에서 다루는 객체(AWS 리소스)를 지정, "*"는 모든 리소스를 뜻함
- Version(버전)
IAM 역할(Role)
- 권한이 정의된 정책(Policy)을 역할에 등록하고, AWS 리소스 등에 역할을 지정하여 AWS 리소스가 원하는 다른 AWS리소스에 접근할 수 있도록 할 수 있다.AWS SSO(Single Sign On)하나의 계정으로 로그인 하여 원하는 권한을 가지고 다른 AWS 상용자 계정의 리소스를 제어할 수 있다.
- 정책의 4가지 주요 JSON 요소