選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

存取您的叢集

焦點模式
存取您的叢集 - Amazon MemoryDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

您的 MemoryDB 執行個體旨在透過 Amazon EC2 執行個體存取。

您可以從相同 Amazon VPC 中的 Amazon EC2 執行個體存取 MemoryDB 節點。或者,透過使用 VPC 對等互連,您可以從不同 Amazon VPC 中的 Amazon EC2 存取 MemoryDB 節點。

授予對叢集的存取權

您只能從在相同 Amazon VPC 中執行的 Amazon EC2 執行個體連線到 MemoryDB 叢集。在此情況下,您需要授權透過網路輸入至叢集。

授權從 Amazon VPC 安全群組透過網路輸入至叢集
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/ec2/:// 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格中的網路與安全下,選擇安全群組

  3. 從安全群組的清單中,選擇要用於 Amazon VPC 的安全群組。除非您為 MemoryDB 使用建立安全群組,否則此安全群組將預設為預設

  4. 選擇 Inbound (傳入) 標籤,然後執行下列動作:

    1. 選擇編輯

    2. 選擇新增規則

    3. Type (類型) 欄中,選擇 Custom TCP rule (自訂 TCP 規則)

    4. Port range (連接埠範圍) 方塊中,輸入要用於叢集節點的連接埠號碼。此號碼必須與您啟動叢集時指定的號碼相同。Valkey 和 Redis OSS 的預設連接埠為 6379

    5. 來源方塊中,選擇具有連接埠範圍 (0.0.0.0/0) 的任意位置,以便您在 Amazon VPC 中啟動的任何 Amazon EC2 執行個體可以連接到 MemoryDB 節點。

      重要

      將 MemoryDB 叢集開啟至 0.0.0.0/0 不會將叢集公開至網際網路,因為它沒有公有 IP 地址,因此無法從 VPC 外部存取。不過,預設安全群組可能會套用到客戶帳戶中的其他 Amazon EC2 執行個體,而這些執行個體可能有公有 IP 地址。如果他們正巧在預設連接埠上執行某些項目,就可能會意外公開該服務。因此,我們建議建立僅供 MemoryDB 使用的 VPC 安全群組。如需詳細資訊,請參閱自訂安全群組

    6. 選擇 Save (儲存)。

當您在 Amazon VPC 中啟動 Amazon EC2 執行個體時,該執行個體將能夠連線至您的 MemoryDB 叢集。

從外部存取 MemoryDB 資源 AWS

MemoryDB 是一項專為 VPC 內部使用而設計的服務。由於網際網路流量和安全性考量的延遲,因此不鼓勵外部存取。不過,如果需要外部存取 MemoryDB 以進行測試或開發,可以透過 VPN 完成。

使用 AWS Client VPN,您可以允許對 MemoryDB 節點進行外部存取,其優點如下:

  • 有限存取核准的使用者或身分驗證金鑰;

  • VPN 用戶端與 AWS VPN 端點之間的加密流量;

  • 有限存取特定子網路或節點;

  • 輕鬆撤銷使用者的存取或身分驗證金鑰;

  • 稽核連線;

以下程序示範如何:

建立憑證授權機構

