본문 바로가기
AWS/AWS Cloud School

[AWS] Advanced Architecting on AWS - 4

by parkkingcar 2023. 11. 29.

 

홍혜선님이 진행하는 Advanced Architecting on AWS 과정을 기반으로 작성한 글 입니다. AWS서비스를 파악하고 복원력, 보안성, 가용성이 우수한 IT솔루션을 설계하기 위한 모범사례와 함께 설계능력을 습득합니다.

 

 

11. 워크로드 마이그레이션

마이그레이션은 애플리케이션 및 디지털 현대화, 인프라 프로비져닝 등 서비스를 런칭하는데 있어서 성능 및 생산성을 높이고 비즈니스 퀄리티를 높일 수 있습니다. 여기에 클라우드 서비스가 자동화, 고가용성 구축에 있어서 매우 큰 복원성 및 편의성, 비용효율성 등을 가지게 됩니다.

 

 

 

AWS Application Discovery Service

AWS Application Discovery Service는 온프레미스 서버에 대한 사용량 및 구성 데이터수집을 통해 AWS 클라우드로의 마이그레이션 계획에 도움을 줍니다. 

 

 

AWS Control Tower는 클라우드로 이전하는 수천개의 기업과 작업했던 경험을 통해 확립된 모범사례를 기반으로 새롭고 안전한 다중계정 AWS 환경을 설정하고 관리하는 방법을 제공합니다. AWS Control Tower를 사용하면 빌더가 몇  번의 클릭으로 새 AWS 계정을 프로비저닝 할 수 있으며, 계정이 회사 전체 정책을 준수한다는 것을 인지하여 안심할 수 있습니다.

 

 

 

AWS Application Migration Service는 고도로 자동화된 리프트 앤 시프트 솔루션을 제공하여 클라우드 마이그레이션을 간소화하고 실시간에 가게 처리하며 비용을 절감합니다.

 

 

 

VMware Cloud on AWS는 가상 프라이빗 네트워크(VPN) 또는 AWS Direct Connect 링크와 같은 기존 하이브리드 링크를 사용합니다.

 

 

DataSync는 여러 공유파일시스템에 연결해 여러 태스크를 실행할 수 있는 단일 소프트웨어 에이전트로 배포됩니다. 이 소프트웨어 에이전트는 일반적으로 가상 인스턴스를 통해 온프레미스에 배포되어 WAN(Wide Area Network)을 통한 AWS로의 데이터 전송을 처리합니다. 그리고 AWS 측에서는 에이전트가 DataSync 서비스 인프라에 연결됩니다. DataSync는 서비스이므로 고객이 클라우드에서 인프라를 설정하거나 유지 관리할 필요가 없습니다.

 

 

 

AWS DMS는 데이터베이스를 AWS로 빠르고 안전하게 마이그레이션 할 수 있도록 지원합니다. 마이그레이션 하는 동안 소스 데이터베이스가 변함없이 운영되어 데이터베이스를 사용하는 애플리케이션의 가동 중단 시간을 최소화할 수 있습니다.

 

 

EC2 인스턴스에서 실행되는 데이터베이스에서 마이그레이션 하는데 AWS DMS를 사용할 수 도 있습니다. 

 

 

이 패턴을 통해 Oracle GoldenGate를 사용하여 온프레미스 또는 Amazon EC2 인스턴스에서 실행되는 Oracle 데이터베이스를 Amazon RDS for PostgreSQL로  마이그레이션 할 수 있습니다.

 

 

 AWS DMS는 AWS Snowball Edge 및 Amazon S3를 사용하여 다른 방법보다 더 빠르게 대규모 데이터베이스를 마이그레이션할 수 있습니다. Snowball Edge는 네트워크보다 빠른 속도로 데이터를 클라우드로 전송하는데 사용할 수 있는 엣지디바이스를 제공하는 AWS 서비스입니다.

 

 

AWS Schema Conversion Tool(AWS SCT)을 사용하여 기존 데이터베이스 스키마를 한 데이터베이스 엔진에서 다른 데이터베이스 엔진으로 변환할 수 있습니다. 스키마 충돌 문제등을 자동으로 컨버팅하도록 솔루션을 제공합니다.

 

 

 

12. 비용 최적화

클라우드 환경에서 시간이 지남에 따라 비용이 높아지기때문에 최적화는 필수입니다.

 

 

