리전 선택
서비스, 데이터 및 애플리케이션에 적합한 리전을 결정할 때 다음 네 가지 비즈니스 요소를 고려해야 한다.
① 데이터 거버넌스 및 법적 요구사항 준수:
회사와 위치에 따라 특정 영역에서 데이터를 실행해야 할 수도 있다. 예를 들어 회사의 모든 데이터를 영국 내에 보관해야 하는 경우에는 런던 리전을 선택해야 할 것이다. 모든 회사에 위치 기반 데이터 규정이 있는 것은 아니므로 다른 세 가지 요소에 더 집중해야 할 수도 있다.
② 고객과의 접근성: 고객과 가까운 리전을 선택하면 고객에게 콘텐츠를 더 빠르게 제공하는 데 도움이 된다. 예를 들어 본사는 워싱턴 DC에 있고 고객 중 다수가 싱가포르에 거주하고 있다고 가정한다. 인프라를 본사와 가까운 버지니아 북부 리전에서 실행할지, 고객과 가까운 싱가포르 리전에서 실행할지 고려해야 할 것이다.
③ 리전 내에서 사용 가능한 서비스: 경우에 따라 고객에게 제공하려는 기능이 가장 가까운 리전에 없을 수도 있다. AWS는 새로운 서비스를 개발하고 기존 서비스의 기능을 확장하며 혁신을 주도하고 있다. 그러나 AWS가 전 세계에서 새로운 서비스를 제공할 수 있으려면 경우에 따라 각 리전마다 물리적 하드웨어를 구축해야 할 수도 있다. 개발자가 Amazon Braket(AWS 양자 컴퓨팅 플랫폼)을 사용하는 애플리케이션을 빌드하기를 원한다고 가정해 본다. 이 과정이 작성된 시점에는 아직 Amazon Braket이 전 세계 모든 AWS 리전에서 제공되지 않으므로 개발자는 이미 서비스를 제공하는 리전 중 하나에서 이 플랫폼을 실행해야 한다.
④ 요금: 미국과 브라질 모두에서 애플리케이션을 실행할 것을 고려한다고 가정해 본다. 브라질의 세제 때문에 상파울루 리전은 오레곤 리전과 비교하여 동일한 워크로드를 실행하는 데 50% 더 많은 비용이 소요될 수 있다.
가용 영역
가용 영역은 리전 내의 단일 데이터 센터 또는 데이터 센터 그룹이다. 가용 영역은 서로 수십 마일 떨어져 있다. 이 간격은 가용 영역 간의 지연 시간(콘텐츠가 요청된 시점과 수신된 시점 간의 차이)이 짧을 정도로 충분히 가깝다. 그러나 리전의 한 부분에서 재해가 발생할 경우, 여러 가용 영역이 영향을 받을 가능성을 줄일 만큼 멀리 떨어져 있다. 즉, 아주 적정선의 거리에 있다는 것이다. 여러 가용 영역에서 Amazon EC2 인스턴스를 실행하는 예시로는 다음이 있다.
① 단일 가용 영역에 있는 Amazon EC2 인스턴스: 캘리포니아 북부 리전의 단일 Amazon EC2 인스턴스에서 애플리케이션을 실행하고 있다고 가정해 본다. 인스턴스가 us-west-1a 가용 영역에서 실행 중이다. 만일 us-west-1a에 장애가 발생할 경우 이 인스턴스가 손실된다.
② 여러 가용 영역에 있는 Amazon EC2 인스턴스: 모범 사례는 한 리전의 가용 영역 두 개 이상에서 애플리케이션을 실행하는 것이다. 이 예에서는 두 번째 Amazon EC2 인스턴스를 us-west-1b에서 실행하도록 선택할 수 있다.
③ 가용 영역 장애: us-west-1a에서 장애가 발생하더라도 애플리케이션은 여전히 us-west-1b에서 실행 가능하다.
엣지 로케이션
엣지 로케이션은 Amazon CloudFront가 더 빠른 콘텐츠 전송을 위해 고객과 가까운 위치에 콘텐츠 사본을 캐시하는 데 사용하는 사이트다.
① 오리진: 회사의 데이터가 브라질에 저장되어 있고, 중국에 거주하는 고객들이 있는 상황이다. 이러한 고객에게 콘텐츠를 제공하기 위해 모든 콘텐츠를 중국 리전 중 하나로 이동할 필요는 없다.
② 엣지 로케이션: 고객이 브라질에서 데이터를 가져올 필요가 없도록 중국 내 고객과 가까운 엣지 로케이션에 사본을 로컬로 캐시할 수 있다.
③ 고객: 중국 내 고객이 파일을 요청하면 Amazon CloudFront는 엣지 로케이션의 캐시에서 해당 파일을 검색하여 고객에게 전송한다. 이 파일은 브라질에 저장된 원본이 아니라, 중국 근처의 엣지 로케이션에서 가져온 것이므로 고객에게 더 빠르게 전달된다.
AWS 서비스와 상호 작용하는 방법
① AWS Management Console: Amazon 서비스 액세스 및 관리를 위한 웹 기반 인터페이스다. 최근에 사용한 서비스에 빠르게 액세스하고 이름, 키워드 또는 약어로 다른 서비스를 검색할 수 있다. 콘솔에는 작업을 수행하는 프로세스를 단순화할 수 있는 마법사 및 자동화된 워크플로가 포함되어 있다. 또한, AWS 콘솔 모바일 애플리케이션을 사용하여 리소스 모니터링, 경보 보기, 결제 정보 확인 등의 작업을 수행할 수 있다. 여러 ID가 동시에 AWS 콘솔 모바일 앱에 로그인할 수 있다.
② AWS Command Line Interface: API 요청을 수행할 때 시간을 절약하기 위해 AWS Command Line Interface(AWS CLI)를 사용할 수 있다. AWS CLI를 사용하면 하나의 도구를 통해 명령줄에서 직접 여러 AWS 서비스를 제어할 수 있다. Windows, macOS, Linux 사용자가 AWS CLI를 사용할 수 있다. AWS CLI를 사용하면 스크립트를 통해 서비스 및 애플리케이션이 수행하는 작업을 자동화할 수 있다. 예를 들어 Amazon EC2 인스턴스를 시작하고 Amazon EC2 인스턴스를 특정 Auto Scaling 그룹에 연결하는 등의 작업을 명령을 사용해 수행할 수 있다.
③ 소프트웨어 개발 키트: AWS 서비스를 액세스 및 관리할 수 있는 또 다른 옵션은 소프트웨어 개발 키트(SDK)다. SDK를 사용하면 프로그래밍 언어 또는 플랫폼용으로 설계된 API를 통해 AWS 서비스를 보다 간편하게 사용할 수 있다. SDK를 통해 AWS 서비스를 기존 애플리케이션과 함께 사용하거나 AWS에서 실행할 완전히 새로운 애플리케이션을 생성할 수 있다. SDK를 사용하기 시작하는 데 도움이 되도록 AWS는 지원되는 각 프로그래밍 언어에 대한 설명서와 샘플 코드를 제공한다. 지원되는 프로그래밍 언어에는 C++, Java, .NET 등이 있다.
AWS Elastic Beanstalk
AWS Elastic Beanstalk에서는 사용자가 코드 및 구성 설정을 제공하면 Elastic Beanstalk이 용량 조정, 로드 밸런싱, 자동 조정, 애플리케이션 상태 모니터링 작업을 수행하는 데 필요한 리소스를 배포한다.
AWS CloudFormation
AWS CloudFormation을 사용하여 인프라를 코드로 취급할 수 있다. 즉, AWS Management Console을 사용하여 개별적으로 리소스를 프로비저닝하는 대신 코드 줄을 작성하여 환경을 구축할 수 있다. AWS CloudFormation은 리소스를 안전하고 반복 가능한 방식으로 프로비저닝하므로 수작업을 수행할 필요 없이 인프라 및 애플리케이션을 빈번히 구축할 수 있다. 이 서비스는 스택을 관리할 때 수행해야 할 적절한 작업을 결정하고 오류를 감지하면 변경 사항을 자동으로 롤백한다.
'보안 > 교육' 카테고리의 다른 글
AWS Cloud Practitioner Essentials #5 (3) | 2024.08.28 |
---|---|
AWS Cloud Practitioner Essentials #4 (1) | 2024.08.28 |
AWS Cloud Practitioner Essentials #2 (3) | 2024.08.27 |
AWS Cloud Practitioner Essentials #1 (0) | 2024.08.26 |
버그헌팅 #4 CVE & ChatGPT (0) | 2024.08.20 |