aws 객관식 문제

정명진·2023년 10월 20일
0

클라우드 컴퓨팅이란?

인터넷을 통해 IT 리소스와 애플리케이션을 온디맨드로 제공하는 것(종량 과금제)

온프레미스 배포의 또 다른 이름은 무엇입니까?

프라이빗 클라우드 배포

클라우드 컴퓨팅의 규모는 어떻게 비용 절감에 도움이 됩니까?
온디맨드로 서비스에 액세스하므로 용량 초과나 제한을 방지할 수 있습니다.

구독자에게 메시지를 게시하는 데 가장 적합한 AWS 서비스는 무엇입니까?
Amazon Simple Notification Service(Amazon SNS)

배치 처리(일괄처리) 워크로드에 Amazon EC2 인스턴스를 사용하려고 합니다. 가장 적합한 Amazon EC2 인스턴스 유형은 무엇입니까?
메모리 최적화

Amazon EC2 예약 인스턴스의 약정 기간 옵션은 무엇입니까? (2개 선택)
1년, 3년

총 6개월 동안 실행되며 중단을 견딜 수 있는 워크로드가 있습니다. 가장 비용 효율적인 Amazon EC2 구매 옵션은 무엇입니까?
온디맨드

Elastic Load Balancing의 예는 무엇입니까?
단일 Amazon EC2 인스턴스가 전체 워크로드를 처리하지 않아도 되도록 보장

컨테이너식 애플리케이션을 배포하고 관리하려고 합니다. 어떤 서비스를 사용해야 합니까?
Amazon Elastic Kubernetes Service(Amazon EKS)

가용 영역을 가장 잘 설명한 것은 무엇입니까?
온프레미스 데이터 센터에서 하이브리드 방식으로 AWS 인프라를 실행하는 데 사용할 수 있는 서비스

AWS 글로벌 인프라에 대한 올바른 설명은 무엇입니까?
리전은 두 개 이상의 가용 영역으로 구성됩니다

리전을 선택할 때 고려해야 할 요소는 무엇입니까? (2개 선택)
데이터 거버넌스 및 법적 요구 사항 준수, 고객과의 근접성

다음 중 Amazon CloudFront를 가장 잘 설명한 것은 무엇입니까?
글로벌 컨텐츠 전송 서비스

 Amazon CloudFront에서 사용자가 어느 위치에 있든 콘텐츠를 더 빠르게 전송하기 위해 콘텐츠 복사본을 캐싱하는 데 사용하는 사이트는 무엇입니까?
엣지 로케이션

 AWS Outposts로 수행할 수 있는 작업은 무엇입니까?
AWS 인프라 및 서비스를 온프레미스 데이터 센터로 확장합니다.

AWS 계정의 기본 네트워크 액세스 제어 목록을 가장 잘 설명한 것은 무엇입니까?
기본 네트워크 액세스 제어 목록은 상태 비저장이며 모든 인바운드 및 아웃바운드 트래픽을 허용합니다.

DNS 확인을 가장 잘 설명한 것은 무엇입니까?
도메인 이름을 IP 주소로 변환

회사의 데이터 센터와 AWS 간에 비공개 전용 연결을 설정하는 데 사용할 수 있는 구성 요소는 무엇입니까?
AWS Direct Connect

VPC를 인터넷에 연결하는 데 사용되는 구성 요소는 무엇입니까?
인터넷 게이트웨이

도메인 이름의 DNS 레코드를 관리하는 데 사용되는 서비스는 무엇입니까?
Amazon Route 53

자주 액세스하지 않는 데이터를 저장하려고 하지만 필요한 경우 즉시 사용할 수 있어야 합니다. 다음 중 어떤 Amazon S3 스토리지 클래스를 사용해야 합니까?
S3 Standard-IA

애플리케이션을 분산 서비스 거부(DDoS) 공격으로부터 보호하는 데 도움이 되는 서비스는 무엇입니까?
AWS Shield

 AWS Key Management Service(AWS KMS)가 수행할 수 있는 작업은 무엇입니까?
암호화 키 생성

IP

ip는 네트워크에 연결되는 장치들을 식별하기 위한 주소체계. 모든 네트워크 인터페이스는 고유 번호를 가지고 있으며 이를 통해 통신한다. IP는 v4, v6 버전이 있다. v4는 32비트 주소로 구성되며 v6는 128비트로 구성된다. 일반적으로 IP는 IPv4를 의미한다.

IP Class

