더보기

【한글자막】 AWS Certified Solutions Architect Professional | Udemy

2023.01.06 - [DevOps/aws] - Udemy | AWS Certified Solutions Architect Associate 강의 | Section1~2

2023.01.06 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 3: AWS 시작하기

2023.01.06 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 4: IAM 및 AWS CLI

2023.01.09 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 5: EC2 기초

2023.01.10 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 6: EC2 - 솔루션스 아키텍트 어소시에이트 레벨

2023.01.11 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 7: EC2 인스턴스 스토리지

2023.01.13 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 8: 고가용성 및 스케일링성: ELB 및 ASG

2023.01.13 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 9: AWS 기초 : RDS + Aurora + ElastiCache

2023.01.16 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 10: Route 53

2023.01.16 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 11: 클래식 솔루션 아키텍처 토론

2023.01.17 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 12: Amazon S3 소개

2023.01.17 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 13: AWS CLI, SDK, IAM 역할 및 정책

2023.01.17 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 14: 고급 Amazon S3

2023.01.17 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 15: 아마존 S3 보안


158.CloudFront 개요

AWS CloudFront 

Content Delivery Network (CDN) 이다 .

판독 능력을 향상 시킨다. Improve read performance, 

콘텐츠가 엣지 로케이션에 분배 및 캐시가 되기 때문이다. 

216 개의 엣지 로케이션이 존재한다.

DDos 보호, 보호막과 ,aws firewall 지원 

외부에 HTTPS 엔트포인트를 노출할 수 있고 내부 HTTPS에서 애플리케이션에 통신하게끔 한다. 

지연시간과 로드를 줄일 수 있다. 

CloudFront - Origins 

S3 버킷 외의 다른 클라우드 프론트 오리진

 

S3 bucket

오리진 액세스 신분 (OAII)로 클라우드 프론트와 S3 버킷 사이의 보안을 강화해준다. 

클라우드 프론트를 세계 어디서든 파일을 S3 에 업로드할 입구처럼 사용할 수도 있다. 

Custom Origin (HTTP)

ALB, EC2 , S3 ( 정적 웹호스팅) 

모든 HTTP 백엔드가 가능하다. 

 

CloudFront at a high level 

클라이언트에서 엣지로 통신을 보낸다.

헤더의 정보에 따라 오리진에 접속해서 데이터를 받는다. 

이때 엣지 로케이션의 캐시에 저장한다. 

다음에도 똑같은 내용을 요청한다면 오리진 까지 안가고 엣지 로케이션에서 응답을 받는다. 

 

CloudFront - S3 as an Origin

버킷, 엣지, 클라이언트가 있다.

클라우드 프론트의 엣지 로케이션이 S3 버킷에 액세스하려면 클라우드 프론트 오리진에 대한 IAM 역할인 OAI

오리진 액세스 신분을 사용해야한다. 

CloudFront - ALB or EC2 as an origin 

EC2 인 경우 

인스턴스들은 HTTP를 통해 공용 액세스가 가능하게끔 공용이어야 한다.

보안 그룹을 통과하게 된다. 

보안 그룹이 엣지 로케이션의 모든 공용 IP 에 클라우드 프론트가 EC2 인스턴스로부터 컨텐츠를 가져갈 수 있게끔 허용해야한다. 

ALB 인 경우

클라우드 프론트가 접속하는 ALB 는 공용이어야 하지만 백엔드EC2 는 사설이어도 된다. 

EC2는 ALB 허용하는 보안 그룹

ALB는 엣지 로케이션의 공용 IP 를 허용

 

CloudFront Geo Restriction 

분산으로 액세스를 제한한다. 

화이트리스트를 통해 허용된 국가의 사용자들만 CF에 액세스할 수 있도록 한다. 

블랙리스트를 만들어  그반대도 가능하다 .

 

제3자 회사의 지리적 IP 데이터베이스를 이용해 국가들의 허용 여부가 결정된다. 

 

특정 법이 제한 할 때 사용하면 좋다. 

 

CloudFront vs S3 Cross Region Replication 

CloudFront

글로벌 엣지 네트워크

파일에 TTL 설정 가능 

정적인 컨텐츠에 적합함

S3 Cross Region Replication

리전 간 복제는 복제가 일어날 리전을 설정해야한다. 

파일이 거의 실시간으로 업데이트 되고 읽기 전용이기 때문에 읽기 성능이 좋다. 