비용 관리 도구

 

 

AWS Cost Explorer

AWS Cost Explorer에서는 시간 경과에 따른 AWS 비용 및 사용량을 시각화하고 파악하고 관리하는데 사용할 수 있는 인터페이스를 갖추고 있습니다. 이곳에서 맞춤형 비용지출 최적화 추천, 과도하게 프로비저닝된 유휴 인스턴스 등 최적화 권장, 비용 및 사용 보고서를 제공합니다.  AWS Budgets에는 비용에 대한 기대치 설정도 가능합니다. 

 

 

비용 관리 태깅

태그는 사용자 또는 AWS가 AWS 리소스에 할당하는 레이블을 말합니다. 각 태그는 키와 값으로 구성됩니다. 태그는 리소스 구성에 사용되기 때문에 비용할당 태그를 사용해 AWS 비용을 세부적으로 추적할 수 있습니다.

 

태그는 운영, 자동화, 보안, 비용 청구에도 사용됩니다. 비용 할당을 목적으로 활성화된 태그키만 AWS 결제도구(Cost Explorer 등)에 선택이 가능하도록 표시되거나, 결제 아티팩트(AWS Cost and Usage Report 등)에 표시됩니다.

 

태그정책은 AWS Organizations에서 계정 내 AWS 리소스에 대해 태그를 어떻게 사용할 수 있는지 규칙을 정의하고 있습니다. 태그정책은 AWS 계정에 대한 중앙 거버넌스 및 관리 서비스인 AWS Organizations에 통합됩니다.

 

 

비용 최적화

비용 최적화에는 아래와 같이 5가지 원칙이 존재합니다.

 

 

1. 정확한 크기 조절

적절한 크기 조정을 위해서는 먼저 리소스 성능 요건을 정확하게 파악한 후 비용 측면에서 가장 효과적인 크기로 조정할 수 있어야 합니다. 여기에는 다음이 포함됩니다.

• 가장 저렴하면서 비즈니스 및 성능 요건을 충족할 수 있는 인스턴스 선택

• CPU, RAM, 스토리지 및 네트워크 사용량을 확인하여 크기를 줄일 수 있는 인스턴스를 구분

• 사용률이 낮거나 아예 사용하지 않는 리소스를 제거

• 적합한 시간으로 리소스 시작과 종료 예약

 

 

AWS Compute Optimize

AWS Compute Optimizer는 인스턴스 유형과 Auto Scaling Group 권장사항을 제공하기 때문에 고객이 특정 워크로드에 적합한 컴퓨팅 리소스를 선택하는데 도움이 됩니다. AWS Compute Optimizer는 워크로드의 구성과 리소스 사용량을 분석하여 여러가지 구별되는 특성을 찾아냅니다. 그런 다음 워크로드가 다양한 하드웨어 플랫폼에서 어떻게 실행되는지 분석하여 리소스 권장사항을 제공합니다.

 

 

2. 탄력성 증대

사용률이 낮은 EC2 인스턴스를 식별하여 적절한 크기조정 프로세스를 중단하고 비용을 절감합니다. AWS Auto Scaling은 애플리케이션을 모니터링하고 용량을 자동으로 조정하여, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지합니다.

 

 

3. 올바른 요금 모델 사용

요금에 따라 제공되는 모델을 적절히 사용하여 요금제를 관리할 수 있습니다.

 

 

Savings Plans

Savings Plans는 Amazon EC2, AWS Fargate, AWS Lambda 사용량을 기준으로 최대 72%까지 비용을 절감할 수 있는 유연한 요금모델입니다. Savings Plans는 1년 또는 3년 동안 일관된 사용량(시간당USD 측정) 약정에 따라 Amazon EC2 사용량, Fargate, 및Lambda 요금을 절감하는 효과가 있습니다.

 

 

4. 스토리지 최적화

스토리지 서비스와 스토리지 클래스는 비용 및 운영에 가장 크게 영향을 미치는 설계 결정요인입니다. 

 

 

5. 모니터링 및 개선

‘측정, 모니터링 및 개선’에는 나머지 원칙 4가지를 제어하고 관리하는데 효과적인 메커니즘이 포함되어 있습니다.

 

 

EC2 인스턴스를 제거하고 AWS Lambda를 추가하면 비용을 더욱 낮출 수 있습니다.

 

 

 

 

 

