在 Amazon Web Services (AWS) 上部署 Meilisearch 实例
使用我们的 Meilisearch AMI,Meilisearch 可以在几分钟内在 AWS 上完成部署。
以下指南将引导您完成在 AWS EC2 实例中部署 Meilisearch 的每个步骤。如果您在使用我们的 AWS 镜像时遇到任何问题,请在此仓库中创建 issue。
第一部分:部署开箱即用的 Meilisearch 实例
1. 从 AWS 控制台启动实例
登录您的 AWS 控制台后,导航到 “Compute” 服务。然后转到 “EC2”,最后打开您的 “Instances” 控制台。
在右上角,单击 “Launch instances” 按钮以开始配置您的 Meilisearch 实例的过程。
2. 从 “Community AMIs” 中选择 “Meilisearch” AMI
现在您将选择要用于运行实例的 AMI 或系统镜像。在搜索栏中键入 meilisearch
,然后在左侧边栏中选择 “Community AMIs” 选项卡。Meilisearch 的所有者 ID 是 567502172578。
单击 “Select”(屏幕右侧)以确认您的选择。
3. 尺寸和规格
选择您希望 Meilisearch 运行的服务器的规格。
我们建议优先考虑内存分配,以获得更好的 Meilisearch 性能。
提示
免费套餐足以进行测试或原型设计,但不建议用于大型数据集。
做出选择后,单击 “Next: Configure instance details” 继续。
4. 实例详细信息
在这里,您可以指定 您的实例的详细信息。由于此部分不是运行 Meilisearch 所必需的,因此我们不会在本指南中介绍它。
单击 “Next: Add Storage” 继续。
5. 存储
为您的 Meilisearch 实例选择存储设备和大小。
所需的存储空间量可能差异很大,具体取决于您计划索引的数据。在本例中,我们将使用 25 GiB,这对于大多数小型数据集(< 100 万个文档)来说绰绰有余。我们将 “Volume Type” 设置为 “General Purpose SSD (gp2)”。
准备就绪后,单击 “Next: Add Tags” 继续。
6. 标签
标签用于在 AWS 中标识您的资源。Meilisearch 不需要它们。
单击 “Next: Configure Security Groups”。
7. 安全组:网络和连接
为了使您的 Meilisearch 实例与外部世界通信,允许 SSH 连接、HTTP 和 HTTPS 流量非常重要。
- 单击 “Add rule” 并从下拉菜单中选择 “SSH”。这将打开 SSH 端口 (22)
- 单击 “Add rule” 并从下拉菜单中选择 “HTTP”。这将打开 HTTP 端口 (80)
- 单击 “Add rule” 并从下拉菜单中选择 “HTTPS”。这将打开 HTTPS 端口 (443)
默认情况下,打开的端口接受来自任何来源的入站流量。如果您希望限制允许请求您的 Meilisearch 实例的 IP 地址,请转到 “Source” 列并选择 “Custom” 选项。“Source” 默认设置为 “Anywhere”。
如果需要,您也可以使用现有的安全组。
一旦您的配置看起来与上图类似,请单击 “Review and Launch”。
8. 设置并下载密钥对
查看实例配置后,在启动实例之前还有最后一步。
单击 “Launch”,将弹出一个窗口,要求您选择一个密钥对。此密钥对非常重要,因为它将是您通过 SSH 访问实例的私钥,这是在生产环境中配置 Meilisearch 实例所必需的。
如果您有现有的密钥对,则可以使用它。否则,选择 “Create a new key pair” 选项并为其命名。然后,单击 “Download Key Pair” 并将此文件存储在安全的地方。
下载密钥对后(且仅在此之后),单击 “Launch Instances”,然后单击 “View Instances”。
9. 享受在 AWS 上运行的 Meilisearch 实例!
您的实例可能需要一两分钟才能启动并运行(请参阅 “Instance state” 列)。
一旦 “Instance state” 为 “Running”,请使用您的 Web 浏览器导航到 AWS 实例仪表板中显示的 “Public IPv4 address” 或 “Public IPv4 DNS”。您应该会看到 Meilisearch 本地预览。
您的 Meilisearch 实例现在可以使用了!
请注意,您的 Meilisearch 实例目前运行在开发环境中,这对于生产环境使用是不安全的。如果您想要设置生产环境,请继续阅读下一节。
否则,如果您想开始创建索引和添加文档,请随时查看我们的入门指南或API 参考。
当然,祝您使用愉快!
第二部分:配置生产设置
在生产环境中配置您的 Meilisearch 实例不仅简单直接,而且是完全自动化的。只需与您的实例建立 SSH 连接,脚本将引导您完成整个过程。
1. 将您的域名指向您的实例 IP
如果您想使用自己的域名(或子域名),请在您的域名提供商帐户中添加一个 A 记录
。否则,您可以跳过此步骤。
您的域名现在应该已链接到您的 Meilisearch 实例。运行健康检查以验证您的实例正在运行并且您的 DNS 配置正确
curl -v http://<your-domain-name>/health
服务器应返回 200 OK
状态代码,如下例所示
...
< HTTP/1.1 200 OK
...
2. 设置 API 密钥和 SSL (HTTPS)
Meilisearch 目前运行在开发环境中。您尚未设置 API 密钥,这意味着任何人都可以从您的 Meilisearch 中读取/写入数据,并且您尚未使用 HTTPS,这使得此配置对于生产环境而言是不安全的。
要开始配置过程,请通过 SSH 连接到您的新 Meilisearch 实例,并按照出现的说明进行操作。
2.1. 保护您的密钥对
打开终端窗口,导航到您保存 密钥对 的位置。它应该是一个 .pem
文件。
运行以下命令以保护您的密钥对。
chmod 400 <YourMeilisearchKeyPair>.pem
2.2. 运行配置脚本
接下来,使用 'admin' 作为用户名,通过 SSH 连接到公有 IPv4 地址或您的域名。您还需要提供您的 .pem
文件的相对路径。
ssh -i <relative-path-to-your-key-pair> admin@<your-ipv4-address>
ssh -i <relative-path-to-your-pem-file> admin@<your-domain-name>
您应该看到类似这样的内容
________________________________________________
________________________________________________
_ _ _ __ _
/\/\ ___(_) (_) _\ ___ __ _ _ __ ___| |__
/ \ / _ \ | | \ \ / _ \/ _` | '__/ __| '_ \
/ /\/\ \ __/ | | |\ \ __/ (_| | | | (__| | | |
\/ \/\___|_|_|_\__/\___|\__,_|_| \___|_| |_|
________________________________________________
________________________________________________
当询问您是否要在生产环境中使用 Meilisearch 时,输入 yes
并按 Enter
键以接受身份验证过程。
一个脚本将自动运行,询问您的设置和期望的配置。如果您想随时再次运行此脚本,可以使用以下命令
meilisearch-setup
3. 享受您即开即用的 Meilisearch 实例
您的 Meilisearch 实例已在 AWS 上启动并运行,并且已准备好在生产环境中使用。
要检查一切是否运行顺利,请再次对 /health
路由进行 HTTP 调用
curl -v https://<your-domain-name>/health
请注意,这次我们使用的是 HTTPS。
服务器应返回 200 OK
状态代码,如下例所示
...
< HTTP/1.1 200 OK
...
您已准备就绪,可以在生产环境中使用 AWS 上的 Meilisearch!如果您对我们的 AWS 镜像有任何问题,请在 此仓库 中创建一个 issue。