2024.07.05 AWS 교육 5일차 (DSC 공유대학) Architecting on AWS(3)

이나형·2024년 7월 5일
0

☀️외부활동

목록 보기
5/6

🛜AWS 이론교육1

컨테이너

  • 안티 패턴(느슨한 연결): 강력하게 통합된 서버 체인을 중심으로 움직이며 이러한 겨우, 요소나 계층 중 하나에 중단이 발생하면 시스템에 치명적인 영향을 준다.

  • 모범 사례 : 관리형 솔루션을 시스템 계층 간의 중간자로 사용하는 경우, 중계자가 구성 요소나 계층의 장애 및 크기 조정을 자동으로 처리한다.

  • 마이크로 서비스 : SW개발에 대한 구조적이고 조직적인 접근 방식이다. 이 방식을 사용하면 SW를 소규모 서비스 모음으로 설계할 수 있다.


  • 자율적: 마이크로서비스 아키텍처의 구성 요소 서비스는 분리되어 있고, API를 통해 통신하므로 다른 서비스에 영향을 주지 않고 개발, 업데이트, 배포, 운영할 수 있다.
  • 전문적: 특정 문제를 중심적으로 해결하도록 서비스를 설계하여 팀은 해당 서비스에 가장 적합한 프로그래밍 언어로 각 서비스를 작성할 수 있으며, 각기 다른 컴퓨팅 리소스에서 서비스를 호스팅할 수 있다.

  • 컨테이너: 애플리케이션의 코드, 구성 및 종속성을 하나의 객체로 패키징하는 표준화된 방식을 제공한다. 확장성과 이식성이 뛰어나며 지속적인 배포가 가능하여 마이크로서비스 아키텍처에 이상적이다. 또한 각 마이크로서비스는 별도의 구성 요소이므로 장애를 더 잘 견딜 수 있다.

  • AWS에 관리형 컨테이너 솔루션을 배포하려면 레지스트리, 오케스트레이션 도구, 컨테이너 호스팅을 선택하고 구성해야 한다.



네트워킹

  • VPC 엔드포인트 : VPC와 지원되는 AWS 서비스 간의 신뢰할 수 있는 경로를 제공. 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결이 필요하지 않는다 .

  • 인터페이스 엔드포인트 : 이를 사용하면 VPC 내에 포함되어 있는 것처럼 VPC가 서비스에 프라이빗 방식.

  • VPC 피어링 : 두 VPC 간 일대일 관계이다. 연결의 수에는 제한이 없다. 여러 VPC를 연결하여 다중 VPC를 연결하는 공유 서비스 VPC를 제공한다.(다른 AWS 리전에서 실행되는 VPC 리소스가 프라이빗 IP주소를 사용해 서로 소통할 수 있다.)

  • 하이브리드 네트워킹

  • AWS Site-to-site VPN 연결에서는 VPN 터널 2개가 제공된다.


  • AWS Direct connect는 표준 이더넷 광 케이블을 통해 내부 네트워크를 Direct connect 로케이션에 연결한다. 케이블의 한쪽 끝은 사용자의 라우터에 연결되고 다른 쪽 끝은 Direct connect 라우터에 연결된다. -> 이러한 방식을 교차 연결이라 한다.


  • AWS Transit Gateway : 연결된 모든 네트워크 간에 트래픽이 라우팅되는 방식을 제어하는 허브 역할을 한다. 각 네트워크에서 기타 모든 네트워크에 연결x Transit Gaeway만 연결하면 되므로 관리를 단순화, 운영 비용을 줄여준다.



서버리스


이 예시는 메세징 애플리케이션의 예이다. API 호출 수락 및 처리와 관련한 모든 일을 처리한다. API Gateway는 Amazon SQS의 메세징 대기열에 메세지를 제공하고, 이 대기열에서는 작업자 서비스가 메세지를 처리한다. Fargate DynamoDB를 거쳐 작업자가 성공 응답을 수신하면 Amazon SNS에 알림을 보낸다.

  • API Gateway: 이를 사용하여 API 생성, 유지 관리, 모니터링 및 보호할 수 있으며 애플리케이션을 AWS 서비스와 기타 퍼블릭 또는 프라이빗 웹 사이트에 연결할 수 있다.

  • Amazon SQS : 방대한 규모로 작동하므로 하루에 수십억 건의 메세지를 처리할 수 있다. 여러 이중화 가용 영역을 사용하여 가용성이 높은 단일 AWS 리전에 모든 메세지 대기열과 메세지를 저장한다.

  • Amazon SNS : 클라우드에서 손쉽게 알림을 설정, 운영 및 전송할 수 있는 웹 서비스. 게시-구독(pub-sub) 메세징 패러다임을 따르며 푸시 메커니즘을 사용하여 클라이언트에 알림을 전달한다.


  • Amazon Kinesis : 실시간으로 데이터 스트림을 수집, 처리, 분석할 수 있다. 어떤 규모에서든 스트리밍 데이터를 처리할 수 있는 용량을 제공한다.