13. 엣지를 위한 아키텍팅

 

AWS는 다수의 리전에서 75개가 넘는가용영역을 운영하는 글로벌 인프라를 바탕으로 전세계 개발자들이 낮은 지연시간으로 최종 사용자들에게 서비스를 제공할 수 있도록 지원하고 있습니다. 애플리케이션이 수 많은 데이터를 수집하는사용사례에서는 최대한 소스와 가까운 위치에서 데이터를 처리할 경우 네트워크 대역폭까지 아낄 수 있습니다.

 

 

Amazon CloudFront

Amazon CloudFront는 고정 및 동적 웹 콘텐츠(예: .html, .css, .js 및이미지파일)를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스입니다. Amazon CloudFront는 엣지 로케이션이라고 하는 전 세계 데이터센터 네트워크를 통해 콘텐츠를 전송합니다. CloudFront를 통해 서비스하는 콘텐츠를 최종 사용자가 요청하면 지연시간(시간지연)이 가장 짧은 엣지로케이션으로 사용자가 라우팅되므로 가능한 최고의 성능으로 콘텐츠가 제공됩니다.

 

 

하나 이상의 Amazon S3 버킷을 만들거나 HTTP 서버를 오리진서버로 구성합니다. 

 

 

CloudFront를 사용하여 콘텐츠를 배포하려는 경우 배포를 생성하고 원하는 구성 설정을 선택합니다. 사용자지정 SSL 인증서를 사용하면 자체 도메인 이름(http://www.example.com 등)을 사용해 콘텐츠를 안전하게 전송할 수 있습니다. 인증서를 AWS Certificate Manager 서비스로 발급받거나 가져오면 바로 CloudFront 콘솔을 통해 사용할 수 있으며, 배포연결시 전세계  CloudFront 엣지 로케이션으로 자동으로 전파됩니다.

 

 

배포 작동방식 선택에 대한 다양한 설계 선택사항이 있습니다. 이러한 구성을 캐시 동작설정 이라고 합니다. 경로 패턴 일치, 서명된URL, SSL 인증서, 프로토콜 적용, 유지 시간(TTL), 지리적 제한, 리전 엣지 캐시의 동작을 합니다.

 

 

개인 콘텐츠에 대한 액세스를 제어해야 할 수 있으며, 이는 여러가지 방법으로 가능합니다. 

 

 

 

Lambda@Edge

Lambda@Edge는 AWS Lambda의 확장판으로써 CloudFront가 전송하는 콘텐츠를 사용자 지정하여 함수를 실행할 때 사용할 수 있는 컴퓨팅 서비스입니다. CloudFront 배포를 Lambda@Edge 함수와 연결하면 CloudFront가 CloudFront 엣지 로케이션에서 요청과 응답을 인터셉트합니다.

 

 

 

CloudFront Functions

Amazon CloudFront의 CloudFront Functions를 사용하면 지연시간에 민감한 대규모CDN 사용자 지정을 위해 JavaScript로 경량함수를 작성할 수 있습니다.

 

 

Lambda@Edge 및 CloudFront Functions는 워크로드에 적합한 도구를 제공합니다. Lambda@Edge와 CloudFront Functions  모두 엣지사용자 지정이 가능하지만 어느 서비스가 더 적합한 지 고려하는 것이 중요합니다. 함수가 더 복잡하고 장기 실행되거나 고용량 CPU가 필요한 경우 Lambda@Edge가 이상적인 선택일 수 있습니다. 함수가 확장 가능해야 하고 지연시간에 민감하다면 CloudFront Functions가 가장 이상적인 선택일 것 입니다.

 

 

AWS Global Accelerator

AWS Global Accelerator는 글로벌 사용자에게 제공하는애플리케이션의가용성과 성능을 개선하는 네트워킹 서비스입니다. AWS Global Accelerator는 가용성이 높고 정체없는 AWS 글로벌 네트워크를 사용하여 사용자의 인터넷 트래픽을 AWS의 애플리케이션으로 전달하므로 일관된 사용자 경험을 제공합니다.

 

 

애플리케이션 사용량 증가에 따른 확장, 지연시간에 민감한 애플리케이션을 위한 가속화, 재해 복구 및 다중 리전 복원력, 애플리케이션 보호, 사용자 지정 라우팅의 사례에서 사용할 수 있습니다.

 

 

 

댓글