본문 바로가기
Cloud/AWS + 자격증

[AWS Cloud Practitioner] 스터디 1주차 정리

by HelloJudy 2023. 4. 20.
"AWS Certified Cloud 전문가 시험 합격을 위한 모든 것" 강의 내용의 포함되어 있습니다.

* 🧚 : 시험 출제 포인트

 

☁️  클라우드 컴퓨팅이란?

 

✔️ 클라우드 컴퓨팅 : 컴퓨터 성능과 데이터베이스 스토리지, 애플리케이션과 다른 IT 리소스를 on-demand로 제공하는 것이다.

 

즉, 필요할 때 해당 서비스를 이용할 수 있다.

또한 요청한 만큼만 비용을 지불하여 컴퓨터 리소스의 정확한 유형과 크기를 프로비저닝 할 수 있다.

 

 

[ 클라우드 배포 유형 ]

  • Public Cloud
    MS Azure, Google Cloud, AWS
  • Private Cloud (OpenStack)
    클라우드를 사용하기 원하는 기업에서 자체적으로 전용망을 이용하여 구축하는 클라우드
  • Multi Cloud
    멀티 클라우드는 2곳 이상의 클라우드 벤더가 제공하는 2개 이상의 퍼블릭 또는 프라이빗 클라우드로 구성된 클라우드 접근 방식
  • Hybrid Cloud
    퍼블릭 또는 프라이빗 클라우드를 결합한 방식. 일부 서버를 on-premise로 유지하고  필요한 기능의 일부를 클라우드로 확장하는 방식

 

[ 클라우드 컴퓨팅 특징 ]

  1. On-demand self service
  2. Broad network access
  3. Multi-tenancy and resource pooling
  4. Rapid elasticity and scalability
  5. Measured service

 

[ 클라우드 컴퓨팅 유형 ]

자유도의 차이

 

  • IaaS (Infrastructure as a Service, 서비스형 인프라)
    • ex. Amazon EC2
  • PaaS (Platform as a Service, 서비스형 플랫폼)
    • ex. Amazon Elastic Beanstalk, Heroku
  • SaaS (Software as a Service, 서비스형 소프트웨어)
    • ex. Rekognition for Machine Learning, Gmail, Dropbox

이미지 출처: (주)엘리스

 

[ 글로벌 인프라 ]

 

✔️ AWS Regions (리전): 물리적인 데이터센터 클러스터 단위

 

데이터 센터 클러스터이며 둘 이상의 가용 영역으로 구성된 지리적 구성

 

🤖 : 삐빅. Pop quiz~ How to choose an AWS Region?
🐰 : 상황에 따라 다르다!

 

🧚 리전 선택에 고려할 점

  • 데이터 거버넌스 준수 
  • Compliance, 법률 준수 : 특정 국가에서는 대상 국가 내 데이터가 보관되기를 원할 수 있다!
  • Proximity, 지연 시간(고객과의 근접성) : 대부분의 사용자가 한국에 있다면 사용자와 가까운 리전을 사용!
  • Available service, 리전 내 사용가능한 서비스 및 기능: 모든 리전에서 모든 서비스를 제공하는건 아니다!
  • Pricing, 요금 : 리전마다 요금이 다르다!

 

✔️ AWS Availability Zones: AZ (가용 영역): 지리적으로 분리된 1개 이상의 데이터센터

 

전원(power), 네트워킹 및 연결이 있는 하나 이상의 개별 데이터 센터로 구성되고 인프라 배포에 사용되는 글로벌 인프라 아이덴티티

 

AZ를 분리한 이유 

  • 내결함성과 고가용성을 유지하기에 적합한 구조
  • 각각의 가용 영역들이 재난 발생에 대비해 서로 분리되어 있다.

 

🧚 AWS 리전은 최소 2개 이상의 가용 영역으로 구성되며, 각 가용 영역은 최소 1개 이상의 데이터 센터 (Internet Data Center)로 구성된다. 

 

 

✔️ AWS Edge Locations (엣지 로케이션): 전 세계적으로 통신사와 협업하여 빠른 네트워크 서비스를 제공하기 위한 지역

 

해외 서비스 제공에서 유용하다.

 

 

[ AWS 클라우드의 3가지 기본 요금 ]

 

  • AWS 클라우드 컴퓨팅
  • 스토리지
  • 데이터 전송

 

 