Ip는 매우 큰 주소 범위를 갖기 때문에 IP Class로 구조화한다. A, B, C, D, E 5개의 클래스가 있다.

  • ClassA : 대규모 네트워크에서 사용한다. 첫 번째 옥텟은 네트워크 식별에 사용하고, 나머지 세 옥텟은 네트워크 호스트에 IP를 할당하기 위해 사용한다.
  • ClassB : 중형 네트워크에서 사용한다. 처음 두 옥텟은 네트워크를 식별하는데 사용하고, 나머지 세 옥텟은 네트워크 호스트에 IP를 할당하기 위해 사용한다.
  • ClassC : 소형 네트워크에서 사용한다. 처음 3 옥텟은 네트워크를 식별하는데 사용하고, 나머지 세 옥텟은 네트워크 호스트에 IP를 할당하기 위해 사용한다.
  • ClassD : 단일 패킷을 여러 장치에 동시에 보낼 수 있는 멀티캐스트 주소에 사용한다.
  • ClassE : 실험용으로 예약되어 있으며 일반 네트워크 통신에는 사용하지 않는다.

Private IP

사설 IP는 공용 네트워크가 아닌 LAN과 같은 사설 네트워크에서 사용하는 주소다. 일반 인터넷에서 라우팅이 불가하다.

Subnet

0.1.0.0/16 네트워크를 사용하기로 했다고 가정해보자. 이 네트워크는 16 비트를 호스트에 할당 할 수 있으므로 65,536의 호스트를 수용할 수 있는 거대한 네트워크다. 이 거대한 네트워크를 사용하는 것은 비효율적이므로 네트워크를 나눠서 사용하는데 이를 서브넷(subnet) 이라고 한다. 즉 거대 네트워크를 나눠 사용하는것이다. 그 이유는 다음과 같다.

  • 보안 : 중요 장치를 격리하기 위한 서브넷을 따로 구성하고 보안장치들을 추가할 수 있다.
  • 효율성 : 대규모 네트워크를 더 작은 네트워크로 나누면, 트래픽을 더 잘 관리하고 라우팅 할 수 있이므로 네트워크 성능이 향상된다.
  • 확장성 : 서브넷을 사용하면 애플리케이션이 확장함에 따라 서브넷을 추가할 수 있으므로 네트워크를 쉽게 확장 할 수 있다.

3-Way HandShake

TCP는 서버와 클라이언트가 서로 연결을 맺는다. 이렇게 맺어진 가성의 전용 회선에서 통신을 한다. 이를 위해서 서버와 클라이언트는 서로를 확인하고 연결을 만들기 위한 과정이 필요하다. 이 과정은 총 3번의 패킷 교환으로 이루어지는데 이를 3-Way HandShake라고 부른다.

  1. SYN(Synchronize) : 클라가 서버에 SYN 패킷을 전송하여 연결을 요청한다.
  2. SYN-ACK(Synchronize-Acknowledge) : 서버는 SYN 패킹을 수신했으며 연결을 설정 할 수 있음을 클라이언트에게 알린다.
  3. ACK(Acknowledge) : 클라는 서버에 ACK 패킹을 전송하여 SYN-ACK 패킷을 수신했으며, 연결을 설정할 것임을 확인한다.

해당 과정을 거치면 클라와 서버 모두 생성된 TCP 연결을 통해 데이터 교환 준비가 완료된다.

Proxy

프록시는 네트워크와 네트워크 사이에서 트래픽을 중계해주는 중계 서버다.

  • 보안 : Proxy 서버는 내부 서버 IP를 숨겨 보호가 가능하다. 이로 인해 공격자는 서버를 특정하기 어려워진다. 또한 Proxy 서버에 방화벽을 설치하거나, 보안 소룰션을 설치하여 내부 네트워크 보호가 가능하다.
  • 성능 : Proxy 서버는 웹 페이지와 같이 자주 사용하는 정적 파일을 캐싱하여 서버 부하를 줄이고 액세스 시간을 단축 할 수 있다. 또한 부하를 분산시킴으로써 전반적인 성능 향상이 가능하다.
  • 컨텐츠 필터링 : 미리 정의된 규칙에 따라 특정 리소스 또는 컨텐츠에 대한 액세스 설정 권한이 가능하다.

Reverse Proxy

리버스 프록시는 역방향 프록시라고 한다. 클라의 요청을 받아서 적절한 서버로 요청을 전달하는 일을 한다. 서버의 응답은 리버스 프록시로 반환되고 다시 클라이언트로 반환한다. 예를 들어 a.b.c로 요청을 오면 nginx에서 해당 호스트로 온 요청을 localhost:5111로 전달한다라고 설정하여 클라의 요청을 적절한 서버로 요청을 보내고 그 응답을 다시 클라이언트에게 반환하는게 가능해진다. 클라이언트의 요청을 여러 서버로 부난시켜서 서버의 과부하를 방지하고 요청이 효율적으로 처리하는게 가능해서 Web App에서 거의 필수이다. 또한 외부로부터 실제 내부 서버 주소를 숨길 수 있기 때문에 악의적 트래픽 차단이 가능하다.

