728x90

<필답평가>

ebs, s3, ami, ec2

 

aws sdk(software development kit) => java

boto3 => python

 

vpc ) subnet -> internet gateway

 

배포방식 ->

빅뱅(현시스템을내리고다시올림)

롤링(현시스템에서하나하나바꿈)

블루그린(현시스템과동일한것을하나더만듦)

카날리아(현시스템에서조금씩바꿔나감)

 

 

<실습평가>

인스턴스 - 로드밸런스, 오토스케일링만드는것

dynamo db -> CLI 명령어로생성하는방법

로드밸런스설정

 

 

 

컴퓨팅 - 물리 서버가 하는 역할을 복제한 클라우드 서비스 

 

  • EC2(Elastic Compute Cloud)
  • Lambda 
  • Auto Scaling
  • Elastic Load Balancing
  • Elastic Beanstalk

 

네트워킹 - 어플리케이션 연결, 접근 제어, 원접 연결, … 

  • VPC(Virtual Private Cloud)
  • Direct Connect 
  • Route 53 
  • CloudFront 

 

스토리지 - 빠른 액세스, 장기 백업과 같은 요구를 충족하는 스토리지 플랫폼

  • S3(Simple Storage Service)
  • Glacier
  • EBS(Elastic Block Store)
  • Storage Gateway

 

데이터베이스 - 관계형, NoSQL, 캐싱 등 

  • RDS(Relational Database Service) 
  • DynamoDB 

 

어플리케이션 관리

  • CloudWatch 
  • CloudFormation
  • CloudTrail
  • Config 

 

보안과 자격 증명

  • IAM(Identity and Access Management)
  • KMS(Key Management Service) 
  • Directory Service 

 

어플리케이션 통합  

  • SNS(Simple Notification Service)
  • Simple WorkFlow(SWF)
  • SQS(Simple Queue Service) 
  • API Gateway 

 

**AWS정리

S3 : 정적웹사이트호스팅가능

 

VPC : virtual private cloud -> 한리전안에서만존재가능(리전 : AWS 운영지역가용영역:리전내위치한데이터센터)

 

Subnet : VPC 내논리컨테이너, 하나의가용영역내에서만존재가능

 

ENI(elastic network interface) : 물리서버의 network interface controller와같은기능수행

 

IGW(internet gateway) : 퍼블릿 IP 주소를할당받은인스턴스가인터넷과연결되어서인터넷으로부터요청을수신할수있도록해주는서비스

 

라우팅테이블 : VPC는소프트웨어함수로 IP 라우팅을구현한라우터를제공⇒사용자는라우팅테이블만관리

 

라우팅 : 라우팅 테이블과 연결된 서브넷 내 인스턴스에서 트래픽을 전달하는 방법을 결정 라우팅 테이블에는 같은 VPC에 있는 인스턴스 간에 통신할 수 있게 하는 로컬라우팅이 필수적으로 포함

 

보안그룹 : 방화벽과 같은 기능 제공

 

NACL : network access control list 보안그룹과 유사

 

Command Line Interface <-> Graphic User Interface

 

Ami : amazon machine image Amazon 머신 이미지(AMI)는 인스턴스를 시작하는 데 필요한 정보를 제공합니다.

 

ebs 볼륨의 특정 시점 스냅샷을 생성하여 새 볼륨이나 데이터 백업의 기준으로 사용할 수 있습니다.

 

Volume = storage의 단위, 용량

 

오토 스케일링 => 갑작스러운 트래픽 집중에 서버, 스토리지 등의 자원이 자동으로 확장하면서, 안정적인 서비스를 유지하기 위해 탄력적으로 일정수준을 유지하며 안정적인 서비스를 제공하는 것입니다.

 

로드밸런스 => 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술입니다.

 

Dynamo DB -> noSQL db -> 배포 단순 신속, 확장이 단순하고 신속, 데이터를 자동으로 백업, 빠르고 일관된 응답시간 제공, 보조 인덱스를 통한 빠른 조회

 

