在 Amazon Web Services (AWS) 上部署 Meilisearch 執行個體

    使用我們的 Meilisearch AMI,Meilisearch 可以在幾分鐘內部署在 AWS 上。

    以下指南將逐步引導您在 AWS EC2 執行個體中部署 Meilisearch 的每個步驟。如果您在使用我們的 AWS 映像時遇到任何問題,請在此儲存庫中建立問題。

    請參閱 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

    一旦「執行個體狀態」為「執行中」,請使用您的網頁瀏覽器導覽至您的 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」作為使用者名稱,以公用 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 映像有任何問題,請在這個儲存庫中建立一個問題。