Forward Proxy

포워드 프록시는 역방향 프록시의 반대다. 클라이언트와 인터넷 사이에 위치하면서, 클라의 요청을 인터넷으로 전달하는 일을 한다. 클라가 특정 주소에 요청을 할 경우, 프록시 서버가 클라 대신하여 웹 서버에 요청을 하고 이를 다시 클라이언트에게 보낸다. 일반적으로 네트워크 내에서 인터넷에 대한 액세스를 제어하거나 자주 요청하는 리소스를 캐싱하여 성능을 향상시키기 위한 목적으로 사용한다.

Load Balancer

로드 밸런서는 클라이언트의 요청을 여러 서버로 분산 전달해서 서버의 부하를 분산하는 장치 혹시 소프트웨어다. 기본적으로 리버스 프록시와 유사하며, 실제로 로드밸런서는 리버스 프록시의 구현체와 동일하다 볼 수 있다. Nginx, Apache 같은 웹서버는 로드밸런서를 구현하기 위해 사용되는 대표적인 웹서버다. 로드 밸런서는 다양한 프로토콜을 분산할 수 있는데 어떤 계층의 프로토콜을 처리하냐에 따라 L4(네트워크), L7(애플리케이션) 로드밸런서로 나뉜다.

L4 Load Balancer

L4는 전송 계층의 프로토콜을 이용해 로드를 분산하는 네트워크 장치 혹은 애플리케이션을 의미한다.
즉 L4 로드 밸런서는 네트워크 패킷 헤더의 Source Ip, Destination IO, TCP/UDP 포트 번호와 같은 정보를 기반으로 라우팅을 결정한다. SMTP, FTP, DNS와 같은 프로토콜의 부하분산에 사용한다. HTTP 같은 경우는 L7으로 부하분산하는게 일반적이다. 애플리케이션 계층에 비해 상대적으로 간단한 데이터를 기반으로 라우팅하기 때문에 L7보다 더 빠르게 대용량의 요청을 부하분산 할 수 있다.

L7 Load Balancer

L7는 애플리케이션 계층의 프로토콜을 이용해 로드를 분산하는 네트워크 장치 혹은 애플리케이션을 의미한다. 이론적으로는 모든 애플리케이션 프로토콜에 대해 로드 밸런서를 개발할 수 있겠지만, 실무에서 L7이라 하면 HTTP, HTTPS에 대한 로드밸런서를 의미한다. 웹 기반 애플리케이션의 부하 분산을 위해서 필수로 들어가는 장치다. L7은 HTTP 헤더와 분문정보를 이용해서 다양한 라우팅 정책이 가능하다. 즉 HOST 기반 라우팅, 컨텐츠 기반 라우팅, URL 기반 라우팅, Cookie 기반 라우팅이 가능하다. 또한 HTTP Method 기반으로도 가능하다.

IP와 Port를 기반으로 라우팅하는 L4와 비교해서 L7은 고급기능을 가지고 복잡한 기능을 수행 할 수 있다.

  1. 고급 라우팅 : HTTP 헤더, 쿠키, 본문 데이터 기반으로 라우팅 할 수 있다.
  2. SSL termination : SSL/TLS 연결을 종료하며 클라이언트와 서버간 트래픽을 암/복호화 할 수 있다.
  3. Session persistence : 클라이언트 요청이 주어지면 해당 세션이 항상 동일한 서버로 전달되도록해서 세션 지속성을 유지할 수 있다.
  4. Health Check : 백엔드 서버 상태를 모니터링하여 정상서버로만 트래픽을 라우팅 할 수 있다.
  5. 컨텐츠 기반 라우팅 : URL, 쿼리 매개변수, 응답 컨텐츠 기반으로 라우팅 할 수 있다.
  6. 다양한 로드밸런싱 알고리즘 : 라운드로빈, 최소연결, IP Hash 및 사용자 지정 알고리즘을 포함하여 다양한 방법으로 트래픽 분산
  7. Contents Caching : 컨텐츠를 캐싱하여 백엔드 서버의 부하를 주이고 성능을 향샹시킨다.
  8. Contents Compression : 클라이언트에 컨텐츠를 전송하기 전에 압축하여 네트워크 대역폭 사용량을 줄일 수 있다.
  9. Rate Limiting : 요청속도를 관리하여 백엔드 서버의 과부하를 방지할 수 있다.
  10. DDOS 보호 : 트래픽을 필터링하고 악의적인 요청을 차단하여 DDOS 공격으로부터 백엔드 서버와 데이터를 보호할 수 있다.

