기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 ELK Elastic Cloud로 스택 마이그레이션 AWS
작성자: Battulga Purevragchaa(AWS), uday reddy 및 Antony Prasad Thevaraj(AWS)
환경: 프로덕션 | 출처 : Elasticsearch | 대상: Elastic 클라우드 |
R 유형: 리플랫포밍 | 워크로드: 기타 모든 워크로드 | 기술: 분석, 보안, 자격 증명, 규정 준수 |
AWS 서비스: Amazon EC2, Amazon EC2 Auto Scaling , Elastic Load Balancing(ELB), Amazon S3, Amazon Route 53 |
요약
Elastic
자체 관리형 Elasticsearch에서 Elastic 클라우드로 전환하면 Elasticsearch 서비스가 다음 작업을 처리합니다.
기본 인프라 프로비저닝 및 관리
Elasticsearch 클러스터 생성 및 관리
클러스터 확장 및 축소
업그레이드, 패치 적용, 스냅샷 촬영
이를 통해 다른 문제를 해결하는 데 더 많은 시간을 할애할 수 있습니다.
이 패턴은 온프레미스 Elasticsearch 7.13을 Amazon Web Services의 Elastic Cloud에서 Elasticsearch로 마이그레이션하는 방법을 정의합니다(AWS). 다른 버전에서는 이 패턴에 설명된 프로세스를 약간 수정해야 할 수 있습니다. 자세한 내용은 Elastic 담당자에게 문의하십시오.
사전 조건 및 제한 사항
사전 조건
스냅샷을 위해 Amazon Simple Storage Service
(Amazon S3)에 액세스할 수 있는 활성 AWS 계정 스냅샷 데이터 파일을 Amazon S3로 복사하기 위한 안전하고 충분히 높은 대역폭의 프라이빗 링크
데이터 모으기가 충분히 큰 로컬 데이터 스토어 또는 원격 스토리지(Amazon S3)에 정기적으로 보관되도록 하는 Elastic 스냅샷 정책
마이그레이션을 시작하기 전에 스냅샷의 크기와 함께 제공되는 인덱스의 수명 주기 정책이
역할 및 기술
마이그레이션 프로세스에는 다음 표에 설명된 역할과 전문 지식도 필요합니다.
역할 | 전문성 | 책임 |
앱 지원 | Elastic 클라우드 및 Elastic 온프레미스에 대한 지식 | 모든 Elastic 관련 작업 |
시스템 관리자 또는 DBA | 온프레미스 Elastic 환경 및 해당 구성에 대한 심층 지식 | 스토리지를 프로비저닝하고, AWS 명령줄 인터페이스(AWSCLI)를 설치 및 사용하고, 온프레미스에서 Elastic에 공급하는 모든 데이터 소스를 식별하는 기능 |
네트워크 관리자 | 온프레미스와 AWS 네트워크 연결, 보안 및 성능에 대한 지식 | 연결 대역폭에 대한 이해를 바탕으로 온프레미스에서 Amazon S3로 네트워크 링크 설정 |
제한 사항
Elastic Cloud의 Elasticsearch는 지원되는 AWS 리전(2021년 9월)에서만 사용할 수 있습니다
.
제품 버전
Elasticsearch 7.13
아키텍처
소스 기술 스택
온프레미스 Elasticsearch 7.13 이상:
클러스터 스냅샷
인덱스 스냅샷
Beats
구성
소스 기술 아키텍처
다음 다이어그램은 다양한 수집 방법, 노드 유형 및 Kibana를 사용하는 일반적인 온프레미스 아키텍처를 보여줍니다. 다양한 노드 유형은 Elasticsearch 클러스터, 인증 및 시각화 역할을 반영합니다.
Beats에서 Logstash로 수집
Beats에서 Apache Kafka 메시지 대기열로 수집
Filebeat에서 Logstash로 수집
Apache Kafka 메시지 대기열에서 Logstash로 수집
Logstash에서 Elasticsearch 클러스터로 수집
Elasticsearch 클러스터
인증 및 알림 노드
Kibana 및 블럽 노드
대상 기술 스택
Elastic Cloud는 클러스터 간 복제를 통해 여러 AWS 리전의 서비스형 소프트웨어(SaaS) 계정에 배포됩니다.
클러스터 스냅샷
인덱스 스냅샷
Beats 구성
Elastic 클라우드
Network Load Balancer
Amazon Route 53
Amazon S3
대상 아키텍처
관리형 Elastic 클라우드 인프라는 다음과 같습니다.
고가용성, 여러 가용 영역
및 여러 AWS 리전에 있음. Elastic Cloudcross-cluster 복제()를 사용하여 데이터(인덱스 및 스냅샷CCR)가 복제
되므로 리전 내결함성 아카이브, 스냅샷이 Amazon S3
에 보관되기 때문 Network Load Balancers
및 Route 53 의 조합을 통한 네트워크 파티션 내성 Elastic APM
, Beats , Logstash 에서 비롯된(이에 국한되지 않음) 데이터 수집
상위 수준 마이그레이션 단계
Elastic은 온프레미스 Elastic 클러스터를 Elastic 클라우드로 마이그레이션하기 위한 자체 규범적 방법론을 개발했습니다. Elastic 방법론은 Well-Architected Framework
평가
동원
마이그레이션 및 현대화
Elastic은 유사한 마이그레이션 단계를 따르며 상호 보완적인 용어를 사용합니다.
시작
계획
구현
전송
Close
Elastic은 Elastic 구현 방법론을 사용하여 프로젝트 결과 전송을 촉진합니다. 이는 Elastic, 컨설팅 팀, 고객 팀이 명확하게 협력하여 의도한 결과를 공동으로 제공할 수 있도록 설계된 것입니다.
Elastic 방법론은 구현 단계 내에서 기존의 워터폴 단계를 스크럼과 결합합니다. 기술 요구 사항 구성은 위험을 최소화하면서 협업 방식으로 반복적으로 제공됩니다.
도구
AWS 서비스
Amazon Route 53 – Amazon Route 53은 가용성과 확장성이 뛰어난 도메인 이름 시스템(DNS) 웹 서비스입니다. Route 53을 사용하여 도메인 등록, DNS 라우팅 및 상태 확인이라는 세 가지 주요 함수를 조합하여 수행할 수 있습니다.
Amazon S3-Amazon Simple Storage Service(S3)는 객체 스토리지 서비스입니다. Amazon S3를 사용하면 인터넷을 통해 언제 어디서든 원하는 양의 데이터를 저장하고 검색할 수 있습니다. 이 패턴은 S3 버킷과 Amazon S3 전송 가속화를 사용합니다.
Elastic Load Balancing - Elastic Load Balancing은 하나 이상의 가용 영역에서 EC2 인스턴스, 컨테이너 및 IP 주소와 같은 여러 대상에 들어오는 트래픽을 자동으로 분산합니다.
기타 도구
Beats
- Beats는 Logstash 또는 Elasticsearch의 데이터를 전송합니다. Elastic 클라우드
- Elastic 클라우드는 Elasticsearch를 호스팅하기 위한 관리형 서비스입니다. Elasticsearch
- Elasticsearch는 Elastic 스택을 사용하여 규모 조정 가능한 검색 및 분석을 위해 데이터를 중앙에 저장하는 검색 및 분석 엔진입니다. 또한 이 패턴은 스냅샷 생성과 클러스터 간 복제를 사용합니다. Logstash
— Logstash는 여러 소스에서 데이터를 수집하고 변환한 다음 데이터 스토리지로 전송하는 서버 측 데이터 처리 파이프라인입니다.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
온프레미스 Elastic 솔루션을 실행하는 서버를 식별하십시오. | Elastic 마이그레이션이 지원되는지 확인합니다. | 앱 소유자 |
온프레미스 서버 구성을 이해합니다. | 온프레미스에서 워크로드를 성공적으로 구동하는 데 필요한 서버 구성을 이해하려면 현재 사용 중인 서버 하드웨어 설치 공간, 네트워크 구성 및 스토리지 특성을 찾아보십시오. | 앱 지원 |
사용자 및 앱 계정 정보를 수집합니다. | 온프레미스 Elastic 환경에서 사용되는 사용자 이름과 앱 이름을 식별하십시오. | 시스템 관리자, 앱 지원 |
Beats 및 데이터 발송자 구성을 문서화하십시오. | 구성을 문서화하려면 기존 데이터 소스와 싱크를 살펴보십시오. 자세한 내용은 Elastic 설명서 | 앱 지원 |
데이터의 속도와 양을 결정하십시오. | 클러스터가 처리하는 데이터의 양에 대한 기준을 설정합니다. | 시스템 관리자, 앱 지원 |
문서 RPO 및 RTO 시나리오. | 중단 및 서비스 수준 계약(RPO) 측면에서 복구 시점 목표() 및 복구 시간 목표(RTO) 시나리오를 문서화합니다SLAs. | 앱 소유자, 시스템 관리자, 앱 지원 |
최적의 스냅샷 수명 주기 설정을 결정하십시오. | 마이그레이션 도중 및 이후에 Elastic 스냅샷을 사용하여 데이터를 보호해야 하는 빈도를 정의하십시오. | 앱 소유자, 시스템 관리자, 앱 지원 |
마이그레이션 후 성능 기대치를 정의하십시오. | 현재 및 예상 화면 새로 고침, 쿼리 런타임, 사용자 인터페이스 동작에 대한 지표를 생성합니다. | 시스템 관리자, 앱 지원 |
인터넷 액세스 전송, 대역폭 및 가용성 요구 사항을 문서화합니다. | 스냅샷을 Amazon S3로 복사하기 위한 인터넷 연결의 속도, 지연 시간 및 복원력을 확인합니다. | 네트워크 관리자 |
Elastic 온프레미스 런타임의 현재 비용을 문서화합니다. | AWS 대상 환경의 규모가 고성능이고 비용 효율적이도록 설계되었는지 확인합니다. | DBA, 시스템 관리자, 앱 지원 |
인증 및 권한 부여 요구 사항을 파악합니다. | Elastic Stack 보안 기능은 Lightweight Directory Access Protocol(LDAP), Security Assertion Markup Language(SAML) 및 OpenID Connect()와 같은 기본 제공 영역을 제공합니다OIDC. | DBA, 시스템 관리자, 앱 지원 |
지리적 위치에 기반한 특정 규제 요구 사항을 이해하십시오. | 요구 사항 및 관련 국가 요구 사항에 따라 데이터를 내보내고 암호화해야 합니다. | DBA, 시스템 관리자, 앱 지원 |
작업 | 설명 | 필요한 기술 |
---|---|---|
Amazon S3에서 스테이징 영역을 준비합니다. | Amazon S3에서 스냅샷을 수신하려면 새로 생성된 버킷에 대한 전체 액세스 권한을 가진 S3 버킷과 임시 AWS Identity and Access Management(IAM) 역할을 생성합니다. 자세한 내용은 IAM 사용자에게 권한을 위임하는 역할 생성을 참조하세요. AWS Security Token Service를 사용하여 임시 보안 자격 증명을 요청합니다. 액세스 키 ID, 비밀 액세스 키 및 세션 토큰을 안전하게 유지합니다. 버킷에서 Amazon S3 전송 가속화를 활성화합니다. | AWS 관리자 |
온프레미스에 AWS CLI 및 Amazon S3 플러그인을 설치합니다. | 각 Elasticsearch 노드에서 다음 명령을 실행합니다.
그런 다음 노드를 재부팅합니다. | AWS 관리자 |
Amazon S3 클라이언트 액세스를 구성합니다. | 다음 명령을 실행하여 이전에 생성한 키를 추가합니다.
| AWS 관리자 |
Elastic 데이터용 스냅샷 리포지토리를 등록하십시오. | Kibana 개발 도구 | AWS 관리자 |
스냅샷 정책을 구성합니다. | 스냅샷 수명 주기 관리를 구성하려면 Kibana 정책 탭에서 SLM 정책을 선택하고 포함해야 하는 시간, 데이터 스트림 또는 인덱스와 사용할 이름을 정의합니다. 스냅샷을 자주 찍는 정책을 구성하십시오. 스냅샷은 증분식이며 스토리지를 효율적으로 사용합니다. 준비 상태 평가 결정과 일치시키십시오. 또한 정책을 통해 보존 정책을 | 앱 지원 |
스냅샷이 작동하는지 확인합니다. | Kibana 개발 도구에서 다음 명령을 실행합니다.
| AWS 관리자, 앱 지원, |
Elastic 클라우드에 새 클러스터를 배포하십시오. | Elastic에 로그인 | AWS 관리자, 앱 지원 |
클러스터 키 스토어 액세스를 설정합니다. | 새 클러스터는 스냅샷을 저장할 S3 버킷에 대한 액세스 권한이 필요합니다. Elasticsearch Service Console에서 보안 을 선택하고 이전에 생성한 액세스 및 보안 IAM 키를 입력합니다. | AWS 관리자 |
Amazon S3 액세스할 Elastic 클라우드 호스트 클러스터를 구성합니다. | Amazon S3에서 이전에 생성한 스냅샷 리포지토리에 대한 새 클러스터 액세스를 설정합니다. Kibana를 사용하여 다음을 수행합니다.
| AWS 관리자, 앱 지원 |
새로운 Amazon S3 리포지토리를 확인합니다. | Elastic 클라우드 클러스터에 호스팅된 새 리포지토리에 액세스할 수 있는지 확인하십시오. | AWS 관리자 |
Elasticsearch 서비스 클러스터를 초기화하십시오. | Elasticsearch 서비스 콘솔에서 S3 스냅샷의 Elasticsearch 서비스 클러스터를 초기화합니다. 다음 명령을 로 실행합니다POST.
| 앱 지원 |
작업 | 설명 | 필요한 기술 |
---|---|---|
스냅샷 복원이 성공했는지 확인하십시오. | Kibana 개발 도구를 사용해서 다음 명령을 실행합니다.
| 앱 지원 |
통합 서비스를 재배포하십시오. | Beats 및 Logstash의 엔드포인트를 새로운 Elasticsearch 서비스 엔드포인트에 연결합니다. | 앱 지원 |
작업 | 설명 | 필요한 기술 |
---|---|---|
클러스터 환경을 검증하십시오. | 온프레미스 Elastic 클러스터 환경이 로 마이그레이션된 후 AWS에 연결하고 자체 사용자 수락 테스트(UAT) 도구를 사용하여 새 환경을 검증할 수 있습니다. | 앱 지원 |
리소스를 정리합니다. | 클러스터가 성공적으로 마이그레이션되었는지 확인한 후 S3 버킷과 마이그레이션에 사용된 IAM 역할을 제거합니다. | AWS 관리자 |
관련 리소스
Elastic 참조
Elastic 블로그 포스트
Elastic 설명서
Elastic 비디오 및 웨비나
AWS 참조
추가 정보
복잡한 워크로드를 마이그레이션할 계획이라면 Elastic 컨설팅 서비스