

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將 ELK 堆疊遷移至 AWS 上的彈性雲端
<a name="migrate-an-elk-stack-to-elastic-cloud-on-aws"></a>

*Battulga Purevragchaa 和 Antony Prasad Thevaraj，Amazon Web Services*

*uday reddy，無*

## 總結
<a name="migrate-an-elk-stack-to-elastic-cloud-on-aws-summary"></a>

[Elastic](https://www.elastic.co/) 已提供服務多年，其使用者和客戶通常會在內部部署中自行管理 Elastic。[Elastic Cloud](https://www.elastic.co/cloud) 是受管 [Elasticsearch 服務](https://www.elastic.co/elasticsearch/service)，提供一種使用 Elastic Stack (ELK Stack) 和解決方案的方法，用於[企業搜尋](https://www.elastic.co/enterprise-search)、[可觀測性](https://www.elastic.co/observability)[和安全性](https://www.elastic.co/security)。您可以使用 Logs、Metrics、APM （應用程式效能監控） 和 SIEM （安全資訊和事件管理） 等應用程式來存取彈性解決方案。您可以使用整合功能，例如機器學習、索引生命週期管理、Kibana Lens （用於拖放視覺化）。

當您從自我管理的 Elasticsearch 移至 Elastic Cloud 時，Elasticsearch 服務會處理下列事項：
+ 佈建和管理基礎基礎設施
+ 建立和管理 Elasticsearch 叢集
+ 向上和向下擴展叢集
+ 升級、修補和拍攝快照

這可讓您有更多時間專注於解決其他挑戰。

此模式定義如何將內部部署 Elasticsearch 7.13 遷移至 Amazon Web Services (AWS) 上的 Elastic Cloud。其他版本可能需要稍微修改竊賊模式中描述的程序。如需詳細資訊，請聯絡您的 Elastic 代表。

## 先決條件和限制
<a name="migrate-an-elk-stack-to-elastic-cloud-on-aws-prereqs"></a>

**先決條件**
+ 可存取快照的 [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (Amazon S3) 的作用中 [AWS 帳戶](https://aws.amazon.com/account/) 
+ 安全且足夠高頻寬的[私有連結](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)，可將快照資料檔案複製到 Amazon S3
+ [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/)
+ [彈性快照政策](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/getting-started-snapshot-lifecycle-management.html)，以確保資料擷取定期封存至足夠大的本機資料存放區或遠端儲存 (Amazon S3)

您必須了解快照和隨附索引的[生命週期政策](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-lifecycle-management.html)在內部部署中的大小，才能啟動遷移。如需詳細資訊，[請聯絡 Elastic](https://www.elastic.co/contact)。

**角色和技能**

遷移程序也需要下表所述的角色和專業知識。


| 
| 
| Role | 專業知識 | 責任 | 
| --- |--- |--- |
| 應用程式支援 | 熟悉現場部署的 Elastic Cloud 和 Elastic | 所有彈性相關任務 | 
| 系統管理員或 DBA | 深入了解現場部署彈性環境及其組態 | 能夠佈建儲存體、安裝和使用 AWS 命令列界面 (AWS CLI)，並識別提供現場部署彈性的所有資料來源 | 
| 網路管理員 | 了解內部部署到 AWS 網路連線能力、安全性和效能 | 了解連線頻寬，建立從內部部署到 Amazon S3 的網路連結 | 

**限制**
+ Elastic Cloud 上的 Elasticsearch 僅適用於[支援的 AWS 區域 (2021 年 9 月）](https://www.elastic.co/guide/en/cloud/current/ec-regions-templates-instances.html#ec-aws_regions)。

**產品版本**
+ Elasticsearch 7.13

## Architecture
<a name="migrate-an-elk-stack-to-elastic-cloud-on-aws-architecture"></a>

**來源技術堆疊**

內部部署 Elasticsearch 7.13 或更新版本：
+ 叢集快照
+ 索引快照
+ [Beats](https://www.elastic.co/beats/) 組態

**來源技術架構**

下圖顯示具有不同擷取方法、節點類型和 Kibana 的典型內部部署架構。不同的節點類型反映 Elasticsearch 叢集、身分驗證和視覺化角色。

![\[八個步驟的程序，包括 Beats、Logstash、Elasticsearch 和 Kibana。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/23d1b437-22ff-420e-80ac-834f1116d234/images/937c4d22-429f-4673-86df-ae491d68389c.png)


1. 從 Beats 擷取到 Logstash

1. 從 Beats 擷取到 Apache Kafka 訊息佇列

1. 從 Filebeat 擷取至 Logstash

1. 從 Apache Kafka 訊息佇列擷取至 Logstash

1. 從 Logstash 擷取至 Elasticsearch 叢集

1. Elasticsearch 叢集

1. 身分驗證和通知節點

1. Kibana 和 Blob 節點

**目標技術堆疊**

Elastic Cloud 透過跨叢集複寫部署到您的多個 AWS 區域中的軟體即服務 (SaaS) 帳戶。
+ 叢集快照
+ 索引快照
+ Beats 組態
+ 彈性雲端
+ Network Load Balancer
+ Amazon Route 53
+ Amazon S3

**目標架構**

![\[Route 53 端點會將流量路由到兩個不同區域中的多可用區域環境。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/23d1b437-22ff-420e-80ac-834f1116d234/images/16cbac49-0adb-4469-b546-ae4b1ca35357.png)


 

受管彈性雲端基礎設施為：
+ 高可用性，存在於多個[可用區域](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)和多個 AWS 區域。
+ 區域容錯，因為使用 Elastic [Cloudcross-cluster 複寫 (CCR) 複寫資料 （索引和快照）](https://www.elastic.co/guide/en/elasticsearch/reference/7.14/xpack-ccr.html)
+ 封存，因為快照會封存在 [Amazon S3](https://aws.amazon.com/s3/?p=pm&c=s3&z=4) 中
+ 透過 Network [Load Balancer ](https://aws.amazon.com/elasticloadbalancing/network-load-balancer/)和 [Route 53](https://aws.amazon.com/route53/) 的組合，可容忍網路分割區
+ 源自 （但不限於） [Elastic APM](https://www.elastic.co/apm/)、[Beats](https://www.elastic.co/beats/)、[Logstash](https://www.elastic.co/guide/en/logstash/current/index.html) 的資料擷取

**高階遷移步驟**

Elastic 已開發自己的規範方法，將內部部署 Elastic Cluster 遷移至 Elastic Cloud。彈性方法直接符合 AWS 遷移指引和最佳實務，包括 [Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=desc) 和 [AWS Migration Acceleration Program](https://aws.amazon.com/migration-acceleration-program/) (MAP)。一般而言，三個 AWS 遷移階段如下：
+ 評估
+ 調動
+ 遷移和現代化

Elastic 遵循具有互補術語的類似遷移階段：
+ 啟動
+ 計畫
+ 實作
+ 交付
+ Close (關閉)

Elastic 使用彈性實作方法，協助交付專案成果。這在設計上具有包容性，以確保彈性、諮詢團隊和客戶團隊以清晰的方式合作，共同交付預期成果。

彈性方法在實作階段將傳統的瀑布假相與 Scrum 結合。技術需求的組態會以協作方式反覆交付，同時將風險降至最低。

![\[圖表顯示彈性實作方法的五個階段。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/23d1b437-22ff-420e-80ac-834f1116d234/images/b041c61d-980e-49a0-a721-791c20edde64.png)


 

## 工具
<a name="migrate-an-elk-stack-to-elastic-cloud-on-aws-tools"></a>

**AWS 服務**
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) – Amazon Route 53 是高可用性且可擴展的網域名稱系統 (DNS) Web 服務。您可以使用 Route 53 執行三個主要功能的任意組合：網域註冊、DNS 路由和運作狀態檢查。
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) – Amazon Simple Storage Service (Amazon S3) 是一種物件儲存服務。您可以使用 Amazon S3 隨時從 Web 任何地方存放和擷取任意資料量。此模式使用 S3 儲存貯體和 [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration-examples.html)。
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) – Elastic Load Balancing 會自動將傳入流量分散到一或多個可用區域中的多個目標，例如 EC2 執行個體、容器和 IP 地址。

**其他工具**
+ [Beats](https://www.elastic.co/beats/) – Beats 從 Logstash 或 Elasticsearch 運送資料
+ [Elastic Cloud](https://www.elastic.co/cloud/) – Elastic Cloud 是一種託管 Elasticsearch 的受管服務。
+ [Elasticsearch](https://www.elastic.co/elasticsearch/) – Elasticsearch 是一種搜尋和分析引擎，使用 Elastic Stack 集中存放您的資料，以進行可擴展的搜尋和分析。此模式也會使用快照建立和跨叢集複寫。
+ [Logstash](https://www.elastic.co/logstash/) – Logstash 是一種伺服器端資料處理管道，可從多個來源擷取資料、轉換資料，然後將其傳送至您的資料儲存體。

## 史詩
<a name="migrate-an-elk-stack-to-elastic-cloud-on-aws-epics"></a>

### 準備遷移
<a name="prepare-the-migration"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 識別執行內部部署彈性解決方案的伺服器。 | 確認支援彈性遷移。 | 應用程式擁有者 | 
| 了解內部部署伺服器組態。 | 若要了解在內部部署成功驅動工作負載所需的伺服器組態，請尋找目前正在使用的伺服器硬體足跡、網路組態和儲存特性 | 應用程式支援 | 
| 收集使用者和應用程式帳戶資訊。 | 識別內部部署彈性環境所使用的使用者名稱和應用程式名稱。 | 系統管理員、應用程式支援 | 
| 文件 Beats 和資料寄件人組態。 | 若要記錄組態，請查看現有的資料來源和目的地。如需詳細資訊，請參閱[彈性文件](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html)。 | 應用程式支援 | 
| 判斷資料的速度和數量。 | 建立叢集正在處理多少資料的基準。 | 系統管理員、應用程式支援 | 
| 記錄 RPO 和 RTO 案例。 | 有關中斷和服務水準協議 (SLAs) 的文件復原點目標 (RPO) 和復原時間目標 (RTO) 案例。 | 應用程式擁有者、系統管理員、應用程式支援 | 
| 決定最佳快照生命週期設定。 | 定義在遷移*期間和之後*使用彈性快照保護資料的頻率。 | 應用程式擁有者、系統管理員、應用程式支援 | 
| 定義遷移後效能期望。 | 針對目前和預期的畫面重新整理、查詢執行期和使用者介面行為產生指標。 | 系統管理員、應用程式支援 | 
| 記錄網際網路存取傳輸、頻寬和可用性需求。 | 確定將快照複製到 Amazon S3 的網際網路連線速度、延遲和彈性。 | 網路管理員 | 
| 記錄 Elastic 內部部署執行時間的目前成本。 | 確保 AWS 目標環境的大小設計為高效能且符合成本效益。 | DBA、系統管理員、應用程式支援 | 
| 識別身分驗證和授權需求。 | Elastic Stack 安全功能提供內建領域，例如輕量型目錄存取通訊協定 (LDAP)、安全聲明標記語言 (SAML) 和 OpenID Connect (OIDC)。 | DBA、系統管理員、應用程式支援 | 
| 根據地理位置了解特定法規要求。 | 確保資料根據您的要求和任何相關的國家要求匯出和加密。 | DBA、系統管理員、應用程式支援 | 

### 實作遷移
<a name="implement-the-migration"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 在 Amazon S3 上準備預備區域。 | 若要在 Amazon S3 上接收快照，[請建立 S3 儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)體和具有新建立儲存貯體完整存取權的臨時 AWS Identity and Access Management (IAM) 角色。如需詳細資訊，請參閱[建立角色以將許可委派給 IAM 使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)。使用 AWS Security Token Service [請求臨時安全登入](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)資料。保護存取金鑰 ID、私密存取金鑰和工作階段字符的安全。在儲存貯體上啟用 [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration-examples.html)。 | AWS 管理員 | 
| 在內部部署安裝 AWS CLI 和 Amazon S3 外掛程式。 | 在每個 Elasticsearch 節點上執行下列命令。<pre>sudo bin/elasticsearch-plugin install repository-s3</pre>然後重新啟動節點。 | AWS 管理員 | 
| 設定 Amazon S3 用戶端存取。 | 執行下列命令來新增先前建立的金鑰。<pre>elasticsearch-keystore add s3.client.default.access_key</pre><pre>elasticsearch-keystore add s3.client.default.secret_key</pre><pre>elasticsearch-keystore add s3.client.default.session_token</pre> | AWS 管理員 | 
| 註冊彈性資料的快照儲存庫 | 使用 [Kibana 開發工具](https://www.elastic.co/guide/en/kibana/current/console-kibana.html)來告知內部部署本機叢集要寫入哪個遠端 S3 儲存貯體。 | AWS 管理員 | 
| 設定快照政策。 | 若要設定快照生命週期管理，請在 Kibana **政策**索引標籤上，選擇 **SLM 政策**，並定義應包含的時間、資料串流或索引，以及要使用的名稱。設定經常拍攝快照的政策。快照是增量式的，可有效利用儲存體。符合您的整備評估決策。政策也可以指定[保留政策](https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-retention.html)，並在不再需要快照時自動刪除快照。 | 應用程式支援 | 
| 驗證快照是否正常運作。 | 在 Kibana 開發工具中，執行下列命令。<pre>GET _snapshot/<your_repo_name>/_all</pre> | AWS 管理員、應用程式支援、 | 
| 在 Elastic Cloud 上部署新的叢集。 | [登入 Elastic](https://cloud.elastic.co/login?redirectTo=%2Fhome)，並從準備度評估中的業務調查結果選擇「可觀測性、搜尋或安全性」叢集。 | AWS 管理員、應用程式支援 | 
| 設定叢集金鑰存放區存取權。 | 新叢集需要存取將存放快照的 S3 儲存貯體。在 Elasticsearch 服務主控台上，選擇**安全性**，然後輸入您先前建立的存取和秘密 IAM 金鑰。 | AWS 管理員 | 
| 設定 Elastic Cloud 託管叢集以存取 Amazon S3。 | 在 Amazon S3 中設定對先前建立的快照儲存庫的新叢集存取權。使用 Kibana，執行下列動作：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-elk-stack-to-elastic-cloud-on-aws.html) | AWS 管理員、應用程式支援 | 
| 驗證新的 Amazon S3 儲存庫。 | 請確定您可以存取 Elastic Cloud 叢集中託管的新儲存庫。 | AWS 管理員 | 
| 初始化 Elasticsearch 服務叢集。 | 在 Elasticsearch Service Console 上，從 S3 快照初始化 Elasticsearch 服務叢集。執行下列命令做為 POST。<pre>*/_close?expand_wildcards=all</pre><pre>/_snapshot/<your-repo-name>/  <your-snapshot-name>/_restore</pre><pre>*/_open?expand_wildcards=all</pre> | 應用程式支援 | 

### 完成遷移
<a name="complete-the-migration"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 驗證快照還原是否成功。 | 使用 Kibana 開發工具，執行下列命令。<pre>GET _cat/indices</pre> | 應用程式支援 | 
| Redploy 擷取服務。 | 將 Beats 和 Logstash 的端點連接到新的 Elasticsearch 服務端點。 | 應用程式支援 | 

### 測試叢集環境並清除
<a name="test-the-cluster-environment-and-clean-up"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 驗證叢集環境。 | 現場部署彈性叢集環境遷移至 AWS 之後，您就可以連線到該環境，並使用自己的使用者接受度測試 (UAT) 工具來驗證新環境。 | 應用程式支援 | 
| 清除資源。 | 驗證叢集已成功遷移後，請移除 S3 儲存貯體和用於遷移的 IAM 角色。 | AWS 管理員 | 

## 相關資源
<a name="migrate-an-elk-stack-to-elastic-cloud-on-aws-resources"></a>

**彈性參考**
+ [彈性雲端](https://www.elastic.co/cloud/)
+ [AWS 上的 Managed Elasticsearch 和 Kibana](https://www.elastic.co/elasticsearch/service)
+ [彈性企業搜尋](https://www.elastic.co/enterprise-search)
+ [彈性整合](https://www.elastic.co/integrations?search=amazon)
+ [彈性可觀測性](https://www.elastic.co/observability)
+ [彈性安全性](https://www.elastic.co/security)
+ [打擊](https://www.elastic.co/beats/)
+ [彈性 APM](https://www.elastic.co/apm/)
+ [遷移至索引生命週期管理](https://www.elastic.co/guide/en/cloud-enterprise/current/ece-migrate-index-management.html)
+ [彈性訂閱](https://www.elastic.co/subscriptions)
+ [聯絡彈性](https://www.elastic.co/contact)

*彈性部落格文章*
+ [如何從自我管理的 Elasticsearch 遷移至 AWS 上的 Elastic Cloud](https://www.elastic.co/blog/how-to-migrate-from-self-managed-elasticsearch-to-elastic-cloud-on-aws) （部落格文章）
+ [遷移至 Elastic Cloud](https://www.elastic.co/blog/migrating-to-elastic-cloud) （部落格文章）

*彈性文件*
+ [教學課程：使用 SLM 自動化備份](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/getting-started-snapshot-lifecycle-management.html)
+ [ILM：管理索引生命週期](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-lifecycle-management.html)
+ [Logstash](https://www.elastic.co/guide/en/logstash/current/index.html)
+ [跨叢集複寫 (CCR)](https://www.elastic.co/guide/en/elasticsearch/reference/7.14/xpack-ccr.html)
+ [擷取管道](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html)
+ [執行 Elasticsearch API 請求](https://www.elastic.co/guide/en/kibana/current/console-kibana.html)
+ [快照保留](https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-retention.html)

*彈性影片和網路研討會*
+ [彈性雲端遷移](https://www.youtube.com/watch?v=WbPJi-APZ_Q)
+ [Elastic Cloud：為什麼客戶要遷移 ](https://www.elastic.co/webinars/elastic-cloud-why-customers-are-migrating-now)（網路研討會）

**AWS 參考**
+ [AWS Marketplace 上的彈性雲端](https://aws.amazon.com/marketplace/seller-profile?id=d8f59038-c24c-4a9d-a66d-6711d35d7305)
+ [AWS 命令列界面](https://docs.aws.amazon.com/AmazonS3/latest/userguide/setup-aws-cli.html)
+ [AWS Direct Connect](https://aws.amazon.com/directconnect/)
+ [Migration Acceleration Program (MAP)](https://aws.amazon.com/migration-acceleration-program/)
+ [Network Load Balancer](https://aws.amazon.com/elasticloadbalancing/network-load-balancer/)
+ [區域與可用區域](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)
+ [Amazon Route 53](https://aws.amazon.com/route53/)
+ [Amazon Simple Storage Service](https://aws.amazon.com/s3/)
+ [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/)
+ [VPN 連線](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)
+ [Well-Architected 架構](https://aws.amazon.com/architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=desc)

## 其他資訊
<a name="migrate-an-elk-stack-to-elastic-cloud-on-aws-additional"></a>

如果您打算遷移複雜的工作負載，請聯絡 [Elastic Consulting Services](https://www.elastic.co/consulting/engage)。如果您有與組態和服務相關的基本問題，請聯絡 [Elastic Support](mailto:support@elastic.co) 團隊。