NAT

Network Address Translation 은 내부 네트워크의 장치가 인터넷에 접근할 수 있도록 하는 기술이다. 내부 네트워크는 Private ip를 사용하기 때문에 직접적으로 인터넷에 접근할 수 없다. NAT는 Private IP를 Public IP로 변환해주기 때문에 NAT을 이용해서 인터넷과 연결 할 수 있다.

  1. Static NAT : 고정된 Public IP로 전환된다.
  2. Dynamic NAT : Public IP의 풀이 있어서, 이중 하나를 선택해서 사용한다.
  3. PAT(Port Address Translation) : NAPT(Network Address Prot Translation)이라고도 하며, 로컬 네트워크의 각 장치에 대해서 서로 다른 포트를 할당하여 Public IP로 매핑해서 사용한다.
    NAT는 제한된 수의 Public IP를 사용할 수 있찌만, 여러 장치가 동시에 인터넷에 접근해야 하는 가정 및 기업 네트워크에 일반적으로 사용된다.
    클라우드의 경우 내부 네트워크에 있는 장치들이 인터넷에 접근해야 할 떄(외부 API 호출) 주로 사용한다.

BASTION

Jump Server 혹은 Jump box라고 부르기도 하는 BASTION 서버는 데이터 센터나 클라우드에 구축된 사설 네트워크에 있는 서버에 안전하게 접근할 수 있도록 관리하는 전용 서버다. AWS VPC 네트워크의 경우 Public Subnet과 Private Subnet으로 구성을 하는데, 모든 서버와 주요 리소스들은 Private Subnet에 배치한다. Private Subnet은 인터넷에서 바로 접근 할 수 없는데, 이렇게 해서 보안수준을 높일 수 있다. 하지만 보안 수준이 높아지는 반면 관리/운영상 이유로 서버에 접근하기도 어려워진다.
아래와 같이 Public Subnet에 Bastion 서버를 두는 방법으로 이 문제를 해결할 수 있다.

Network Firewall

네트워크 방화벽은 미리 저으이된 보안 규칙들을 내장하고 있는 네트워크 보안 장치 혹은 소프트웨어다. 네트워크 방화벽은 보호하려는 네트워크 앞에 놓여서 들어오고 나가는 트래픽을 모니터링하면서 보안 규칙을 위반하는 트래픽을 차단한다. 애플리케이션 계층, 전송 계층, 네트워크 계층 등 다양한 계층에서 작동 할 수 있다. 주요 기능은 다음과 같다.

  1. Packet Filtering : 네트워크 패킷의 헤더를 검사하고, Source Ip, Target Ip, Port 등 속성을 이용해서 패킷을 차단할 수 있다.
  2. Stateful inspection : 네트워크의 연결상태를 추적하여 설정된 연결의 트래픽만 허용하게 할 수 있다.
  3. Application-level filtering : 네트워크 패킷의 내용을 검사하는 방식으로 사용 중인 애플리케이션 또는 프로토콜 유형에 따라서 트래픽을 차단할 수 있다.
  4. VPN(Virtual Private Network) : VPN 터널을 통해 내부 네트워크에 대한 보안 원격 설정을 할 수 있다.
  5. Intrusion detection and Prevention : 악의적 활동 징후가 있는지 네트워크를 모니터링하여 네트워크 공격을 감지한다.
  6. NAT : 방화벽은 NAT의 역할도 함께 수행한다.
    AWS 클라우드의 경우 호스트 레벨의 방화벽인 Security Group을 이용하며, 기타 써드파티 방화벽 솔루션을 이용해서 보안을 강화할 수 있다.

DDoS

Dos는 특정서버를 공격해서 대상 서버가 서비스를 하지 못하도록 하는 공격을 의미한다. 서버가 서비스를 하지 못하게 하려면 서버가 감당할 수 없는 CPU 부하, 네트워크 대역폭 부하 및 메모리 부하를 발생시켜야 하는데 보통 서버는 상당히 강력한 파워를 가지고 있으므로 분산해서 공격하는 방식을 사용한다. 즉 Distributed Denial of Service는 분산 DoS 공격이다. DDoS를 막으려면 다음과 같은 방법을 사용하면 된다.

  1. CDN : CDN은 여러 서버에 트래픽을 분산시켜 공격자가 단일 서버를 대상을 공격하는걸 어렵게 한다.
  2. 방화벽 및 침입탐지 시스템 구현
  3. 네트워크 트래픽 모니터링
  4. DDoS 방지 서비스 사용
  5. Rate Limiting 적용

