作者:来自 Elastic Eduard Marti
系列内容之一:开始使用 Elasticsearch

学习如何在 Azure 虚拟机上部署 Elasticsearch 和 Kibana,以完全控制你的 Elasticsearch 设置配置。
更多阅读:如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch,Kibana:如何在 Linux,MacOS 及 Windows 上安装 Elastic 栈中的 Kibana
刚接触 Elasticsearch?欢迎参加我们的 Elasticsearch 入门网络研讨会。你也可以立即开始免费的云试用,或在自己的机器上体验 Elastic。
这篇文章是系列教程的一部分,我们将学习如何在 Azure 上使用 Elasticsearch。在本篇中,你将学习如何设置一个 Azure 虚拟机实例,并在其上安装 Elasticsearch 和 Kibana。在系列的其他文章中,你将学习如何使用 Azure AKS 自动部署和 Azure Marketplace 来部署 Elasticsearch。
在 Azure 虚拟机 上安装 Elasticsearch 是一个很好的起点,因为它比 **Elastic Cloud Kubernetes (ECK)**等方案更简单,并且在资源使用上更透明。虽然 ECK 提供了更强的扩展能力,但学习曲线也更陡峭。

什么是 Azure 虚拟机?
Azure 虚拟机提供按需、可扩展的计算资源,支持预配置或自定义的操作系统镜像,让你能够快速部署基础设施,同时由 Azure 管理底层硬件。
何时使用 Azure 虚拟机?
这种选项最适合需要完全控制 Elasticsearch 配置、自定义插件和特定版本要求的组织。它也非常适合与现有基于虚拟机的基础设施集成,同时可以通过预留实例实现性能微调和成本优化。
设置虚拟机
1)登录 Azure 门户
2)在顶部搜索栏中输入 "Virtual machines ",如下图所示。Azure 会显示搜索建议,然后在"服务"部分点击 "Virtual machines"。

3)你会看到"虚拟机"页面(如图 2 所示),页面上显示 "没有可显示的虚拟机"。点击"创建"按钮,然后在下拉菜单中选择 "Azure virtual machine"。

4)在 "Create a virtual machine" 表单中填写以下字段:
- 选择订阅和资源组
- 输入虚拟机名称
- 选择区域 (Region)
- 可用性选项 (Availability options)
- 区域选项 (Zone options):此处保持默认的"自选区域 (Self-selected zone)"
- 可用区 (Availability Zone):默认选择 Zone 1(最多可选择 3 个区域)
- 安全类型 (Security type):选择默认的"受信任启动虚拟机 (Trusted launch virtual machines)"
- 使用的镜像为 Ubuntu server 24.04 LTS - x64 Gen2
- 选择虚拟机架构为 x64
- 规格 (Size):此示例使用 Standard_B2als_v2(2 个 vCPU,4 GB 内存)


5)磁盘:使用默认配置
6)网络:使用默认配置
7)管理:使用默认配置
8)监控:使用默认配置
9)高级:使用默认配置
10)标签:使用默认配置
11)点击 "查看并创建 (Review + create)"。查看条款、费用和配置后,点击 "创建 (Create)" 按钮
12)确认页面显示 "验证通过 (Validation passed)"(绿色对勾),再次检查条款、费用和配置
13)点击"创建 (Create)"按钮

14)下载新生成的密钥对 (key pair)

15)点击 "转到资源 (Go to resource)"

16)在这里,你可以通过 SSH 连接到实例的公共 IP 地址,或者直接从 Azure UI 连接。

配置 Kibana 的互联网访问
为了从互联网连接 Kibana,我们需要在刚创建的实例中开放端口。
1)在实例详细信息页面,点击 Networking > Network settings

2)在网络设置页面,我们将创建一个入站端口规则。点击 Create port rule ,然后选择 Inbound port rule。

3)新建入站规则以开放 Kibana 到互联网
- 来源 (Source):Any
- 来源端口范围 (Source port ranges):*
- 目标 (Destination):Any
- 服务 (Service):Custom
- 目标端口范围 (Destination port ranges):5601
- 协议 (Protocol):TCP
- 优先级 (Priority):310(默认)
- 名称 (Name):AllowKibana
然后点击 Add 按钮。