SNS(simple notification service) - 게시자(Publishers, 생산자)에서 구독자(Subscribers, 소비자)에게 메시지 전달(전송)을 조정, 관리하는 관리형 서비스

topic : 통신 채널 역할을 하는 논리적 액세스 포인트, 주제를 사용해 여러 엔드포인트(예: Lambda, SQS, HTTP/S, 이메일, … 등)를 그룹화할 수 있음

subscribe : 주제에 개시된 메시지를 수신할 수 있도록 주제에 대한 엔드 포인트를 등록하는 것

FIFO - 순서가 중요한 경우

표준 - 순서가 중요하지 않은 경우

 

SQS  - queue : 메시지를 담는 공간

Batch API - 한번에 최대 10개의 메시지 처리

CloudTrail : AWS 리소스의 모든 읽기, 쓰기 작업의 상세 로그(작업 내역, 관련 리소스와 리전, 작업 수행자와 작업 시간 등)를 보관, API 작업과 비 API 작업을 모두 기록

 

CloudWatch : AWS 리소스와 AWS에서 실시간으로 실행되는 애플리케이션을 모니터링, 리소스와 애플리케이션에 대한 지표(= 측정할 수 있는 변수)를 수집하고 추적

 

*배포의 종류

빅뱅 배포 : 애플리케이션의 전체 또는 대부분을 한 번에 업데이트

롤링 배포 : 단계적 배포 = 현위치 배포 : 애플리케이션의 이전 버전(파란색)을 점차적으로 새 버전(초록색)으로 교체

Blue-Green, Red-Black, A/B 배포 : 두 개의 동일한 프로덕션 환경이 병렬로 작동, 하나는 모든 사용자의 트래픽을 수신하는 실행 상태, 다른 하나는 유휴 상태

카나리아 배포 : 프로덕션 인프라의 작은 부분에 새 애플리케이션 코드를 배포해서 소수의 사용자만 해당 애플리케이션으로 라우팅, 보고된 오류가 없는 새 버전은 나머지 인프라에 점차적으로 롤 아웃

 

Amazon API Gateway : 개발자가 규모와 관계 없이 API를 쉽게 생성, 게시, 유지관리, 모니터링, 보안유지를 할 수 있도록 하는 완전관리형 서비스

 

서버리스 아키텍처

  1. 컴퓨팅 서비스를 사용해 요구에 맞게 코드를 실행한다. (서버없이)
  2. 단일 목적의 상태 없는 함수를 작성한다. 
  3. 푸시 기반, 이벤트 주도 파이프라인을 설계한다. 
  4. 더 두텁고 강한 프론트엔드를 만든다. ⇒ React, Angular, Vue, ...
  5. 서드파티 서비스를 받아들인다. ⇒ 예) 소셜 로그인

 

  1. s3 -> 2. lambda -> 3.  elastic transcoder -> 4. s3

 

ACL(Access Control List) ->  interface로 들어오고 나가는 패킷을 분석해서 정해진 규칙에 따라 패킷을 전송 또는 차단함으로써 네트워크 접근 제어, 라우터의 방화벽

 

**24-hour video  웹 사이트 제작

  1. 로그인, 로그아웃, 사용자 프로필 버큰을 포함한 기본 웹 사이트를 생성
  2. Auth0 이용해서 어플리케이션을 등록하고 웹 사이트에 통합 → 사용자가 Auth0를 통해 로그인하고 이를 식별하는 JSON 웹 토큰을 받을 수 있어야 함
  3. 웹 사이트에서 람다 함수를 호출할 수 있도록 API Gateway를 추가
  4. user-profile 람다 함수를 생성 
  5. user-profile 람다 함수를 호출할 수 있도록 API Gateway를 구성
  6. JWT 유효성 검사를 수행하도록 API Gateway를 수정

 

 

 

 

 

