将从本地服务器迁移到在亚马逊AWS上的弹性工作负载的过程自动化的10个步骤
大家好!我是Elastic的技术产品营销经理/布道师铃木章太郎。我们创建了Elastic在Qiita上的组织,除了个人的文章之外,我也希望能够定期在组织中写博客。这个组织主要由我们公司的解决方案架构师4人和咨询顾问3人组成,但作为技术市场人员的我也会写博客,希望大家多多支持。
您是否准备好将自己管理的Elastic工作负载迁移到Elasticon Amazon Web Services(AWS),以充分利用成本、时间和规模的效益?我们将利用在AWS上开发的最佳实践和工具,确保快速且顺利的迁移。您可以先执行自助迁移路径选项,然后按照简易的“如何”步骤来自动化迁移。
选择添加本地数据集到 AWS 环境的弹性路径。
将本地数据集添加到AWS环境的Elastic的主要三个选项是重新导入数据,快照和恢复,以及从集群重新创建索引。
如果将数据源(应用程序、数据库、基础设施)迁移到AWS上,可以重新将数据从源头导入到Elastic中。 Elastic提供与流行的AWS服务的集成,使数据导入更加简化。只需点击一下,就可以捕获、存储和搜索数据。
2. 快照和恢复适用于需要将现有集群内的数据迁移到弹性云上,并且现有集群运行的 Elasticsearch 版本较旧于弹性云的情况。
另一个选项是重新创建索引从集群中。这对于数据量较少,使用快照和恢复受限,并且现有集群运行的 Elasticsearch 版本早于 Elastic Cloud 更合适。有关 Reindex API 的详细使用说明,请参阅迁移指南。
在这个博客中,我将介绍使用快照和恢复来自动化迁移路径的简单步骤。
使用快照和恢复进行自动化迁移。
让我们看看使用快照进行数据迁移,并使用Terraform(作为开源基础设施代码软件)进行恢复是多么容易。首先,让我们从前提条件开始。然后,我们将说明操作步骤。
前提条件
-
- 请确认要迁移的 Elastic Cloud 目标正在运行当前 Elasticsearch 集群的相同或更高版本。有关版本兼容性的详细信息,请参阅Elastic 快照和恢复指南。
-
- 请确认 Elastic Cloud 集群的基础设施容量足够满足用例的数据量和计算需求。
-
- 请检查并确认 Elastic 快照和恢复指南中列出的限制以及 Elastic 升级指南中特定版本的重大变更,以确保它们不会影响到部署到 Elastic Cloud 的迁移。
-
- 请确认已安装正确的 Terraform 软件版本,并确保 Terraform Vault 功能已启用。
-
- 收集所需的信息,如 Elasticsearch API 密钥(var.apikey)和 AWS 访问密钥(var.s3_client_access_key,var.s3_client_secret_key)。
-
- 请确认在本地和 Elastic on AWS VPC 以及其他 AWS 资源权限之间存在网络连接(直接连接)。
- 如果现有的 Elasticsearch 集群尚未安装 Elasticsearch AWS CLI 和 Amazon Simple Storage Service(Amazon S3)插件,请使用以下命令从 Elasticsearch 家目录安装它们。
> sudo bin/elasticsearch-plugin install repository-s3
- 可以使用以下命令,从现有的Elasticsearch集群的根目录将Amazon S3访问密钥添加到Elasticsearch密钥存储中(如果出现提示,请输入先前通过Amazon S3存储桶创建过程获得的正确密钥)。
> bin/elasticsearch-keystore add s3.client.default.access_key
> bin/elasticsearch-keystore add s3.client.default.secret_key
转移流程
-
- 使用Amazon S3服务创建并注册Elastic Cloud快照存储库。
-
- 创建并配置本地快照存储库,并指向Amazon S3存储桶。
-
- 从本地集群创建新的快照,并将其保存到Amazon S3存储桶中。
-
- 部署Elastic Cloud集群。
-
- 为Elastic Agent提供所需的AWS资源。
-
- 为无摩擦日志提取提供所需的Elastic无服务器转发器。
-
- 创建多个具有精细权限以访问部署过程所需的AWS服务的AWS身份和访问管理(IAM)实例角色。
-
- 关闭Elastic Cloud的所有索引。
-
- 从Elastic Cloud快照中恢复本地集群数据。
- 最后,打开Elastic Cloud的所有索引。
展开手续
以下是前提条件部分中简要解释的详细步骤,例如收集所需的秘密访问密钥等。如果您已经拥有该密钥,则可以跳过第3步。
-
- 生成Elasticsearch Service(ESS)的API密钥。
-
- a. 打开浏览器,进入https://cloud.elastic.co/login。
-
- b. 使用电子邮件地址和密码登录。
-
- c. 点击Elasticsearch Service。
-
- d. 移动到[功能] > [API密钥],点击[生成API密钥]。
-
- e. 选择API密钥的名称。
-
- f. 将API密钥保存在安全的地方。
创建AWS访问密钥。
a. 创建允许列表、读取和写入权限的S3存储桶策略。
b. 创建IAM用户并附加上述创建的策略。
c. 确认IAM用户具有编程访问权限。
d. 将AWS访问密钥保存在安全的地方。
使用以下命令创建Terraform ElasticCloud迁移存储库的克隆。
git clone https://github.com/aws-ia/terraform-elastic-cloud
cdterraform-elastic-cloud
-
- 如果您正在使用HashiCorp Vault,您可以将Vault环境变量设置为以下内容:
-
- a. export VAULT_ADDR = “您的Vault URL”
- b. export VAULT_TOKEN = “您的VaultToken。添加Elasticsearch API密钥(在此示例中,路径为「ess」):”
vault kv put secret/ess apikey="Your Elastic API Key"
添加 AWS API 密钥(此处以 “aws” 作为示例路径)。
vault kv put secret/aws s3_client_access_key="Your AWS Access Key"
s3_client_secret_key="Your AWS Secret Key"
-
- 需要提供一个密钥 – 这可以通过Terraform在不同的方式下执行。使用变量定义(.tfvars)来实现。这个新增加的功能可以自动化迁移到Elastic Cloud上的Elasticsearch集群。文件如下所示(如果使用HashiCorp Vault)。
- 只需要为自承载式Elasticsearch分配URL,如以下示例所示。
var.local_elasticsearch_url (e.g., http://127.0.0.1:9200).
例如,可以在同一个 testing.tfvars 文件中添加 var.local_elasticsearch_url(如果使用 HashiCorp Vault)来示范如下。
name = "Elasticsearch Cluster"
local_elasticsearch_url = ""
vault_address = "Your Local Elastic Cluster URL"
vault_ess_path = "secret/ess"
vault_aws_path = "secret/aws"
apikey = "hashicorp/vault"
s3_client_access_key = "hashicorp/vault"
s3_client_secret_key = "hashicorp/vault"
另外,也可以直接提供以下的密钥。
name = "Elasticsearch Cluster"
local_elasticsearch_url = ""
apikey = "Your Elastic API Key"
s3_client_access_key = "Your AWS Access Key"
s3_client_secret_key = "Your AWS Secret Key"
- 当这些变量在 .tfvars 文件中指定时(在下面的例子中,使用名为 testing.tfvars 的文件),可以执行如下的 Terraform 模块。
terraform init
terraform validate
terraform apply -var-file="testing.tfvars"
放弃展开
如果您不再需要由terraform模块进行的基础架构的配置,您可以使用以下命令轻松地终止所有资源。
terraform destroy -var-file="testing.tfvars"
利用 Elastic 和 AWS 优化迁移资源的利用。
Elastic 是 AWS ISV 工作负载迁移计划(WMP)合作伙伴,支持将自管理的本地 Elasticsearch 或 ELK 工作负载迁移到 Elastic on AWS。
Elastic 的方法论为客户提供了规范化且可重复的方法来加速迁移。同时,与 AWS Well-Architected Framework 和 AWS 迁移加速计划等 AWS 公开的迁移指南和最佳实践直接配合。
通过 AWS WMP 计划,您可以进一步利用引导指南、迁移资源、AWS 基础设施学分和资金援助,实现业务目标,加速云端之旅。
立即开始将 Elastic 迁移到 AWS 上。
团队将使用已知的Elastic解决方案进行迁移,以利用云端支持的所有功能。您可以查看此迁移指南、快速入门指南、网站和文档,或直接与我们联系以确认Elastic如何支持迁移(评估、规划、财务支持等)。此外,您还可以联系能够支持复杂且大规模工作负载迁移的Elastic咨询团队。您可以直接从AWS Marketplace获得7天的免费试用版,仅需数分钟即可部署Elastic。
鈴木章太郎是彈性技術產品營銷經理/傳道者。