🛜실습1 서버리스 아키텍처 구축

목표

  • 이 과정을 마치면 다음을 수행할 수 있게 됩니다.
  • 리소스 분리의 가치 이해
  • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 Lambda 함수로 교체하면 제공될 수 있는 이점 파악
  • Amazon SNS 주제 생성
  • Amazon SQS 대기열 생성
  • Amazon S3에서 이벤트 알림 생성
  • 기존 코드를 사용하여 AWS Lambda 함수 생성
  • SQS 대기열에서 AWS Lambda 함수 호출
  • Amazon CloudWatch Logs를 통해 AWS Lambda S3 함수 모니터링

과제 1: 표준 Amazon SNS 주제 생성

Amazon SNS 주제 생성

arn : arn:aws:sns:us-east-1:181035489964:resize-image-topic-0125
topic owner: 181035489964


과제 2: Amazon SQS 대기열 2개 생성

SQS를 생성하고, 과제1에서 만든 SNS를 구독하도록 함.

모바일 SQS를 생성.

대기열에 알림 메세지가 전송되는지 확인.

과제 3: Amazon S3 이벤트 알림 생성

Amazon S3 버킷이 주제에 게시를 할 수 있도록 Amazon SNS 엑세스 정책 구성

Amazon S3 이벤트 알림 생성

과제 4: AWS Lambda 함수 2개 생성 및 구성

썸네일 이미지를 생성하는 Lambda 함수 생성



SQS 트리거를 추가하고 PYTHON 배포 패키지를 업로드하도록 CREATETHUMBNAIL LAMBDA 함수 구성

모바일 큐 대기열을 해당 기능의 트리거로 설정하도록 Lambda 함수 구성



과제 5: Amazon S3 버킷에 객체 업로드

객체 3개 업로드



과제 6: 처리된 파일 확인

S3 버킷에서 처리된 파일 확인



🛜AWS 이론교육2

엣지 서비스

  • AWS 엣지 컴퓨팅 서비스 : 필요에 따라 엔드포인트에 가깝게 데이터 처리및 분석 기능을 이동하는 인프라와 SW를 제공.(AWS 데이터 센터 외부의 우치, 고객 소유 디바이스에 AWS 관리형 하드웨어 및 SW를 배포하는 것도 포함)

  • AWS 엣지 서비스

    • AWS 엣지 로케이션 : AWS 네트워크 백본을 통해 AWS 리전에 연결
      (CloudFront, WAF, Shield가 여기서 사용되는 서비스)

    • AWS 로컬 영역 : 인구가 많은 산업 중심지와 가까운 곳에 배치됨.

    • AWS Outposts : 온프레미스나 자체 데이터 센터에서 일부 AWS 서비스를 실행할 수 있다.

    • AWS Snow 패밀리 : 엣지에서 오프라인 스토어를 제공. 이러한 스토리지를 사용하여 AWS 리전에서 데이터를 다시 전송함.


  • Amazon Route 53 : 도메인 이름 등록 및 상태 확인 기능을 제공. 최종 사용자를 인터넷 애플리케이션에 라우팅할 수 있도록 설계되었다.
    Amazon CloudWatch 경보를 구서아여 엔드포인트 상태를 확인할 수 있다. DNS 상태 확인 지표와 결합하여 정상 엔드포인트를 모니터링하고 해당 엔드포인트로 트래픽을 라우팅.

  • 호스팅 영역 : 레코드의 컨테이너. (트래픽을 라우팅하는 방식에 대한 정보가 포함)
    • 퍼블릭 호스팅 영역: 인터넷에서 트래픽을 라우팅하고자 하는 방법을 지정하는 레코드를 포함
    • 프라이빗 호스팅 영역: VPC에서 트래픽을 라우팅하고자 하는 방법을 지정하는 레코드를 포함. (VPC 내부에서의 이르 해석, 계정 간의 여러 VPC와 연결할 수 있음)

  • 라우팅 정책

    • 단순 라우팅 정책 : 도메인과 관련하여 특정 기능을 수행하는 리소스 하나에 사용.

    • 장애 조치 라우팅 정책 : 액티브-패시브 장애 조치를 구성하려는 경우에 사용.

    • 지리적 위치 라우팅 정책 : 사용자의 위치를 기준으로 트래픽을 라우팅하려는 경우.

    • 지리 근접 라우팅 정책 : 리소스 위치를 기반으로 트래픽을 라우팅하고 선택적으로 한 위치의 리소스에서 다른 리소스로 트래픽을 이동하려는 경우에 사용.

    • 지연 시간 라우팅 정책 : 여러 AWS 리전에 리소스가 있고 더 짧은 왕복 시간으로 가자 짧은 지연 시간을 제공하는 리저으로 트래픽을 라우팅하려는 경우 사용.

    • 다중 응답 라우팅 정책 : Route53가 무작위로 선택된 최대 8개의 정상 레코드로 DNS 쿼리에 응답하려는 경우에 사용.

    • 가중치 기반 라우팅 정책 : 트래픽을 지정한 비율로 여러 리소스 라우팅하는 데 사용.


  • Amazon CloudFront: 웹 사이트, API, 동영상 콘텐츠 또는 기타 웹 자산의 전송을 가속화하는 글로벌 CDN 서비스.

  • CloudFront 캐싱 단계 :

    • 요청이 최적의 엣지 로케이션으로 라우팅됨.
    • 캐시되지 않은 콘텐츠가 오리진으로부터 검색.
    • 오리진 콘텐츠가 캐싱을 위해 CloudFront 엣지 로케이션으로 전송.
    • 데이터가 사용자에게 전달.

  • DDos 보호

    • AWS Shield: AWS에서 실행되는 애플리케이션을 보호하는 관리형 DDos 보호 서비스. 애플리케이션 가동 중지 및 지연 시간을 최소화하는 동적 탐지 및 자동 인라인 완화 기능을 제공.
    • AWS WAF : 일반적인 웹 악용과 봇으로부터 웹 애플리케이션이나 API를 보호하는 데 도움이 되는 웹 애플리케이션 방화벽. 트래픽이 애플리케이션에 수신되는 방식을 제어할 수 있다.
    • AWS Firewall Manager : AWS WAF 및 Amazon VPC 보안 그룹의 관리 및 유지 관리 태스크를 단순화함. 여러 애플리케이션과 계정에서 간편하게 규칙 관리가 가능하며, 자동으로 새 계정 검색 및 규정 미준수 이벤트 수정, AWS Marketplace에서 AWS WAF 규칙 배포, 모든 계정에서 신속하게 공격에 대응 가능하다.