🧚 [ 공동 책임 모델 ]

🤖 : 무엇이 우리의 책임이고, 무엇이 AWS 책임인지 찾는 문제 출제!

출처: AWS

 


👤  IAM - ID 및 엑세스 관리

IAM: Identity and Access Management, Global service

 

접근 권한을 가진 담당자. 즉, 개인이나 팀을 대상으로 권한을 부여하고 관리할 수 있는 서비스이다.

 

[ 접근 제어 서비스 ]

  1. Identity: 나는 A이다.
    • Root 계정 : 사용자 계정 생성 (오직 계정 생성에만 사용!), 모든 서비스에 대한 권한을 가지고 있다. MFA로 보안 강화 필요
    • Users, 사용자 : AWS 서비스를 실질적으로 사용하는 유저, 사용자는 필요한 최소한의 권한을 가져야 한다.
    • Groups, 사용자 그룹 : 팀 단위로 동일한 접근 권한 정책을 가질 때 사용
  2. Permissions (권한 정책)
    • Access Management: A는 무엇을 할 수 있다.
    • Permission JSON Format
    • AWS에서는 최소 권한의 원칙을 적용한다.
  • Role: AWS 서비스를 대상으로 적용할 수 있는 Permission이다.
    AWS 서비스에만 적용할 수 있다.

 

 

[ IAM Policies Structure ]

  • Version: 정책 언어 버전
  • Id: 식별자 (선택)
  • Statement: 구성 요소
    • SId: Statement 실벽자 (선택)
    • 🧚 Effect: 특정 API를 Allow or Deny
    • 🧚 Principal: 특정 정책이 적용될 사용자, 계정, 혹은 역할
    • 🧚 Action: effect에 기반해 Allow or Deny API 호출 목록
    • 🧚 Resource: 적용될 action의 리소스 목록
    • Condition: Statement가 언제 적용될지를 결정 (선택)

 

[ 보안 강화 ]

 

✔️ password 정책

 

AWS에서는 다양한 옵션을 이용해 비밀번호 정책의 생성이 가능하다.

  1. 비밀번호 최소 길이 설정
  2. 특정 유형의 글자 사용을 요구
  3. IAM 사용자들이 비밀번호 변경을 허용 또는 금지할 수 있음
  4. 일정 기간이 지나면 비밀번호를 만료시켜 새 비밀번호 설정을 요구할 수 있음
  5. 사용자가 비밀번호 재사용을 막아 변경 시 동일한 비밀번호나 이전에 사용한 비밀번호를 사용하지 못하게 할 수 있음

 

✔️ 🧚 MFA(Multi Factor Authentication) 인증

 

루트는 어떤 일이 있어도 반드시 보호해야 한다!

 

MFA devices options in AWS

  1. virtual MFA device, 가상 MFA 장치
    ex. Google Authenticator, Authy
  2. Universal 2nd Factor (U2F) Security Key, 보안 키
    ex. YubiKey
  3. Hardware Key Fob MFA Device
    ex. Provided by Gemalto
  4. Hardware Key Fob MFA Device for AWS GovCloud (US)

 

[ AWS 엑세스 방법 ]

 

1. AWS Management Console

비밀번호 + MFA

 

2. 명령줄 인터페이스 (CLI)

access keys

CLI를 사용하면 AWS 서비스의 공용 API로 직접 엑세스가 가능합니다.

 

  • install aws cli 검색해서 설치
  • 터미널에 구성 정보 설정 (access key)
$ aws configure

 

3. 소프트웨어 개발 키트 (SDK)

access keys

개발자가 애플리케이션 코드에서 AWS 서비스에 액세스 할 수 있는 메커니즘

 

 

[ CloudShell ]

AWS 클라우드에서 무료로 사용 가능한 터미널 같은 개념이다.

 

CloudShell은 특정 리전에서만 사용 가능하다. 

 

 

[ IAM 역할, Role ]

IAM 역할은 사용자와 같지만 실제 사람이 사용하도록 만들어진 것이 아니고 AWS 서비스에 의해 사용되도록 만들어졌다.

AWS 서비스를 대상으로 적용할 수 있는 Permission이다.
AWS 서비스에만 적용할 수 있다.

 