连接虚拟机
17)要连接到实例,点击 Connect 菜单,然后选择 Connect。

18)在本示例中,我们将使用 Azure CLI 通过 SSH 连接。点击 Select 在 SSH using Azure CLI 选项下。

19)会出现一个滑出菜单。勾选同意 (consent),然后点击 Configure + connect 按钮。

20)完成先决配置后,点击 Connect。

21)页面底部将显示一个连接到实例的终端。

安装 Elasticsearch
1)下载最新版本的 Elasticsearch 并验证完整性。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.0.0-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.0.0-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-9.0.0-linux-x86_64.tar.gz.sha512验证文件完整性是一个重要的安全步骤。始终检查下载的文件是否与官方校验和一致。
注意 :如果系统找不到 shasum 命令,请先安装它:
-bash: shasum: command not found安装 perl-Digest
sudo yum install perl-Digest-SHA
2)解压文件
tar -xzf elasticsearch-9.0.0-linux-x86_64.tar.gz
cd elasticsearch-9.0.0/3)运行 Elasticsearch
./bin/elasticsearch第一次运行 Elasticsearch 时,它会生成安全证书和凭据。请务必保存这些信息以备将来使用。

4)复制生成的密码、指纹和注册令牌 (enrollment token)
5)在另一个终端中(与运行 Elasticsearch 的终端不同),导航到 Elasticsearch 安装目录,运行 elasticsearch-create-enrollment-token 工具,为你的新节点生成注册令牌。
./bin/elasticsearch-create-enrollment-token -s node如果你想添加新节点,请参考本指南。
6)让我们验证 Elasticsearch 是否正在运行。
cd elasticsearch-9.0.0/
curl --cacert config/certs/http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200将 $ELASTIC_PASSWORD 替换为第 3 步生成的密码。

安装 Kibana
1)下载并解压 Kibana:
curl -O https://artifacts.elastic.co/downloads/kibana/kibana-9.0.0-linux-x86_64.tar.gz
curl https://artifacts.elastic.co/downloads/kibana/kibana-9.0.0-linux-x86_64.tar.gz.sha512 | shasum -a 512 -c - 
tar -xzf kibana-9.0.0-linux-x86_64.tar.gz
cd kibana-9.0.0/对于生产环境,建议将 Kibana 安装在单独的实例上。这里为了简化操作,我们将其安装在同一实例上。
2)为了从互联网访问 Kibana,我们将配置 kibana.yaml 文件。
nano ./config/kibana.yml找到 server.host 设置,并将其配置为:
server.host: "0.0.0.0"
退出并保存。
3)运行 Kibana
./bin/kibana
4)在浏览器中通过虚拟机的公共 IP 地址访问 Kibana,格式如下:
公共 IP 地址可在"设置虚拟机"步骤的第 14 步找到。
http://{VM-IP-ADDR}:5601/?code=567892现在,访问虚拟机的公共 IP 地址并输入显示的代码
5)在提示时粘贴第 3 步的 Kibana 注册令牌 (enrollment token)

6)输入 Elasticsearch 用户名和密码。

Kibana 安装完成!
完成这些步骤后,你将拥有一个在 Azure 虚拟机上运行的可用 Elasticsearch 部署和 Kibana。这种配置让你在利用 Azure 基础设施的同时,能够完全控制你的环境。


对于生产环境,你可以考虑配置 systemd 服务以实现自动启动,搭建多节点集群以保证高可用性,或创建快照仓库作为备份。
下一步
访问 Azure 门户,从 Azure 中选择 Elasticsearch 虚拟机镜像,选择虚拟机规格和存储,然后进行部署。可以从按需付费 (pay-as-you-go) 开始,或使用免费的 Azure 积分立即访问一个完全可自定义的 Elasticsearch 环境。
原文:https://www.elastic.co/search-labs/blog/azure-elasticsearch-vm-deployment