지연 시간이 적은 컨테츠에 유리 

 

클라우드프론트는 전세계를 대상으로

S3 리전 간 복제는 선택된 리전에 복제하는 용도 


159. CloudFront with S3 -실습 


160. CloudFont - Price Classess 

CloudFront - Pricing

요금price과 가격 등급price class 

클라우드프론트 엣지로케이션은 전세계에 퍼져있기 때문에 

엣지 로케이션마다 데이터 전송 비용이 다르다. 

 

 

더 많은 데이터가 전송될수록 비용이 낮아진다. 

 

CloudFront - Price Classes

비용절감을 위해 

분산하는 엣지로케이션 수를 줄이는 방법이 있다 

Price Class All : 모든 리전

Price Class 200: 대부분의 리전 (비싼 리전은 제외)

Price Class 100: 저렴한 리전

 


161. CloudFront - Cache Invalidation

CloudFront - Cache Invalidations

CloudFront의 캐시 무효화

CloudFront의 백엔드를 업데이트 했다고 가정하자. 

엣지 로케이션은 TTL 만료된 이후에 업데이트된 데이터를 받을 것이다. 

만약 백엔드에서 변화가 자주 일어나고 엣지 로케이션에서 항상 최신 데이터를 받고 싶다면? 

캐시에 있는 TTL 을 모두 제거할 수도 있다. 

 

CloudFront 무효화를 하면 된다. 

