클라우드 개념과 AWS 기본설정

EBAB!·2023년 7월 7일
0

AWS 자격증 준비

목록 보기
2/16
post-thumbnail

클라우드 컴퓨팅이란

등장배경

서버-클라이언트 아키텍쳐가 기본

  • 서버-클라이언트 아키텍처는 클라이언트와 서버가 통신하는 방식
  • 서버는 데이터와 서비스를 제공하고 클라이언트는 사용자 인터페이스를 제공. 클라이언트는 사용자가 입력한 정보를 서버로 전송하고, 서버는 필요한 작업을 수행한 후 클라이언트에 결과를 반환.
  • 분산 컴퓨팅 환경에서 가장 일반적으로 사용.

서버가 늘어남에 따라 필수적인 데이터 센터

  • 어플리케이션의 서버를 호스팅하는 실제 시설
  • 운영에 필요한 인프라
    • 컴퓨팅 시스템을 위한 하드웨어, 네트워킹 장비, 전원공급장치, 전기 시스템,백업 발전기, 환경 제어장치(냉각 장치, 팬 등) 등
  • 운영에 필요한 많은 비용
    • 건물 유지비용, 서버 구매비용, 셋업, 유지보수, 수요에 상관없이 보유
  • 느린 구축시간
    - 유저의 수요에 빠르기 대처하기 힘듦
    - 장애 기기를 교체하는 시간 느림

클라우드 컴퓨팅

  • IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불
    • 온디맨드 : 수요에 반응해서 서비스를 제공하는 것
  • 장점
    - 자본 비용을 가변 비용으로 대체 : 데이터 센터 구축 비용, 서버 구매 비용 → 운영비
    - 규모의 경제로 얻게 되는 이점 : AWS의 서버 대량 구매로 구매비용 절감 → 고객에게 낙수효과
    - 용량 추정 불필요
    - 속도 및 민첩성 개선
    - 몇 번의 클릭으로 리소스 확보 가능
    - 개발 비용 절감
    - 데이터 센터 운영 및 유지관리에 비용 투자 불필요 : 비즈니스에 집중 가능
    - 빠른 확장성


클라우드 컴퓨팅 모델

클라우드 컴퓨팅 모델

구성 요소 : App, OS, Computing, Storage (HDD/SSD), Network (이하 A O C S N)

1.IaaS (Infrastructure as a Service)

  • C/S/N 제공
  • OS를 직접 설치하고 필요한 소프트웨어를 개발해서 사용
  • 가상의 컴퓨터를 하나 임대하는 상황
  • 대표적으로 EC2 가 있음
  • 비유 - 라면을 먹기 위해 ‘주방’을 빌림. ‘레시피’, ’요리재료’, ’주방기기’는 알아서

2.PaaS (Platform as a Service)

  • O(+Runtime)/C/S/N 제공
    • 런타임 : 기타 프로그램 실행에 필요한 부분
  • 바로 코드만 올려서 돌릴 수 있도록 구성
  • Firebase, Google App Engine 등
  • 비유 - 라면을 먹기 위해 ‘주방’, ‘요리재료’, ‘주방기기’를 빌림. ‘레시피’만 알아서

3.SaaS (Software as a Service)

  • A/O/C/S/N 전부 제공
  • 서비스 자체를 제공
  • 다른 세팅 없이 서비스만 제공
  • Gmail, DropBox, Slack, Google Docs 등
  • 비유 - 라면을 먹기 위해 버튼만 누름.

클라우드 배포 모델

공개형 클라우드

  • 모든 부분이 클라우드에서 실행

  • 낮은 비용

  • 높은 확장성

폐쇄형 클라우드

  • 모든 부분을 사설 데이터센터에서 실행

  • 높은 수준의 커스터마이징 가능

  • 초기 비용, 유지보수 비용이 비쌈

  • 높은 보안

하이브리드 클라우드

  • 폐쇄형과 공개형의 혼합

  • 폐쇄형에서 공개형으로 전환하는 과도기에 사용하거나 폐쇄형의 백업으로 사용


클라우드 관련 개념 및 용어

고가용성(High Availability)

  • 장애 상황을 해결하고 서비스를 지속할 수 있는 능력
  • 장애 상황의 준비가 되어있는 아키텍쳐가 필요

장애 내구성 or 내결함성 (Fault Tolerance)

  • 장애 상황에서도 서비스를 지속할 수 있는 능력
  • 장애 상황에 영향을 받지 않는 아키텍쳐가 필요

재해 복구 (disaster recovery)

  • 장애 상황을 복구하는 것

확장성 (scalable)

  • 쉽고 빠르게 규모를 늘릴 수 있는 능력
  • 수요에 따라 컴퓨팅 파워 혹은 용량 확장

탄력성 (Elastic)

  • 수요에 따라 컴퓨팅 파워/용량을 확장하거나 축소할 수 있는 능력
  • 불필요한 자원을 사용하지 않고 최적화에 필수적인 능력