您可以使用不同的技術或工具來建立憑證授權單位 (CA)。我們建議由 OpenVPN 專案提供的 easy-rsa 公用程式。無論您選擇哪個選項,請確保金鑰安全無虞。下列程序會下載 easy-rsa 指令碼、建立憑證授權單位和金鑰來驗證第一個 VPN 用戶端:

  • 若要建立初始憑證,請開啟終端機並執行下列動作:

    • git clone https://github.com/OpenVPN/easy-rsa

    • cd easy-rsa

    • ./easyrsa3/easyrsa init-pki

    • ./easyrsa3/easyrsa build-ca nopass

    • ./easyrsa3/easyrsa build-server-full server nopass

    • ./easyrsa3/easyrsa build-client-full client1.domain.tld nopass

    包含憑證的 pki 子目錄將建立於 easy-rsa 下。

  • 將伺服器憑證提交至 AWS Certificate Manager (ACM):

    • 在 ACM 主控台上,選取 Certificate Manager

    • 選取 Import certificate (匯入憑證)

    • Certificate body (憑證內文) 欄位裡輸入 easy-rsa/pki/issued/server.crt 檔案中可用的公有金鑰憑證。

    • Certificate private key (憑證私有金鑰) 欄位裡貼上 easy-rsa/pki/private/server.key 中可用的私有金鑰。請確定選取 BEGIN AND END PRIVATE KEY 之間的所有直線 (包括 BEGINEND 直線)。

    • Certificate chain (憑證鏈) 欄位中貼上 easy-rsa/pki/ca.crt 檔案中可用的 CA 公有金鑰。

    • 選取 Review and import (檢閱和匯入)

    • 選取 Import (匯入)

    若要使用 CLI AWS 將伺服器的憑證提交至 ACM,請執行下列命令: aws acm import-certificate --certificate fileb://easy-rsa/pki/issued/server.crt --private-key file://easy-rsa/pki/private/server.key --certificate-chain file://easy-rsa/pki/ca.crt --region region

    請注意憑證 ARN 以供日後使用。

設定 AWS 用戶端 VPN 元件

使用 AWS 主控台

在 AWS 主控台上,選取服務,然後選取 VPC

Virtual Private Network (虛擬私有網路) 下,選取 Client VPN Endpoints (客戶端 VPN 端點),然後執行下列動作:

設定 AWS Client VPN 元件

  • 選取 Create Client VPN Endpoint (建立客戶端 VPN 端點)

  • 指定下列選項:

    • Client IPv4 CIDR (客戶端 IPv4 CIDR):使用具有至少 /22 範圍網路遮罩的私有網路。請確定選取的子網路不會與 VPC 網路的位址衝突。範例:10.0.0.0/22.

    • Server certificate ARN (伺服器憑證 ARN) 中,選取先前匯入的憑證 ARN。

    • 選取 Use mutual authentication (使用交互身分驗證)

    • Client certificate ARN (用戶端憑證 ARN) 中,選取先前匯入之憑證的 ARN。

    • 選取 Create Client VPN Endpoint (建立客戶端 VPN 端點)

使用 AWS CLI

執行以下命令:

aws ec2 create-client-vpn-endpoint --client-cidr-block "10.0.0.0/22" --server-certificate-arn arn:aws:acm:us-east-1:012345678912:certificate/0123abcd-ab12-01a0-123a-123456abcdef --authentication-options Type=certificate-authentication,,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:012345678912:certificate/123abcd-ab12-01a0-123a-123456abcdef} --connection-log-options Enabled=false

輸出範例:

"ClientVpnEndpointId": "cvpn-endpoint-0123456789abcdefg", "Status": { "Code": "pending-associate" }, "DnsName": "cvpn-endpoint-0123456789abcdefg.prod.clientvpn.us-east-1.amazonaws.com" }

將目標網路與 VPN 端點建立關聯

  • 選取新的 VPN 端點,然後選取 Associations (關聯) 標籤。

  • 選取 Associations (關聯) 並指定下列選項。

    • VPC:選取 MemoryDB 叢集的 VPC。

    • 選取其中一個 MemoryDB 叢集的網路。如有疑問,請檢閱 MemoryDB 儀表板上子網路群組中的網路。

    • 選取 Associations (關聯)。如有必要,請針對剩餘的網路重複這些步驟。

使用 AWS CLI

執行以下命令:

aws ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --subnet-id subnet-0123456789abdcdef

輸出範例:

"Status": { "Code": "associating" }, "AssociationId": "cvpn-assoc-0123456789abdcdef" }

檢閱 VPN 安全性群組

VPN 端點會自動採用 VPC 的預設安全群組。檢查傳入和傳出規則,並確認安全群組是否允許從 VPN 網路 (在 VPN 端點設定上定義) 到服務連接埠上 MemoryDB 網路的流量 (預設為 6379 for Redis)。

如果您需要變更指派給 VPN 端點的安全群組,請依照下列步驟進行:

  • 選取目前安全群組。

  • 選取 Apply Security Group (套用安全群組)

  • 選取新的安全群組。

