開始使用 AWS PrivateLink - Amazon Virtual Private Cloud

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

開始使用 AWS PrivateLink

本教學課程示範如何使用將私有子網路中的 EC2 執行個體傳送請求至 CloudWatch Amazon AWS PrivateLink。

下圖提供此情況如何運作的概觀。若要從電腦連線到私有子網路中的執行個體,您必須先連線到公有子網路中的堡壘主機。堡壘主機和執行個體都必須使用相同的金鑰對。由於私密金鑰的 .pem 檔案位於您的電腦,而不是堡壘主機上,因此您將使用 SSH 金鑰轉送。然後,您可以從堡壘主機連線至執行個體,而無需在 ssh 命令中指定 .pem 檔案。在您為其設定 VPC 端點之後 CloudWatch,來自目的地執行個體的流量會解析 CloudWatch 為端點網路介面,然後 CloudWatch 使用 VPC 端點傳送至。

私有子網路中的執行個體 CloudWatch 使用 VPC 端點存取。

針對測試目的,您可以使用單一可用區域。在生產環境中,建議您使用至少兩個可用區域以獲得低延遲和高可用性。

步驟 1:建立包含子網路的 VPC

按照以下程序建立包含公有子網路和私有子網路的 VPC。

若要建立 VPC
  1. 前往 https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 選擇建立 VPC

  3. 針對 Resources to create (建立資源),選擇 VPC and more (VPC 等)。

  4. 針對自動產生名稱標籤,輸入 VPC 的名稱。

  5. 若要設定子網路,請執行下列動作:

    1. 對於 Number of Availability Zones (可用區域數量),請根據您的需求選擇 12

    2. 針對 Number of public subnets (公用子網路數量),請確定每個可用區域有一個公用子網路。

    3. 針對 Number of private subnets (私有子網路數量),請確定每個可用區域有一個私有子網路。

  6. 選擇建立 VPC

步驟 2:啟動執行個體

使用您在上一個步驟中建立的 VPC,在公有子網路中啟動堡壘主機,並在私有子網路中啟動執行個體。

必要條件
  • 使用 .pem 格式建立金鑰對。啟動堡壘主機和執行個體時,您必須選擇此金鑰對。

  • 為堡壘主機建立安全群組,以允許來自您電腦 CIDR 區塊的傳入 SSH 流量。

  • 為執行個體建立安全群組,以允許來自您堡壘主機安全群組的傳入 SSH 流量。

  • 建立 IAM 執行個體設定檔並附加CloudWatchReadOnly存取政策。

啟動堡壘主機
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 選擇啟動執行個體

  3. 針對 Name (名稱),輸入堡壘主機的名稱。

  4. 保留預設映像和執行個體類型。

  5. 針對 Key pair (金鑰對),選擇您的金鑰對。

  6. 針對 Network settings (網路設定),執行下列操作:

    1. VPC 中,選擇您的 VPC。

    2. 針對 Subnet (子網路),選擇公有子網路。

    3. Auto-assign public IP (自動指派公有 IP) 中,選擇 Enable (啟用)。

    4. 對於 Firewall (防火牆),請選擇 Select existing security group (選取現有的安全群組),然後選擇堡壘主機的安全群組。

  7. 選擇啟動執行個體

啟動執行個體
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 選擇啟動執行個體

  3. 對於 Name (名稱),請輸入執行個體名稱。

  4. 保留預設映像和執行個體類型。

  5. 針對 Key pair (金鑰對),選擇您的金鑰對。

  6. 針對 Network settings (網路設定),執行下列操作:

    1. VPC 中,選擇您的 VPC。

    2. 針對 Subnet (子網路),選擇私有子網路。

    3. 針對 Auto-assign public IP (自動指派公有 IP) 中,選擇 Disable (停用)。

    4. 對於 Firewall (防火牆),請選擇 Select existing security group (選取現有的安全群組),然後選擇執行個體的安全群組。

  7. 展開 Advanced Details (進階詳細資訊)。在 IAM instance profile (IAM 執行個體設定檔) 中,選擇您的 IAM 執行個體設定檔。

  8. 選擇啟動執行個體

步驟 3:測試 CloudWatch 存取

請使用下列程序來確認執行個體無法存取 CloudWatch。您將使用的唯讀 AWS CLI 命令來執行此操作 CloudWatch。