AWS 클라우드에서는 AWS Shield, AWS WAF, AWS CloudFront, Autoscaling 를 이용해서 DDoS 방어 혹은 완화하는 시스템을 구축한다.

DNS

Domain Name System의 줄임말이다. IP주소를 사람이 읽을 수 있는 이름과 매핑하기 위해 사용한다.
브라우저에서 도메인 이름을 입력하면 브라우저는 도메인 이름을 IP 주소로 변환하기 위해 DNS 서버로 요청을 보낸다. DNS 서버는 데이터베이스에서 도메인 이름을 조회하여 IP 주소를 반환한다. 웹 브라우저는 IP 주소를 이용해서 웹 서버에 연결 할 수 있다. DNS는 인터넷 상에서 웹 사이트 및 리소스를 쉽게 액세스 할 수 있도록 도와주는 데이터베이스 서비스다. 다른 데이터베이스 서비스와 마찬가지로 DNS는 여러 정보들을 저장하고 있는데 이를 레코드(Record) 라고 한다. 주요 레코드는 아래와 같다.

A (Address) : IPv4 주소와 도메인 이름을 맵핑한다.

AAAA (IPv6 Address) : IPv6 주소와 도메인 이름을 맵핑한다.

CNAME (Canoncial Name) : 도메인 정식이름(canoncial name)에 대한 별칭.

MX (Mail Exchange) : 도메인에 대한 이메일을 처리하는 메일 서버를 지정한다.

NS (Name Server) : 도메인 서비스를 위한 네임 서버를 지정한다.

SOA (Start of Authority) :

TXT (Text) : 이메일 인증에 사용하는 SPF(Sender Policy Framework)레코드와 같이 도메인과 관련된 추가적인 정보를 포함한다.

SPF(Sender Policy Framework) : 도메인 소유자가 도메인을 대신하여 이메일을 전송할 수 있는 서버를 지정하여 이메일 스푸핑 또는 피싱 공격을 방지하기 위해서 사용한다.

TLD(Top-Level Domain) 혹은 최상위 도메인은 DNS 이름에서 마지막 점(".")뒤에 오는 도메인 이름을 의미한다. TLD는 인터넷에서 가장 높은 수준의 도메인 이름을 나타낸다. 예를 들어 "example.com"에서 TLD는 ".com" 이다. ".org", ".co.kr", ".io", ".gov" 등이 TLD 이다.

TLD는 크게 일반 최상위 도메인(gTLD)와 국가 코드 최상위 도메인(ccTLD)의 두 가지 유형이 있다.

gTLD는 특정 국가나 지역에 한정되지 않는 일반적인 목적으로 사용한다. ".com", ".org", ".net", ".edu" 등이 gTLD의 예이다.

ccTLD는 국가나 지역에 따라 달라진다. 영국의 경우 ".uk", 프랑스 ".fr", 미국 ".us", 대한민국 ".co.kr"등이 있다.

DNS 구성 요소
DNS는 아래의 3가지 요소로 구성된다.

도메인 네임 스페이스(Domain Name Space)

네임 서버(Name Server) : 권한 있는 DNS

리졸버(Resolver) : 권한 없는 DNS

네임 서버(DNS 서버와 동일)는 도메인 이름에 대한 IP 정보를 포함한 레코드를 저장하고 있는 서버다.

DNS recursive resolver이라고 부르기도 하는 DNS Resolver 는 DNS 이름을 IP 주소로 변환하는 역할을 하는 서버다. DNS Resolver는 클라이언트와 DNS Server의 중간에 위치하는데, 어떤 네임서버로 요청을 해야하는지에 대한 정보를 가지고 있다. 또한 캐시도 가지고 있는데, 클라이언트가 요청한 도메인 정보가 캐시에 저장되있다면, 클라이언트에게 바로 반환한다.

  1. 웹 브라우저(Client)에 www.example.com 를 입력한다. 웹 브라우저는 Resolver Server에 www.example.com 에 대한 IP 주소를 요청한다.
  2. Resolver Server는 Root Name Server에 .com TLD 네임 서버에 대한 IP 정보를 요청하고, Root Name Server는 .com TLD 서버의 IP 5.6.7.8 을 반환한다.
  3. Resolver Server는 .com TLD 네임 서버에 www.example.com example.com SLD 네임 서버의 IP를 요청하고, .com TLD Name Server는 1.2.3.4 를 반환한다.
  4. Resolver Server은 SLD 네임서버에 www.example.com 의 IP를 요청하고 SLD 네임 서버는 123.123.123.123을 반환한다.
  5. Resolver Server는 121.123.123.123을 클라이언트에 반환하고, 클라이언트는 해당 IP로 연결을 한다.