使用 AWS CLI

執行以下命令:

aws ec2 apply-security-groups-to-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefga  --vpc-id vpc-0123456789abdcdef --security-group-ids sg-0123456789abdcdef

輸出範例:

"SecurityGroupIds": [ "sg-0123456789abdcdef" ] }

注意

MemoryDB 安全群組也需要允許來自 VPN 用戶端的流量。根據 VPC 網路,用戶端的位址將以 VPN 端點位址遮蔽。因此,在 MemoryDB 安全群組上建立傳入規則時,請考慮 VPC 網路 (而非 VPN 用戶端的網路)。

授權目標網路的 VPN 存取

Authorization (授權) 標籤上,選取 Authorize Ingress (授權輸入) 並指定下列項目:

  • 啟用存取的目的地網路:使用 0.0.0.0/0 以允許存取任何網路 (包括網際網路) 或限制 MemoryDB 網路/主機。

  • Grant access to: (授予存取:) 下,選取 Allow access to all users (允許存取所有使用者)

  • 選取 Add Authorization Rules (新增授權規則)

使用 AWS CLI

執行以下命令:

aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --target-network-cidr 0.0.0.0/0 --authorize-all-groups

輸出範例:

{ "Status": { "Code": "authorizing" } }

允許從 VPN 用戶端存取網際網路

如果您需要透過 VPN 瀏覽網際網路,則需要建立額外的路由。選取 Route Table (路由表) 標籤,然後選取 Create Route (建立路由)

  • 路由目標:0.0.0.0/0

  • Target VPC Subnet ID (目標 VPC 子網路 ID):選取其中一個可存取網際網路的相關子網路。

  • 選取 Create Route (建立路由)

使用 AWS CLI

執行以下命令:

aws ec2 create-client-vpn-route --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --destination-cidr-block 0.0.0.0/0 --target-vpc-subnet-id subnet-0123456789abdcdef

輸出範例:

{ "Status": { "Code": "creating" } }

設定 VPN 用戶端

在 AWS Client VPN Dashboard 上,選取最近建立的 VPN 端點,然後選取下載用戶端組態。複製組態檔案,以及檔案 easy-rsa/pki/issued/client1.domain.tld.crteasy-rsa/pki/private/client1.domain.tld.key。編輯組態檔案,並變更或新增下列參數:

  • 憑證:新增一個指向 client1.domain.tld.crt 檔案的參數憑證的新行。使用檔案的完整路徑。範例:cert /home/user/.cert/client1.domain.tld.crt

  • 憑證:金鑰:新增一個指向 client1.domain.tld.key 檔案的參數金鑰的新行。使用檔案的完整路徑。範例:key /home/user/.cert/client1.domain.tld.key

使用下列命令建立 VPN 連接:sudo openvpn --config downloaded-client-config.ovpn

撤銷存取

如果您需要讓來自特定客戶端金鑰的存取失效,則需要在 CA 中撤銷該金鑰。然後將撤銷清單提交至 AWS Client VPN。

用 easy-rsa 撤銷密鑰:

  • cd easy-rsa

  • ./easyrsa3/easyrsa revoke client1.domain.tld

  • 輸入「是」以繼續,或輸入任何其他輸入以中止。

    Continue with revocation: `yes` ... * `./easyrsa3/easyrsa gen-crl

  • 已建立更新的 CRL。CRL 檔案:/home/user/easy-rsa/pki/crl.pem

將撤銷清單匯入 AWS Client VPN:

  • 在 上 AWS Management Console,選取服務,然後選取 VPC

  • 選取 Client VPN Endpoints (用戶端 VPN 端點)

  • 選取用戶端 VPN 端點,然後選取 Actions (動作) -> Import Client Certificate CRL (匯入用戶端憑證 CRL)

  • 貼上 crl.pem 檔案的內容:

使用 AWS CLI

執行以下命令:

aws ec2 import-client-vpn-client-certificate-revocation-list --certificate-revocation-list file://./easy-rsa/pki/crl.pem --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg

輸出範例:

Example output: { "Return": true }

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。