결합 (Coupling)

  • Tight Coupling
    • 다른 주체에 대해서 단단하게 얽힌 상태
    • 주체끼리 높은 의존성을 가지고 있어 변경이 쉽지 않음
  • Lose Coupling
    - 다른 요소에 대해 얽히지 않고 연결되어 있는 상태
    - 주체끼리 낮은 의존성을 가지고 있어 쉽게 변경할 수 있고 유연
    - 클라우드 환경에 좋은 상태


AWS의 구성

AWS는 여러 리전으로 구성되어 있고, 리전 안에는 ‘2개 이상의 가용영역’, ‘엣지 로케이션’으로 구성

Region

  • AWS의 서비스가 제공되는 서버의 물리적 위치
  • 전 세계에 흩어져 있으며 큰 구분(동남아, 유럽, 북미 등)으로 묶여 있음
  • 각 리전에는 고유 코드가 부여됨
    • 서울 : ap-northeast-2
    • 버지니아 북부 : us-east-1
  • 리전별 가능한 서비스가 다름

리전 선택할 때 고려할 점

  • 지연 속도 : 서비스하기 가까운 지역 선택

  • 법률 (데이터, 서비스 제공 관련)

  • 사용 가능한 AWS 서비스

US-East-1 리전

  • 모든 AWS의 서비스가 최초로 서비스되는 리전

  • 기타 글로벌 서비스의 서비스 리전

가용 영역 (Availability Zone)

  • 리전의 하부 단위 : 하나의 리전은 반드시 2개 이상의 가용영역으로 구성
  • AZ라고 줄여 부름

가용 영역의 구성

  • 하나 이상의 데이터 센터로 구성

  • AZ간 연결은 매우 빠른 전용 네트워크로 연결

  • 반드시 물리적으로 일정 거리 이상 떨어져 있음

  • 다만 모든 AZ는 서로 100km 이내의 거리에 위치 : 여러 재해에 대한 대비 및 보안

가용 영역의 위치

  • 각 계정별로 AZ의 코드와 실제 위치는 다름 : 보안 및 한 AZ로 몰림을 방지
  • ex. 계정1의 AZ-A ≠ 계정2의 AZ-A

Edge Location

  • AWS 의 CloudFront(CDN)등의 여러 서비스들을 가장 빠른 속도로 제공(캐싱)하기 위한 거점
  • Global Accelerator와 유저를 연결하는 거점
  • 전 세계에 여러 장소에 흩어져 있음

서비스의 종류

AWS 서비스가 제공되는 지역의 기반에 따라 글로벌 서비스, 리전 서비스로 분류

글로벌 서비스

  • 데이터 및 서비스르 전 세계의 모든 인프라가 공유
  • IAM, Route53, WAF 서비스

리전 서비스

  • 특정 리전을 기반으로 데이터 및 서비스를 제공
  • 대부분의 서비스
    - S3 서비스는 전 세계에서 동일하게 사용할 수 있으나 모든 리전에서 사용 가능한 리전서비스임

ARN (Amazon Resource Names)

  • AWS의 리소스에 부여되는 고유 아이디
  • 형식 : arn:[partition]:[service]:[region]:[account_id]:[resource_type]/resource_name/(qualifier)



AWS 계정 생성 및 초기 설정

루트사용자

  • 생성한 계정의 모든 권한을 가지고 있는 유일한 유저
  • 생성시 만든 이메일 주소로 로그인
  • 탈취 당할 시 복구가 매우 힘듬 : 사용을 자제하고 MFA 설정 필요
  • 루트 사용자는 관리용으로만 이용 권장 : 계정 설정 변경, 빌링 등

IAM

  • IAM (Identity and Access Management)을 통해 생성한 사용자
  • 만들 때 주어진 아이디로 로그인
  • 기본 권한 없음 : 따로 권한을 부여해야 함
    • 관리자 IAM User, 개발자 IAM User, 디자이너 IAM User, 회계팀 IAM User
    • 권한 부여 시 루트 사용자와 같이 모든 권한을 가질 수 있지만 빌링 관련 권한은 루트 사용자가 허용해야 함
  • 꼭 사람이 아닌 어플리케이션 등의 가상의 주체를 대표할 수도 있음

admin 관련 IAM 계정 설정

  1. 루트 사용자에서 IAM 콘솔 이동
  2. MFA 설정 후 왼쪽 사용자 → 사용자 생성
    • MFA 설정 시 QR 코드 이미지 반드시 private하게 저장 → 복구 시 필요
  3. 권한 옵션 : 직접 정책 연결 → AdministratorAccess
  4. 태그 커스텀 설정
  5. 사용자 → admin 계정에서 MFA 설정
    • QR 코드 이미지 필요 X → 해킹 등의 이슈 발생 시 삭제 후 root계정에서 생성하면 됨

Biling 알람

  1. 콘솔에 AWS budgets 검색 후 콘솔에서 이동
  2. 예산 작성
profile
공부!

0개의 댓글

관련 채용 정보