(* 일부 AWS 서비스는 사용자를 대신하여 작업을 수행해야 한다. 이렇게 하려면 IAM 역할을 사용하여 AWS 서비스에 권한을 할당한다.)

 

ex. EC2 인스턴스

EC2 인스턴스가 AWS에서 어떤 작업을 수행하려고 할 수 있다.

IAM 역할을 만들어 이들을 하나의 개체로 만든다. 그래서 EC2 인스턴스가 AWS 정보에 접근하려고 할 때 IAM 역할을 사용하게 된다.

 

EC2 인스턴스를 위한 Role을 만들 수 있다.

 

 

[ 보안 도구, Security Tools ]

 

  • IAM Credentials Report (account-level) : 자격 증명 보고서
    • 보고서는 계정에 있는 사용자와 다양한 자격 증명의 상태를 포함한다.
  • IAM Access Advisor (user-level) : 엑세스 관리자
    • 해당 도구를 사용하여 어떤 권한이 사용되지 않는지 볼 수 있다.

 

[ Guidelines & Best Practices ]

 

  • 루트 계정은 AWS 계정을 설정할 때를 제외하고는 사용하지 않는다.
  • AWS 사용자는 한 명의 실제 사용자를 의미한다. 따라서 여러 명의 개발자가 사용한다면 새로운 사용자를 만들자.
  • 사용자를 그룹에 넣어 해당 그룹에 권한을 부여할 수 있다. -> 그룹 수준 보안 관리!
  • 비밀번호 정책을 강력하게! MFA 굿!
  • AWS 서비스에 권한을 부여할 때마다 역할을 만들고 사용해야 한다.
  • CLI, SDK를 사용할 경우 반드시 엑세스 키를 만들어야 한다. 절대 엑세스 키 공유 X!!!
  • 계정의 권한을 감사할 때는 IAM 자격 증명 보고서와 IAM 엑세스 분석기를 사용할 수 있다.

(마음의 소리: 강의에서 자꾸 IAM 마지막 이야기라면서 자꾸 나와;;;; ㅎㅅㅎ 좋다는 이야기 핳)

 

 

🧚 [ 공동 책임 모델, Shared Responsibility Model for IAM ] : 시험 자주 출제!

 

✔️ AWS

  • 인프라 (global network security)
  • 구성과 취약성 분석 서비스
  • 책임 사항을 모두 준수하는 것

✔️ You

  • 자체 사용자, 그룹, 역할, 정책을 생성하고 그 정책을 관리하고 모니터링하는 것
  • 모든 계정에서 MFA를 활성화하고 시행하는 것
  • 키를 자주 교체하는 것
  • IAM 도구를 사용해서 적합한 권한을 적용했는지 확인하고 엑세스 패턴을 분석하고 계정 권한 검토하는 것

 


💻  EC2 - Elastic 컴퓨팅 클라우드 (Computing)

[ AWS 예산 설정 ]

 

Budgets 탭에서 예산 금액을 설정할 수 있다.

임계값을 설정해서 메일로 알림을 받을 수 있다.

 

 

[ EC2 기초 ]

AWS에서 제공하는 IaaS (Infrastructure as a Service, 서비스형 인프라)이다.
  • EBS (Elastic Block Store) : EBS는 EC2와 연결하여 제공할 수 있는 블록 스토리지 볼륨
  • EFS (Elastic File System)
  • ELB (Elastic Load Balancer) : ELB는 들어오는 트래픽을 컴퓨팅 서비스에 분산하는 AWS의 관리형 로드 밸런서
  • ASG (Auto-Scaling Group) : 오토 스케일링 그룹은 애플리케이션이 요구하는 컴퓨팅 자원만큼의 인스턴스의 개수를 자동으로 유지시켜주는 그룹

 

[ 실습 ]

 

EC2를 원격접속 하기 위해서는 SSH라는 프로토콜을 사용해서 원격접속을 하게 된다. 이때 key pair 파일 필요.

 

1. 키 페어 생성

네트워크 및 보안 > 키 페어 > 키 페어 생성

  • 타입: RSA
  • 파일 형식
    • .pem: 리눅스, 맥 OS
    • .ppk: windows OS -> PuTTY를 사용해서 접속해야 함.

2. 인스턴스 생성