**필답평가 문제풀이(오답노트)

6. Linux 인스턴스를 만들고 프라이빗 IP 주소를 자동으로 할당하고, 퍼블릭 IP 주소를 할당하지 않도록 설정한 경우, 인스턴스를 중지했다가 다시 시작할 때 인스턴스 상태에 대한 설명으로 가장 올바른 것은 무엇인가?

    =>인터넷에서 인스턴스로 직접 SSH 접속할 수 없다.

 

9. EC2 인스턴스를 그룹으로 묶고, 네트워크 연결 및 액세스 제어를 구성할 수 있는 AWS 도구는?

    => Amazon VPC

 

13. 네트워크 이벤트가 트리거할 때만 애플리케이션을 실행하고 실행 후 즉시 종료해서 구성시간과 비용을 절약하고자 합니다. 다음 중 이를 위해 사용할 수 있는 것은 무엇입니까?

    => AWS Lambda

 

AWS Elastic Beanstalk : 애플리케이션에 사용할 인프라를 시작하고 관리하며, 이 인프라는 사용자가 직접 중단할 때까지 계속 가동

Amazon Elastic Container Service : Docker 컨테이너를 관리하지만, 작업이 완료되면 반드시 중지할 필요는 없음

Auto Scaling : 수요에 대응하기 위해 이미 배포되어 실행 중인 인스턴스의 수를 추가할 수 있음

 

URL -> s3.amazonaws.com 도메인, 버킷 이름, 파일 이름 순으로 조합

 

15. S3 버킷 객체를 실수로 덮어써서 기존 객체를 잃지 않으려면 어떻게 해야 합니까

    => 버전 관리를 활성화한다.

 

16. 다음과 같은 형태의 테이블을 생성하는 AWS CLI 명령어로 가장 올바른 것은?

->aws dynamodb create-table --table-name Books \--attribute-definitions AttributeName=Author,AttributeType=S AttributeName=Title,AttributeType=S \--key-schema AttributeName=Author,KeyType=HASH AttributeName=Title,KeyType=RANGE \--provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1

 

17. 서브넷과 가용 영역 간의 관계로 가장 적합한 것은 무엇입니까?

    => 한 가용 영역에는 서브넷이 여러 개 존재할 수 있다.

    => 서브넷은 여러 가용 영역에 걸칠 수 없음

 

18. 다음 중 보안그룹에 대한 설명으로 가장 올바른 것은?

    => 모든 VPC에는 기본 보안 그룹이 있다.

    => 각 VPC에는 삭제할 수 없는 기본 보안 그룹이 있으며, 보안 그룹은 다른 리소스에 연결하지 않더라도 만들 수 있다.

    => 그러나 이것을 사용하기 위해서는 ENI(Elastic Network Interfaces)에 연결해야 하며, 여러 보안 그룹을 같은 ENI에 연결할 수 있다.

 

19. 탄력적인 네트워크 인터페이스(ENI)와 관련한 설명으로 가장 올바른 것은?

    => 속해 있는 서브넷에서 프라이빗 IP 주소를 받아야 한다.

    => 모든 ENI에는 기본 프라이빗 IP 주소가 있어야 하며, 보조 IP 주소를 가질 수 있지만, 모든 주소는 ENI가 있는 서브넷에서 할당되어야 함

    => ENI를 만들면 다른 서브넷으로 이동할 수 없으며, ENI는 인스턴스와 독립적으로 만들 수 있으며 나중에 인스턴스에 연결할 수 있음

728x90

'CLOUD > AWS' 카테고리의 다른 글

3/19 - AWS 15차시  (0) 2021.03.19
3/17 - AWS 14차시  (1) 2021.03.17
3/16 - AWS 13차시  (0) 2021.03.16
3/15 - AWS 12차시  (0) 2021.03.15
3/12 - AWS 11차시  (0) 2021.03.12

+ Recent posts