VPC

Virtual Private Cloud는 AWS에서 제공하는 서비스로 가사으이 네트워크를 구성할 수 있게 해준다. 사용자는 VPC를 사용해서 자체 데이터 센터로 생각 할 수 있는 논리적으로 격리된 네트워크를 만들 수 있다. 이 네트워크는 IP주소, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, NAT를 포함하여 가상 환경을 완벽하게 제어할 수 있다. VPC로 만든 네트워크 위에 EC2 인스턴스, 데이터베이스, 로드밸런서 등의 모든 AWS 리소스가 실행된다.

VPN

Virtual Private Network는 네트워크와 네트워크 혹은 사용자와 네트워크간에 암호화된 네트워크 연결을 생성하는 기술이다. VPN은 인터넷 상에 암호화된 터널을 만들기 때문에, 안전한 데이터 통신이 가능하다.
VPN은 크게 2가지 타입이 있다.

  1. Site-To-Site VPN : 두 개의 네트워크를 VPN 장치를 이용해서 연결한다. 네트워크 단위에서 직접 연결이 되기 때문에, 사용자는 PC에 VPN 클라이언트등을 설치할 필요 없이 다른 네트워크에 접근할 수 있다. 온-프레미스 데이터 센터를 클라우드에 연결하기 위해서 혹은 회사 네트워크를 클라우드나 온-프레미스 데이터 센터에 연결하기 위해서 사용한다.

  2. Host-To-Site VPN : 개별 사용자가 자신의 PC에 설치된 VPN 클라이언트를 이용해서 네트워크에 접근한다. 원격 근무자가 안전하게 네트워크에 접근 할 수 있도록 하기 위해서 사용한다.

SSL

SSL(Secure Sockets Layer)는 인터넷 데이터 통신에 사용하는 보안 및 암호화 프로토콜이다. SSL은 TLS(Transport Layer Security)로 대체되었지만 여전히 SSL을 사용한다. 보통은 SSL 혹은 SSL/TLS로 부른다.

SSL은 암호화가 필요한 여러 애플리케이션에 사용하는데, 유명한 애플리케이션은 SSH와 HTTPS다. HTTPS의 경우 웹 서버와 웨 브라우저간에 보안 채널을 통해서 암호화된 통신을 할 수 있다. 이를 통해 해커에 의한 도청, 데이터 변조 및 위조를 방지할 수 있다.

SSL HandShake
SSL/TLS Handshake는 TLS 암호화를 사용하기 위해서 클라이언트와 서버간 통신 세션을 시작하는 일련의 과정이다. TLS Handshake를 하는 동안 서버와 클라이언트는 서로 메시지를 교환하면서 사용할 알고리즘을 설정하고, 세션키를 생성한다. TLS Handshake는 TCP Handshake 이후에 수행된다.

아래 그림은 SSL Handshake 과정을 묘사하고 있다.

  1. 먼저 TCP 3-Way Handshake 과정을 거친다.
  2. Client Hello: 클라이언트는 서버에 SSL/TLS 버전, 지원하는 cipher suites "ClientHello.random"이라고 부르는 랜덤값을 전송한다.
  3. Server Hello: 서버는 SSL/TLS 버전, 선택한 sipher suite, "ServerHello.random"이라고 부르는 랜덤 값, 암호화에 사용할 퍼블릭 키(public key), 디지털 서명 정보를 응답한다.
  4. Server Key Exchange: 경우에 따라 서버는 암호화 키를 설정하는데 사용할 Diffie-Hellman 공개키와 같은 추가 정보를 클라이언트에 전송한다.
  5. Certificate Request(인증서 요청): 서버가 클라이언트 인증을 요청하는 경우 클라이언트의 디지털 인증서를 요청한다.
  6. Server Hello Done: 서버가 Server Hello 프로세스가 완료되었음을 알리는 메시지를 전송한다.
  7. Client Key Exchange: 클라이언트는 shared secret key를 생성하는데 사용할 임의의 값을 생서앟고 서버의 공개키로 암호화 한다.
  8. Certificate Verification: 서버가 클라이언트의 인증서를 요청했다면 이를 서버로 전송한다. 인증서를 받은 서버는 인증서의 디지털 서명을 확인하고 신뢰할 수 있는 인증기관이 발급했는지를 확인한다.
  9. Change Cipher Spec: 클라이언트와 서버가 합으된 암호를 사용하여 암호화된 통신으로 전환할 것임을 나타내는 메시지를 보낸다.
  10. Finished : 클라이언트와 서버의 handshake 프로세스가 완료되고 암호화된 데이터를 교환할 준비가 되었음을 확인하는 메시지를 전송한다.