별표 * 로 시작하는 파일이나 /images/* 와 같은 특정 경롤를 무효화 할 수 있다. 

 

CloudFront에 index.html 또는 /images/* 와 같이 파일, 경로를 주면 

캐시에서 이 두 파일을 무효화 하도록 엣지 로케이션에 지시할 거고 

엣지 로케이션은 캐시로부터 파일을 지울 것이다 .

 


162. AWS Global Accelerator - 개요

Global users for our application 

 

이건 gloabl accelerator 이다.

만약 한 리전에 ALB 를 운영한다고 치자.

글로벌 서비스라서 다른 리전에서도 많이 접근한다.

미국, 유럽 ,호주 등에서 나의 리전 까지 올려면 여러 홉 hop 을 거쳐야한다.

이런 홉 하나하나가 지연 시간이 위험 요소가 된다. 

최대한 빨리 aws 네트워크와 통신하기 위해 global Accelerator를  사용하는 것이 좋다 .

Unicast IP vs Anycast IP

유니캐스트 IP 는 하나의 서버가 하나의 IP 주소를 가지는 것

one server holds one IP address 

 

애니캐스트IP 는 모든 서버가 동일한 IP 주소를 가지고 클라이언트는 가장 가까운 서버로 라우팅 된다. 

All servers hold the same IP address and the client is routed to the nearest one

 

AWS Global Accelerator

ALB에서 가장 가까운 엣지 로케이션과 통신한다. 

엣지 로케이션 -> 사설 AWS -> ALB 로 곧장 연결된다. 

요점은 애니캐스트 IP를 사용한다는 점이다. 

애플리케이션을 위해 두 개의 애니캐스트 IP 가 생성된다. 

애니캐스트 IP 는 사용자와 가장 가까운 엣지 로케이션으로 트래픽을 직접 전송한다.

 

전 세계의 유저들에게 두 개의 고정 IP 주소를 제공할 수 있도록 해준다는 점이 매우 독특하다. 

 

무엇과 함께 작동할까 ?

EIP, EC2 , ALB, NLB, public or Private 

 

안정적인 성능

지능형 라우팅으로 지연 시간이 가장 짧은 로케이션으로 연결 

신속한 장애 조치

아무것도 캐시하지 않기 때문에 클라이언트 문제 없음.

엣지로케이션에서 내부 AWS 네트워크로 들어옴.(경유)

상태 확인

global accelerator 가 애플리케이션에 대해 상태 확인을 실행한다. 

글로벌한 지 확인 

한 리전에 있는 alb 에 대해 상태 확인을실패하면

자동화된 장애 조치가 1분 안에 정상 엔드 포인트로 실행된다. 

재해 복구에 특히 뛰어남 

 

보안

단 두개의 외부 IP 만 존재하기 때문에 보안 측면에서 뛰어남

DDos 보호도 자동으로 함 aws Shiled 

 

AWS Global Accelerator vs CloudFront

둘 다 동일한 글로벌 네트워크를 사용하고 둘 다 AWS 가 생성한 전 세계의 엣지 로케이션을 사용한다. 

DDos 보호를 위해 aws shield 와 통합된다.

 

CloudFront

캐쉬블 콘텐츠에 대한 성능 향상( 이미지나 비디오처럼 캐시 가능한)

동적 콘텐츠 ( API 가속 및 동적 사이트 전달)

사용자들은 최종적으로 엣지로부터 내용을 받는다. 

Global Accelerator 

TCP, UDP 상의 다양한 애플리케이션 성능을 향상 시킨다. 

모든 요청이 애플리케이션으로 간다. 

캐싱 불가 

게임, IoT, Voice over IP 와 같이 non http 에 적합.

고정 IP를 요구하는 HTTP를 사용할 때도 유용

결정적이고 신속한 리전 장애 조치가 필요할 때도 좋다 .

Proxying packets at the edge to applications running in one or more AWS Regions.

 

 


163. AWS Global Accelerator - 실습 

비용이 좀 든다.


Quiz 12: CloudFront & AWS Global Accelerator 퀴즈 

1. S3 버킷에 유료 콘텐츠가 저장되어 있습니다. 이 콘텐츠를 전역적으로 분배하기 위해 CloudFront 배포를 설정하고 S3 버킷이 CloudFront 배포에서만 데이터를 교환하도록 구성했습니다. 다음 CloudFront 기능 중 유료 콘텐츠를 안전하게 분배하기 위해서는 무엇을 사용해야 할까요?

CloudFront 서명된 URL은 일반적으로 동적으로 생성된 서명된 URL을 통해 유료 콘텐츠를 배포하는 데 사용됩니다.

 

2. Application Load Balancer가 관리하는 EC2 인스턴스 플릿에 호스팅된 웹사이트를 제공하는 CloudFront 배포가 있습니다. 모든 클라이언트가 미국에 있는데도 불구하고, 타 국가로부터 일부 악성 요청이 들어오고 있다는 점을 발견했습니다. 오직 미국으로부터의 사용자들만을 허가하고, 다른 국가는 차단하려면 어떻게 해야 할까요?

 

3. S3 버킷 상에 호스팅된 정적 웹사이트가 있습니다. 요청을 더 잘 처리하고 성능을 향상시키기 위해 S3 버킷을 가리키는 CloudFront 배포를 생성했습니다. 얼마 후, 여러분은 아직도 사용자들이 S3 버킷에서 웹사이트로 직접 액세스할 수 있다는 것을 알게 되었습니다. 여러분은 사용자들이 CloudFront만을 통해서 웹사이트로 액세스하게끔 하려 합니다. 이를 위해서는 어떻게 해야 할까요?

4. Application Load Balancer가 관리하는 한 세트의 EC2 인스턴스에 웹사이트가 호스팅되어 있습니다. 여러분은 CloudFront 배포를 생성해 그 오리진이 ALB를 가리키도록 설정했습니다. CloudFront 배포를 통해 제공되는 수백 개의 사설 파일에 대한 액세스를 제공하려면 무엇을 사용해야 할까요?

서명된 쿠키는 다수의 파일에 액세스하는 데에 유용합니다.

서명된 URL은 개별 파일에 액세스하는 데에 유용합니다.

 

5. HTTP REST API를 노출시킬 애플리케이션을 생성하고 있습니다. 요청 라우팅 규칙을 HTTL 레벨에서 제공해야 할 필요가 있습니다. 보안 요구 사항 때문에, 애플리케이션은 두 개의 정적 IP 주소를 통해서만 노출될 수 있습니다. 이러한 요구 사항을 충족시키기 위한 솔루션을 생성하려면 어떻게 해야 할까요?

AWS Global Accelerator는 두 개의 정적 IP 주소를 제공하며, ALB는 HTTP 라우팅 규칙을 제공합니다.

6. 이 S3 버킷 정책이 하는 역할은 무엇인가요?

{

    "Version": "2012-10-17",

    "Id": "Mystery policy",

    "Statement": [{

         "Sid": "What could it be?",

         "Effect": "Allow",

         "Principal": {

             "CanonicalUser": "CloudFront Origin Identity Canonical User ID"

         },

         "Action": "s3:GetObject",

         "Resource": "arn:aws:s3:::examplebucket/*"

    }]

}

+ Recent posts