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

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

    以下指南将引导您完成在 AWS EC2 实例中部署 Meilisearch 的每个步骤。 如果您的 AWS 镜像有任何问题,请在此存储库中创建一个 issue。

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

    第一部分:部署开箱即用的 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

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

    Meilisearch local preview allowing users to search an example dataset

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

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

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

    当然,尽情享受吧!

    第二部分:配置生产设置

    在生产环境中配置 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”作为用户名,通过 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 镜像有任何问题,请在此存储库中创建一个问题。