CDN

CDN(Content Delivery Network) 은 전 세계 사용자에게 "위치에 상관없이 빠르고 효율적으로 콘텐츠를 제공"하기 위하여 만들어진 분산 서버 및 분산 데이터 센터다.

CDN은 여러 지역에 분산되어 있는데, 여기에 컨텐츠를 캐시하고 있다가 사용자가 요청하면 제공한다. 사용자가 CDN에 컨텐츠를 요청하면 가장 가까운 서버로 자동으로 라우팅하기 때문에 거리와 상관없이 빠르게 컨텐츠에 접근 할 수 있다. 또한 캐시 형태로 작동하기 때문에 서비스 백앤드의 부하를 줄일 수 있다.

CDN의 주요 구성요소는 아래와 같다.

Origin Server: Origin Server는 원본 컨텐츠가 저장된 원본 서버다. 사용자는 먼저 CDN에 컨텐츠를 요청하는데, 만약 CDN에 컨텐츠가 캐시되어 있지 않다면 원번 서버에서 컨텐츠를 검색해서 반환한다.

Edge Server: 컨텐츠를 캐시하고 제공하는 전 세계의 다양한 지역에 위치한 서버다. 사용자가 컨텐츠를 요청하면 가장 가까운 Edge Server로 라우팅하여 대기 시간을 최소화한다.

Caching: CDN은 대기 시간을 줄이고, 백앤드 서버의 성능을 향상시키기 위해서 Edge Server에 컨텐츠를 임시로 저장하는 프로세스다. 사용자가 자주 접근하는 컨텐츠는 Origin Server가 아닌 Edge Server에 캐시된 버전을 제공한다.

Security: 많은 CDN들이 DDoS 보호, SSL 암호화, WAF(Web Application Firewall)과 같은 보안 기능을 제공하여 웹 사이트와 사용자를 보호한다.

AWS 계정에 프로그래밍 방식으로 액세스하려면 어떤 자격 증명 구성 요소가 필요한가? (2개 선택.)
액세스 키 ID, 비밀 액세스 키

다음 중 사용자의 AWS 리소스에 대한 무제한 액세스를 허용하는 보안 그룹을 식별하는 AWS 서비스는 무엇인가?
정답입니다. Trusted Advisor는 리소스에 대한 무제한 액세스를 허용하는 규칙에 대해 보안 그룹을 확인합니다. 무제한 액세스로 인해 해킹, 서비스 거부 공격 또는 데이터 손실과 같은 악의적인 활동의 기회가 증가합니다. 

AWS 텍스트를 소리내어 읽어주는건?
AWS polly

한 회사가 단일 Amazon S3 버킷에서 정적 웹 사이트를 호스팅하고 있다.
지연 시간을 줄이고 전송 속도를 높일 수 있는 AWS 서비스는 무엇인가?
AWS cloud front

한 회사는 회사의 온프레미스 서버와 AWS 간에 암호화된 연결을 필요로 한다. 연결은 회사의 기존 인터넷 연결을 사용해야 한다.
다음 중 이러한 요구 사항을 충족하는 솔루션은 무엇인가?
Site-to-Site VPN은 온프레미스 네트워크와 AWS 클라우드 네트워크 간에 암호화된 네트워크 경로를 생성합니다. 온프레미스 네트워크와 AWS 클라우드 네트워크 간의 이러한 연결은 인터넷을 사용합니다. 

한 회사에 Oracle 데이터베이스가 실행되는 온프레미스 Linux 기반 서버가 있다. 회사는 AWS의 Amazon EC2 인스턴스에서 실행되도록 데이터베이스 서버를 마이그레이션하고자 한다.
회사에서 마이그레이션을 완료하려면 어떤 서비스를 사용해야 하는가?
AWS MGN은 자동화된 리프트 앤 시프트 솔루션입니다. 이 솔루션은 물리적 서버와 해당 서버에서 실행되는 모든 데이터베이스 또는 애플리케이션을 AWS의 EC2 인스턴스로 마이그레이션할 수 있습니다.

AWS DMS를 사용하면 온프레미스 데이터베이스에서 AWS의 데이터베이스로 데이터를 마이그레이션할 수 있습니다. 하지만 AWS DMS는 실제 서버를 EC2 인스턴스로 마이그레이션하지는 않습니다.

Amazon S3에 저장된 민감한 데이터를 자동으로 검색, 분류 및 보호해야 하는 한 사용자가 있다.
이러한 요구 사항을 충족할 수 있는 AWS 서비스는 무엇인가?
Macie는 AWS에 배포된 애플리케이션의 보안 및 규정 준수를 개선하는 데 도움이 되는 자동 보안 평가 서비스입니다.
Secrets Manager는 애플리케이션, 서비스, IT 리소스에 액세스하는 데 필요한 보안을 지키도록 도와줍니다. Secrets Manager는 S3 데이터 분류 및 자동 검색을 수행하지 않습니다