대시보드 > 인스턴스 시작

  • 단계 1) AMI 선택
  • 단계 2) 인스턴스 유형 선택
  • 단계 3) 인스턴스 세부 정보 구성
    • 퍼블릭 IP 자동 할당: 활성화
    • 사용자 데이터: OS가 부팅될 때 최소로 실행할 수 있는 스크립트
  • 단계 4) 스토리지 추가
  • 단계 5) 태그 추가
    • 인스턴스를 구분하는 용도
  • 단계 6) 보안 그룹 구성
    • SSH: 원격 접속을 위한 포트 허용 (22)
    • HTTP: 웹 port (80)
  • 단계 7) 인스턴스 시작 검토
  • 키 페어 선택
    • 해당 키 페어가 있어야 접속할 수 있도록 체크박스 설정

 

[ 보안 그룹 및 클래식 포트 ]

 

보안그룹은 EC2 인스턴스의 방화벽이다. 포트로 엑세스를 통제하고 인증된 IP 주소의 범위를 확인한다.

 

  • 인바운드 규칙 : 기본적으로 모든 인바운드 트래픽은 차단
  • 아웃바운드 규칙 : 기본적으로 모든 아웃바운드 트래픽은 허용
  • 프로토콜: TCP
  • 포트 범위: 트래픽이 인스턴스에서 통과하는 위치
  • 소스: IP 주소의 범위
  • SSH (Secure Shell): 22번 포트로 Linux에서 EC2 인스턴스로 로그인, Linux 인스턴스용
  • FTP (File Transfer Protocol): 파일 공유 시스템에 파일을 업로드하는 데 사용
  • SFTP (Secure File Transfer Protocol): SSH를 사용해서 업로드
  • HTTP: 80번 포트
  • HTTPS: 443번 포트
  • RDP (Remote Desktop Protocol): 3389번 포트는 윈도우 인스턴스용

 

[ SSH (Secure Shell) ]

 

22번 포트로 Linux에서 EC2 인스턴스로 로그인

 

EC2 원격 접속

필요한 것: 퍼블릿 IPv4 주소, 키 페어 파일

 

Mac, 리눅스 환경에서는 터미널에서 진행

  • 1단계 : key pair 파일이 있는 폴더에서 터미널 실행
  • 2단계 : 키페어 파일 권한 변경 (읽기 전용 파일)
    chmod 400 judy-keypair01.pem
  • 3단계 : ssh 프로토콜로 접속
    ssh -i judy-keypair01.pem ec2-user@<퍼블릭 ip주소>
    AWS EC2에서 OS를 어떤 것을 사용했는지에 따라 SSH 로그인 계정이 다르다. ex) ubuntu, ec2-user
  • 아마존 리눅스 환경 접속 완료

 

[ EC2 Instance Connect ]

 

브라우저 기반으로 EC2 인스턴스와 SSH 세션과 연결할 수 있다.

세션이 브라우저에서 바로 실행되는 장점이 있다.

 

(Oh.. 이걸 몰랐네. 예전에 윈도우 쓸 땐 얼마나 접속 귀찮았는데.. PuTTY 불편해~)

 

 

[ EC2 인스턴스 IAM 역할(Role) ]

 

커멘드 라인에서 IAM list를 확인하는 등 작업을 요청할 수 있다. 이때 configure이 필요하다.

 

하지만!!!

 

EC2 인스턴스에 IAM API 키를 절대로 입력하면 안 된다!! 엑세스 키 ID와 secret 엑세스 키를 입력하는 건 최악의 최악!!!

이것을 대신할 수 있는 것이 IAM Role

IAM에 설정한 EC2가 IAM에 ReadOnly로 Access 할 수 있도록 설정한 Role을 EC2 인스턴스에 연결해서 자격 증명을 할 수 있다!!!

 

인스턴스에서 Security > IAM Role을 통해 확인 가능!

 

✔️ EC2 인스턴스에 Role 설정하는 방법

  • 인스턴스 목록에서 Actions > Security > Modify IAM role

  • 여기서 IAM role을 선택한다.

 

