에서 ELK Elastic Cloud로 스택 마이그레이션 AWS - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에서 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은 수년 동안 서비스를 제공해 왔으며, 사용자와 고객은 일반적으로 온프레미스에서 Elastic을 직접 관리합니다. 관리형 Elasticsearch 서비스인 Elastic Cloud https://www.elastic.co/elasticsearch/service엔터프라이즈 검색, 관찰 가능성보안 에 대한 Elastic Stack(ELK 스택) 및 솔루션을 사용할 수 있는 방법을 제공합니다. 로그, 지표, APM (애플리케이션 성능 모니터링) 및 SIEM (보안 정보 및 이벤트 관리)와 같은 앱을 사용하여 Elastic 솔루션에 액세스할 수 있습니다. 기계 학습, 인덱스 수명 주기 관리, Kibana 렌즈(드래그 앤 드롭 시각화용)와 같은 통합 기능을 사용할 수 있습니다.

자체 관리형 Elasticsearch에서 Elastic 클라우드로 전환하면 Elasticsearch 서비스가 다음 작업을 처리합니다.

  • 기본 인프라 프로비저닝 및 관리

  • Elasticsearch 클러스터 생성 및 관리

  • 클러스터 확장 및 축소

  • 업그레이드, 패치 적용, 스냅샷 촬영

이를 통해 다른 문제를 해결하는 데 더 많은 시간을 할애할 수 있습니다.

이 패턴은 온프레미스 Elasticsearch 7.13을 Amazon Web Services의 Elastic Cloud에서 Elasticsearch로 마이그레이션하는 방법을 정의합니다(AWS). 다른 버전에서는 이 패턴에 설명된 프로세스를 약간 수정해야 할 수 있습니다. 자세한 내용은 Elastic 담당자에게 문의하십시오.

사전 조건 및 제한 사항

사전 조건 

마이그레이션을 시작하기 전에 스냅샷의 크기와 함께 제공되는 인덱스의 수명 주기 정책이 온프레미스에 얼마나 큰지 이해해야 합니다. 자세한 내용은 Elastic에 문의하십시오.

역할 및 기술

마이그레이션 프로세스에는 다음 표에 설명된 역할과 전문 지식도 필요합니다.

역할

전문성

책임

앱 지원

Elastic 클라우드 및 Elastic 온프레미스에 대한 지식

모든 Elastic 관련 작업

시스템 관리자 또는 DBA

온프레미스 Elastic 환경 및 해당 구성에 대한 심층 지식

스토리지를 프로비저닝하고, AWS 명령줄 인터페이스(AWSCLI)를 설치 및 사용하고, 온프레미스에서 Elastic에 공급하는 모든 데이터 소스를 식별하는 기능

네트워크 관리자

온프레미스와 AWS 네트워크 연결, 보안 및 성능에 대한 지식

연결 대역폭에 대한 이해를 바탕으로 온프레미스에서 Amazon S3로 네트워크 링크 설정

제한 사항

제품 버전

  • Elasticsearch 7.13

아키텍처

소스 기술 스택  

온프레미스 Elasticsearch 7.13 이상:

  • 클러스터 스냅샷

  • 인덱스 스냅샷

  • Beats 구성

소스 기술 아키텍처

다음 다이어그램은 다양한 수집 방법, 노드 유형 및 Kibana를 사용하는 일반적인 온프레미스 아키텍처를 보여줍니다. 다양한 노드 유형은 Elasticsearch 클러스터, 인증 및 시각화 역할을 반영합니다.

Beats, Logstash, Elasticsearch 및 Kibana를 포함한 8단계 프로세스입니다.
  1. Beats에서 Logstash로 수집

  2. Beats에서 Apache Kafka 메시지 대기열로 수집

  3. Filebeat에서 Logstash로 수집

  4. Apache Kafka 메시지 대기열에서 Logstash로 수집

  5. Logstash에서 Elasticsearch 클러스터로 수집

  6. Elasticsearch 클러스터

  7. 인증 및 알림 노드

  8. Kibana 및 블럽 노드

대상 기술 스택 

Elastic Cloud는 클러스터 간 복제를 통해 여러 AWS 리전의 서비스형 소프트웨어(SaaS) 계정에 배포됩니다.

  • 클러스터 스냅샷

  • 인덱스 스냅샷

  • Beats 구성

  • Elastic 클라우드

  • Network Load Balancer

  • Amazon Route 53

  • Amazon S3

대상 아키텍처 

Route 53 엔드포인트는 트래픽을 두 리전의 다중 AZ 환경으로 라우팅합니다.

관리형 Elastic 클라우드 인프라는 다음과 같습니다.

상위 수준 마이그레이션 단계

Elastic은 온프레미스 Elastic 클러스터를 Elastic 클라우드로 마이그레이션하기 위한 자체 규범적 방법론을 개발했습니다. Elastic 방법론은 Well-Architected Framework 및 AWS AWSMigration Acceleration Program()을 비롯한 마이그레이션 지침 및 모범 사례를 직접적으로 조정하고 보완합니다MAP. 일반적으로 세 가지 AWS 마이그레이션 단계는 다음과 같습니다.

  • 평가

  • 동원

  • 마이그레이션 및 현대화

Elastic은 유사한 마이그레이션 단계를 따르며 상호 보완적인 용어를 사용합니다.

  • 시작

  • 계획

  • 구현

  • 전송

  • Close