AWS lambda는 실행시간, 실행횟수로 요금 부가

한 회사는 AWS 계정 루트 사용자와 관련된 AWS 관리 콘솔 로그인 이벤트를 모니터링하고 이에 대한 알림을 받아야 한다.
회사에서 이러한 요구 사항을 충족하기 위해 사용할 수 있는 AWS 서비스는 무엇인가?
CloudWatch는 실시간으로 AWS에서 실행되는 애플리케이션 및 AWS 리소스를 모니터링합니다. CloudWatch와 AWS CloudTrail을 사용하여 AWS 계정 루트 사용자와 관련된 콘솔 로그인 이벤트를 모니터링하고 이에 대한 알림을 받을 수 있습니다.

전화 통화를 통해 기술 지원을 제공하는 최소의 AWS Support 플랜은 무엇인가?Business Support 플랜 또는 Enterprise Support 플랜을 사용하여 기술 지원에 전화하거나 채팅할 수 있습니다. Business Support 플랜은 이 기능을 제공하는 최소 플랜입니다.

고객이 사용되지 않은 Amazon EC2 용량을 종종 할인된 가격으로 구매할 수 있게 해 주는 AWS 서비스는 무엇인가?
팟 인스턴스를 사용하면 사용되지 않은 EC2 용량에 액세스할 수 있습니다. 스팟 인스턴스는 할인될 수 있습니다. 단점으로는 갑자기 사용 못할 수 있다.

한 회사가 모든 개발 활동을 AWS로 이전하고 있다. 이 회사는 개발자의 소스 코드를 저장하고 관리할 수 있는 솔루션을 원한다.
CodeCommit은 소스 코드 버전 제어 서비스입니다. CodeCommit은 사용자가 개발자의 소스 코드를 AWS에 저장하고 관리할 수 있도록 도와줍니다.

Amazon S3의 특징적인 기능은 다음 중 무엇인가?
객체스토리지, 내구성

한 회사는 회사의 온프레미스 데이터 센터에서 AWS 클라우드로 일관된 비공개 연결을 구축하고자 한다.
다음 중 이러한 요구 사항을 충족하는 AWS 서비스는 무엇인가?
Client VPN을 사용하면 전체 데이터 센터가 아닌 개별 랩톱을 AWS에 연결할 수 있습니다.
Amazon Connect는 고객과 에이전트에게 음성 및 채팅 전반에서 원활한 경험을 제공합니다. Amazon Connect는 온프레미스 네트워크를 AWS에 연결하는 서비스가 아닙니다.
Direct Connect는 표준 이더넷 광케이블을 통해 내부 네트워크를 Direct Connect 위치에 연결합니다. 케이블의 한쪽 끝을 라우터에 연결합니다. 케이블의 다른 쪽 끝은 Direct Connect 라우터에 연결합니다. AWS Direct Connect는 귀 회사가 케이블의 유일한 사용자이므로 일관되고 비공개로 유지됩니다.
오답입니다. Site-to-Site VPN은 온프레미스 네트워크와 AWS 클라우드 네트워크 간에 암호화된 네트워크 경로를 생성합니다.

한 사용자가 여러 가용 영역에 Amazon RDS DB 인스턴스를 배포하고 있다.
오답입니다. 성능 효율성 원칙은 컴퓨팅 리소스를 시스템 요구 사항에 맞게 효율적으로 사용하고, 수요 변화 및 기술 진화에 발맞춰 그러한 효율성을 유지할 수 있는 역량을 포함합니다. 여러 가용 영역을 사용해도 성능 효율성이 향상되지는 않습니다.
정답입니다. 신뢰성 원칙은 워크로드의 기능이 필요한 때에 기능을 정확하고 일관되게 수행하는 역량을 포함합니다. 여러 가용 영역에 Amazon RDS를 배포하면 단일 장애 지점이 줄어들기 때문에 신뢰성 목표를 달성하는 데 도움이 됩니다.

한 회사 내의 각 부서에 독립적인 자체 AWS 계정과 자체 결제 방법이 있다. 회사에서는 부서별 거버넌스를 중앙 집중화하고 결제를 통합하려고 한다.
정답입니다. Organizations는 여러 계정을 포함하여 AWS 환경에 대한 중앙 집중식 거버넌스와 결제를 제공합니다.

profile
개발자로 입사했지만 정체성을 잃어가는중... 다시 준비 시작이다..

0개의 댓글