在 Amazon Web Services (AWS) 上部署 Meilisearch 实例

    使用我们的 **Meilisearch AMI**,Meilisearch 可以在几分钟内部署到 AWS 上。

    以下指南将引导您完成在 AWS EC2 实例中部署 Meilisearch 的每个步骤。如果您在使用我们的 AWS 镜像时遇到任何问题,请在此仓库中创建问题:此仓库

    请参阅 AWS 的文档,了解有关创建和配置实例的更多信息。

    第 1 部分:部署开箱即用的 Meilisearch 实例

    1. 从 AWS 控制台启动实例

    登录到您的 AWS 控制台后,导航到“计算”服务。然后转到“EC2”,最后打开“实例”控制台。

    Page titled 'Instances'. Text in center of screen: You do not have any instances in this region

    在右上角,点击“启动实例”按钮以开始配置 Meilisearch 实例的过程。

    2. 从“社区 AMI”中选择“Meilisearch”AMI

    现在,您将选择哪个 AMI 或系统镜像来运行您的实例。在搜索栏中键入 meilisearch,然后选择左侧边栏上的“社区 AMI”选项卡。Meilisearch 的所有者 ID 为 567502172578。

    Page titled: 'Step 1: Choose an Amazon Machine Image (AMI)'

    点击“选择”(屏幕右侧)以确认您的选择。

    3. 大小和规格

    选择您希望 Meilisearch 运行的服务器的规格。

    Page titled: 'Step 2: Choose an Instance Type'. Selecting the free tier eligible instance type

    我们建议优先分配内存,以获得更好的 Meilisearch 性能。

    提示

    免费套餐足以进行测试或原型设计,但不建议用于大型数据集。

    完成选择后,点击“下一步:配置实例详细信息”继续。

    4. 实例详细信息

    在这里,您可以指定 实例的详细信息。由于 **运行 Meilisearch 不需要此部分**,因此本指南中不会介绍它。

    Page titled 'Step 3: Configure Instance Details'. Important: You can launch multiple instances from the same AMI, request Spot instances to take advantage of lower pricing, and assign access management role to the instance.

    点击“下一步:添加存储”继续。

    5. 存储

    为您的 Meilisearch 实例选择存储 **设备** 和 **大小**。

    Page titled 'Step 4: Add Storage'. Text at bottom of screen: Free tier eligible users can get up to 30GB of EBS General Purpose (SSD) or Magnetic storage.

    所需的存储空间可以根据您计划索引的数据 发生巨大变化。在本示例中,我们将使用 25 GiB,这对于大多数小型数据集(< 100 万个文档)来说绰绰有余。我们将“卷类型”设置为“通用型 SSD (gp2)”。

    准备就绪后,点击“下一步:添加标签”继续。

    6. 标签

    标签用于在 AWS 中识别您的资源。**Meilisearch 不需要它们**。

    Page titled 'Step 5: Add Tags'. Text in center of screen: Make sure your IAM policy includes permissions to create tags.

    点击“下一步:配置安全组”。

    7. 安全组:网络和连接

    为了让您的 Meilisearch 实例与外部世界通信,允许 SSH 连接、HTTP 和 HTTPS 流量非常重要。

    Page titled 'Step 6: Configure Security group'. Warning: Rules with sources of 0.0.0.0/0 allow all IP addresses to access your instance. We recommend setting security group rules to allow access from known IP addresses only.

    默认情况下,打开的端口接受来自任何来源的入站流量。如果您希望限制允许请求您的 Meilisearch 实例的 IP 地址,请转到“源”列并选择“自定义”选项。“源”默认设置为“任何位置”。

    您也可以 **使用现有的安全组**,如果需要。

    配置完成后,请点击“查看并启动”。

    8. 设置并下载密钥对

    在您查看了实例配置后,在启动实例之前还有一个最后一步。

    点击“启动”,然后会弹出一个窗口,要求您选择一个 **密钥对**。此密钥对非常重要,因为它将是您通过 SSH 访问实例的私钥,这对于 在生产环境中配置您的 Meilisearch 实例 是必需的。

    A popup titled: "Select an existing key pair or create a new key pair". Inside the popup, there is a form that allows you to configure key pairs. It also contains a warning: "Download and store your private key file in a secure accessible location. You cannot download it again once it has been created"

    如果您已拥有现有的密钥对,则可以使用它。否则,请选择“创建新的密钥对”选项并为其命名。然后,点击“下载密钥对”并将此文件存储在安全的地方。

    下载密钥对后(且仅在此之后),点击“启动实例”,然后点击“查看实例”。

    9. 尽情享受在 AWS 上运行的 Meilisearch 实例吧!

    您的实例可能需要一两分钟才能启动并运行(请参阅“实例状态”列)。

    AWS dashboard showing an active instance

    一旦“实例状态”变为“运行中”,请使用您的网络浏览器导航到 AWS 实例仪表板中显示的“公共 IPv4 地址”或“公共 IPv4 DNS”。您应该会看到 Meilisearch 的搜索预览

    Meilisearch search preview allowing users to search an example dataset

    您的 Meilisearch 实例现在可以使用了!

    请记住,您的 Meilisearch 实例目前在开发环境中运行,这对于生产使用是不安全的。如果您想设置生产环境,请继续到下一节

    否则,如果您想开始创建索引和添加文档,请随时查看我们的入门指南API 参考

    当然,享受

    第 2 部分:配置生产设置

    在生产环境中配置 Meilisearch 实例并非仅仅是简单明了——它是完全自动化的。只需与您的实例建立 SSH 连接,脚本将引导您完成整个过程。

    1. 将您的域名指向您的实例 IP

    如果您想使用您自己的域名(或子域名),请在您的域名提供商帐户中添加一个A 记录。否则,您可以跳过此步骤

    An interface for editing DNS records with "Type": A, "Name": my-aws-instance, "IPv4 address": 35.180.61.104, and "TTL": Auto

    您的域名现在应该已链接到您的 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”作为用户名,使用公共 IPv4 地址您的域名启动新的 SSH 连接。您还需要提供.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 镜像有任何问题,请在此存储库中创建一个问题。