백업 및 복구

  • 복구 시점 목표(RP0) : 시간 단위로 측정한 허용 가능한 데이터 손실량.

  • 복구 시간 목표(RTO) : 운영 수준 계약(OLA)에서 정의한 바와 같이 중단 후 비지니스 프로세스를 서비스 수준으로 복원하기까지 걸리는 시간.

  • 백업 전략

    • Amazon Simple Storage Service(S3) 는 미션 크리티컬 및 기본 데이터 스토리지에 적합하게 설계되고 내구성이 우수한 스토리지를 제공.
    • Amazon S3 Glacier : 데이터 아카이빙 및 백업용 저가형 스토리지를 제공.
    • Amazon EBS : 데이터 볼륨의 특정 시점 스냅샷을 생성하는 기능을 제공. 스냅샷 상태가 Completed인 경우 한 AWS 리전에서 다른 리전으로 or 동일한 리전 내에서 스냅샷 복사 o
    • AWS Snow 패밀리 : 스토리지 디바이스를 사용하여 고객과 AWS 간에 테라바트에서 페타바이트 규모의 데이터를 이동할 수 있는 데이터 솔루션 패밀리.
    • AWS DataSync : 온프레미스 또는 클라우드 내 파일 시스템의 파일을 Amazon EFS와 동기화 가능.
    • 복구용 AMI 구성 : 별도의 가용 영역에서 인스턴스를 시작함으로써 단일 위치에서 장애가 발생할 경우 애플리케이션을 보호할 수 ㅇ. 나만의 AMI를 구성할 수도 있으며 이를 통해 복구 절차의 일환으로 이러한 AMI를 실행할 것을 권장.



  • 자동 백업 전략

    • AWS Backup: 완전관리형 백어 서비스, AWS 서비스 전체에 걸쳐 데이터 백업을 중앙 집중화 하고 자동화 ㅇ



  • 복구 전략
    • 파일럿 라이트: 환경 간에 데이터를 복제하고 핵시 워크로드 인프라의 복사본을 프로비저닝함.
    • 웜 스탠바이 : 정상 작동하는 축소된 프로덕션 환경 사본을 복구환경에 생성.



🛜실습2 Amazon S3 오리진으로 Amazon CloudFront 배포 구성

목표

  • 기본 보안 설정으로 S3 버킷 생성
  • 퍼블릭 액세스가 가능하도록 S3 버킷 구성
  • 기존 CloudFront 배포에 S3 버킷을 새 오리진으로 추가
  • CloudFront 배포를 통한 액세스만 허용하도록 S3 버킷 보호
  • S3 버킷의 보안을 제어하도록 OAC 구성
  • 퍼블릭 또는 OAC 액세스가 가능하도록 Amazon S3 리소스 구성

과제 1: 기존 CloudFront 배포 살펴보기



과제 2: S3 버킷 생성

profile
정도를 걷는 개발자

0개의 댓글