Elastic은 Elastic 구현 방법론을 사용하여 프로젝트 결과 전송을 촉진합니다. 이는 Elastic, 컨설팅 팀, 고객 팀이 명확하게 협력하여 의도한 결과를 공동으로 제공할 수 있도록 설계된 것입니다.

Elastic 방법론은 구현 단계 내에서 기존의 워터폴 단계를 스크럼과 결합합니다. 기술 요구 사항 구성은 위험을 최소화하면서 협업 방식으로 반복적으로 제공됩니다.

Elastic 구현 방법론의 5단계를 보여주는 다이어그램.

도구

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 노드에서 다음 명령을 실행합니다.

sudo bin/elasticsearch-plugin install repository-s3

그런 다음 노드를 재부팅합니다.

AWS 관리자

Amazon S3 클라이언트 액세스를 구성합니다.

다음 명령을 실행하여 이전에 생성한 키를 추가합니다.

elasticsearch-keystore add s3.client.default.access_key
elasticsearch-keystore add s3.client.default.secret_key
elasticsearch-keystore add s3.client.default.session_token
AWS 관리자

Elastic 데이터용 스냅샷 리포지토리를 등록하십시오.

Kibana 개발 도구를 사용하여 온프레미스 로컬 클러스터에 어느 원격 S3 버킷에 쓸 것인지 알립니다.

AWS 관리자

스냅샷 정책을 구성합니다.

스냅샷 수명 주기 관리를 구성하려면 Kibana 정책 탭에서 SLM 정책을 선택하고 포함해야 하는 시간, 데이터 스트림 또는 인덱스와 사용할 이름을 정의합니다.

스냅샷을 자주 찍는 정책을 구성하십시오. 스냅샷은 증분식이며 스토리지를 효율적으로 사용합니다. 준비 상태 평가 결정과 일치시키십시오. 또한 정책을 통해 보존 정책을 지정하고 스냅샷이 더 이상 필요하지 않은 경우 스냅샷을 자동으로 삭제할 수 있습니다.

앱 지원

스냅샷이 작동하는지 확인합니다.

Kibana 개발 도구에서 다음 명령을 실행합니다.

GET _snapshot/<your_repo_name>/_all
AWS 관리자, 앱 지원,

Elastic 클라우드에 새 클러스터를 배포하십시오.

Elastic에 로그인하고 준비 상태 평가의 비즈니스 결과에서 도출한 ‘관찰성, 검색 또는 보안’을 위한 클러스터를 선택하십시오.

AWS 관리자, 앱 지원

클러스터 키 스토어 액세스를 설정합니다.

새 클러스터는 스냅샷을 저장할 S3 버킷에 대한 액세스 권한이 필요합니다. Elasticsearch Service Console에서 보안 을 선택하고 이전에 생성한 액세스 및 보안 IAM 키를 입력합니다.

AWS 관리자

Amazon S3 액세스할 Elastic 클라우드 호스트 클러스터를 구성합니다.

Amazon S3에서 이전에 생성한 스냅샷 리포지토리에 대한 새 클러스터 액세스를 설정합니다. Kibana를 사용하여 다음을 수행합니다.

  1. 스택 관리, 스냅샷 설정, 를 선택합니다RegisterRepo.

  2. 별칭 필드에 리포지토리 이름을 입력합니다.

  3. S3 클라이언트 이름의 경우 보조를 선택합니다.

  4. 이전에 생성한 S3 버킷을 저장소에 추가합니다.

  5. 스냅샷 압축을 선택합니다.

  6. 암호화 설정의 경우 기본값을 유지합니다.

AWS 관리자, 앱 지원

새로운 Amazon S3 리포지토리를 확인합니다.

Elastic 클라우드 클러스터에 호스팅된 새 리포지토리에 액세스할 수 있는지 확인하십시오.

AWS 관리자

Elasticsearch 서비스 클러스터를 초기화하십시오.

Elasticsearch 서비스 콘솔에서 S3 스냅샷의 Elasticsearch 서비스 클러스터를 초기화합니다.

다음 명령을 로 실행합니다POST.

*/_close?expand_wildcards=all
/_snapshot/<your-repo-name>/ <your-snapshot-name>/_restore
*/_open?expand_wildcards=all
앱 지원
작업설명필요한 기술

스냅샷 복원이 성공했는지 확인하십시오.

Kibana 개발 도구를 사용해서 다음 명령을 실행합니다.

GET _cat/indices
앱 지원

통합 서비스를 재배포하십시오.

Beats 및 Logstash의 엔드포인트를 새로운 Elasticsearch 서비스 엔드포인트에 연결합니다.

앱 지원
작업설명필요한 기술

클러스터 환경을 검증하십시오.

온프레미스 Elastic 클러스터 환경이 로 마이그레이션된 후 AWS에 연결하고 자체 사용자 수락 테스트(UAT) 도구를 사용하여 새 환경을 검증할 수 있습니다.

앱 지원

리소스를 정리합니다.

클러스터가 성공적으로 마이그레이션되었는지 확인한 후 S3 버킷과 마이그레이션에 사용된 IAM 역할을 제거합니다.

AWS 관리자

관련 리소스

Elastic 참조

Elastic 블로그 포스트

Elastic 설명서

Elastic 비디오 및 웨비나

AWS 참조

추가 정보

복잡한 워크로드를 마이그레이션할 계획이라면 Elastic 컨설팅 서비스에 문의하십시오. 구성 및 서비스와 관련된 기본적인 질문이 있는 경우 Elastic 지원 팀에 문의하십시오.