[ EC2 구매 옵션 ]

 

  • On demand: 언제든지 구매할 수 있고 원할 때 전체 요금 지불
  • Reserved: 오랜 기간 사용할 것을 미리 계획할 때 (1년~3년), 할인 많이 된다.
  • Savings Plan: 일정 금액을 지출하기로 하고 지불하기로 약정
  • Spot instances: 파격적인 할인을 받을 수 있지만, 인스턴스가 언제든 중단될 수 있다.
  • 🧚 전용 인스턴스: 사용자 하드웨어에 고유한 인스턴스를 갖는 것
    • 규정 준수 요구 사항이 있거나 기존의 서버 결합 소프트웨어 라이선스를 사용해야 할 경우
  • 🧚 Dedicated Hosts, 전용 호스트: 물리적 서버 자체에 엑세스하여 저수준 하드웨어에 대한 가시성을 제공

 

* 컴퓨팅 최적화 EC2 인스턴스: 배치 처리, 미디어 트랜스코딩, 고성능 웹 서버, 고성능 컴퓨팅, 과학 모델링 및 기계 학습, 전용 게임 서버와 같은 고성능 프로세서가 필요한 인텐시브 컴퓨팅 작업량에 적합

 


🗂️  EC2 인스턴스 스토리지

[ EBS (Elastic Block Store) ]

 : EBS는 EC2와 연결하여 제공할 수 있는 블록 스토리지 볼륨, 네트워크 드라이브

 

(CCP 레벨: 하나의 EBS는 하나의 EC2 인스턴스에만 마운트 가능, 하나의 인스턴스에 두 개 EBS 연결은 가능 / 어소시에이트 레벨: 일부 EBS 다중 연결)

 

특정 AZ(가용영역, US-EAST-1A)에 고정되어 있지만 스냅샷을 이용하면 다른 가용 영역으로 볼륨을 옮길 수 있다.

 

🧚 Delete on Termination attribute (종료 시 삭제 속성)

: 루트 볼륨은 활성화되어 있다.

 

 

[ EBS Snapshots (스냅샷) ]

: 해당 시점의 상태를 백업으로 남기는 개념

 

왜 사용하는 걸까?

복구, 여러 가용 영역과 리전 간 복제에 사용

 

 

[ AMI (Amazon Machine Image) ]

AMI를 생성하면 부팅과 구성에 시간이 단축된다.

 

 

[ 🧚 EC2 Image Builder, 이미지 빌더 ]

AWS 또는 온프레미스에서 사용하기 위해 가상 머신 및 컨테이너 이미지의 구축, 테스트 및 배포를 간소화합니다.

 

작동방식 (출처: AWS 공식 홈페이지)

출처: AWS

 

✔️ Local EC2 Instance Store

성능이 아주 뛰어난 하드웨어가 연결된 EC2 인스턴스

I/O 성능은 좋지만 EC2 인스턴스가 종료되면 데이터가 손실된다.

 

 

[ EFS ]

EFS 드라이브는 한 번에 수백 개의 EC2 인스턴스를 마운트 할 수 있다. (Multi-AZ)

가용성과 확장성이 높은 만큼 비싸다.

 

 

[ EBS vs EFS ]

 

데이터 시점에서 EBS는 볼륨 기반, S3는 객체 기반, EFS는 파일 기반 저장 서비스

 

✔️ EBS

  • 데이터에 빠르게 액세스 하고 장기적으로 지속해야 하는 경우에 적합
  • 하나의 EBS는 하나의 EC2 인스턴스에만 마운트 가능
  • 하나의 인스턴스에 두 개 EBS 연결은 가능
  • 특정 AZ(가용영역, US-EAST-1A)에 고정되어 있지만 스냅샷을 이용하면 다른 가용 영역으로 볼륨을 옮길 수 있다.

✔️ EFS

  • EFS 드라이브는 한 번에 수백 개의 EC2 인스턴스를 마운트 할 수 있다. (Multi-AZ)
  • 공유 파일 시스템

 

[ EFS-IA ]

Amazon EFS Infrequent Access을 통한 스토리지 비용 최적화 – 최대 92% 비용 절감 (공식 홈페이지)

 

수명 주기 관리를 통한 간편한 비용 최적화! 마지막으로 엑세스한 시점을 기반으로 파일을 이동시킨다.

 

 

[ 🧚 EC2 스토리지와 관련된 공동 책임 모델 ]

 

✔️ AWS

  • 인프라 (global network security)
  • 복제를 수행함
  • 결함 있는 하드웨어 교체
  • 직원의 데이터 엑세스를 막음