若要測試 CloudWatch 存取
  1. 從您的電腦中,使用下列命令將金鑰對新增至 SSH 代理程式,其中 key.pem 是 .pem 檔案的名稱。

    ssh-add ./key.pem

    如果您收到金鑰對權限過於開放的錯誤訊息,請執行下列命令,然後重試上一個命令。

    chmod 400 ./key.pem
  2. 從您的電腦連接至堡壘主機。您必須指定 -A 選項、執行個體使用者名稱 (例如 ec2-user) 和堡壘主機的公用 IP 地址。

    ssh -A ec2-user@bastion-public-ip-address
  3. 從堡壘主機連接至執行個體。您必須指定執行個體使用者名稱 (例如 ec2-user) 和執行個體的私有 IP 地址。

    ssh ec2-user@instance-private-ip-address
  4. 在執行個 CloudWatch 體上執行清單公制指令,如下所示。針對 --region 選項,請指定您建立 VPC 的「區域」。

    aws cloudwatch list-metrics --namespace AWS/EC2 --region us-east-1
  5. 命令會在幾分鐘後逾時。這表明您無法使用目前的 VPC 組態 CloudWatch 從執行個體存取。

    Connect timeout on endpoint URL: https://monitoring.us-east-1.amazonaws.com/
  6. 與您的執行個體保持連線。建立 VPC 端點後,您將再次嘗試此 list-metrics 命令。

步驟 4:建立要存取的 VPC 端點 CloudWatch

使用下列程序建立連線到的 VPC 端點。 CloudWatch

先決條件

為允許流量傳輸的 VPC 端點建立安全群組。 CloudWatch例如,新增規則,允許來自 VPC CIDR 區塊的 HTTPS 流量。

若要為以下項目建立 VPC 端點 CloudWatch
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中選擇 Endpoints (端點)

  3. 選擇建立端點

  4. Name tag (名稱標籤) 中,輸入端點的名稱。

  5. 對於 Service category (服務類別),選擇 AWS 服務

  6. 針對 Service (服務),請選取 com.amazonaws.region.monitoring

  7. 針對 VPC,選取您的 VPC。

  8. 針對 Subnets (子網路),請選取可用區域,然後選取私有子網路。

  9. 針對 Security group (安全群組),請選取 VPC 端點的安全群組。

  10. 對於 Policy (政策),選取 Full access (完整存取),以允許 VPC 端點上所有資源的所有主體進行所有操作。

  11. (選用) 若要新增標籤,請選擇 Add new tag (新增標籤),然後輸入標籤的鍵和值。

  12. 選擇建立端點。初始狀態為 Pending (等待中)。在進行下一個步驟之前,請先等待狀態變為 Available (可用)。這可能需要幾分鐘的時間。

步驟 5:測試 VPC 端點

確認 VPC 端點正在將要求從您的執行個體傳送到 CloudWatch。

若要測試 VPC 端點

在執行個體上執行以下命令。針對 --region 選項,請指定您建立 VPC 端點的區域。

aws cloudwatch list-metrics --namespace AWS/EC2 --region us-east-1

如果你得到一個響應,即使是空結果的響應,那麼你連接到 CloudWatch 使用 AWS PrivateLink.

如果出UnauthorizedOperation現錯誤,請確保執行個體具有允許存取的 IAM 角色 CloudWatch。

如果請求逾時,請確認下列事項:

  • 端點的安全性群組允許流量到達 CloudWatch。

  • --region 選項可指定您在其中建立 VPC 端點的區域。

步驟 6:清除

如果您不再需要針對此教學課程建立的堡壘主機和執行個體,則可以將其終止。

終止執行個體
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇執行個體

  3. 選取兩個測試執行個體,然後選取 Instance state (執行個體狀態)、Terminate instance (終止執行個體)。

  4. 出現確認提示時,請選擇終止

如果您不再需要該 VPC 端點,可以將其刪除。

刪除 VPC 端點。
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中選擇 Endpoints (端點)

  3. 選取 VPC 端點。

  4. 選擇 Actions (動作)、Delete VPC endpoints (刪除 VPC 端點)。

  5. 出現確認提示時,請輸入 delete,然後選擇 Delete (刪除)。