✔️ You

  • 백업 설정, 스냅샷 절차와 가이드라인 설정
  • 데이터 암호화 설정
  • 드라이브에 설정하는 모든 데이터

하드웨어 결함이 생기면 데이터를 잃게 되는데 이때 우리의 책임은 백업이기 때문에!!

 

 

[ 🧚 Amazon FSx ]

(공식 홈페이지)

Amazon FSx는 클라우드 내 다기능 고성능 파일 시스템을 쉽고 비용 효과적으로 시작, 실행 및 확장할 수 있도록 한다.

 4가지 파일 시스템 중 시험에는 Windows File Server, Lustre가 중요하다.

출처: AWS

 

✔️ Windows File Server FSx

  • Windows 파일 서버에 설계한 완전 관리형

 

✔️ Lustre

  • 고성능 컴퓨팅을 위한 완전 관리형
  • 확장 가능한 파일 스토리지
  • 컴퓨팅 인스턴스에 직접 연결
  • 백엔드에서 데이터를 Amazon S3 버킷에 저장

 


⚙️  ELB & ASG - Elastic Load Balancing, Auto Scaling Groups

[ 고가용성, 확장성, 탄력성 ]

 

🧚 시험에서는 이것이 이 중 어떤 것인지 묻는다!

  • 수직 확장성 (=Scale up)
    • 인스턴스 크기를 증가시킬 수 있다.
  • 수평 확장성 (=탄력성) (=Scale out)
    • 인스턴스 또는 시스템의 숫자를 늘리는 것
  • 확장성: scale up, scale out, 시스템이 더 큰 부하를 수용할 수 있도록
  • 탄력성: 오토 스케일링, 수신하는 로드에 따라 시스템이 자동으로 확장
  • 고가용성: 같은 애플리케이션의 인스턴스를 여러 가용 영역에서 실행하는 것
  • 민첩성: 새로운 IT 리소스로 클릭 한 번으로 되는 것 (위의 단어와 혼동을 주기 위해 출제되는 단어)

 

[ Elastic Load Balancing ]

 

AWS를 탄력적으로 사용할 수 있게 하는 서비스

 

✔️ 로드밸런서의 기능

  • 인스턴스의 정기적인 상태 확인
  • 여러 다운스트림 인스턴스에 스프레드 로드
  • 다운스트림 인스턴스의 실패 처리

 

✔️ AWS에서 제공하는 3가지 로드 밸런서

  1. 애플리케이션 로드 밸런서 (HTTP, HTTPS 전용) (L7)
  2. 네트워크 로드 밸런서 (초고성능, TCP) (L4)
    낮은 지연 시간으로 초당 수백만 개의 요청을 처리
  3. 클래식 로드 밸런서: 예전에 제공하던 것 (L4, L7)

 

[ 애플리케이션 로드 밸런서 (ALB) ]

  • Internet-facing
  • IPv4
  • 다중 가용 영역(AZ)은 3개는 돼야 효과가 있다.
  • 로드 밸런서를 위한 보안 그룹을 설정해야 한다.
  • Health check를 통해 정상 인스턴스에만 트래픽을 보낸다.

 

[ Auto Scaling Group (ASG) ]

  • 오토 스케일링 그룹의 목적은 Scale out/in이다.
  • 탄력성!!
  • 최적의 용량에서 실행하여 비용 절감
  • 최소, 최대 크기를 설정할 수 있다.

 

✔️  스케일링 전략

  • Manual Scaling: 수동으로 업데이트
  • Dynamic Scaling, 동적 스케일링 - 스케일링 정책
    • Simple / Step Scaling: 트리거를 정의한 다음 유닛을 얼마나 삭제하고 추가할지 정의
    • Target Tracking Scaling: ex. 평균 CPU 사용률을 정해두고 자동으로 조정
    • Scheduled Scaling(예약 스케일링): 사용자 패턴을 기반으로 확장을 예측
  • 🧚 Predictive Scaling(예측 스케일링): 머신러닝을 사용해서 트래픽을 미리 예측

 


자격증 취득을 위해 강의를 듣게 되었지만

AWS에서 사용하던 서비스의 기능을 더 전문적으로 알게 되는 거 같아 재밌었다~ 굿굿

 

마지막은 귀엽게 모여서 모각공(모여서 각자공부)하는 모습~

반응형

댓글