跳至內容

如何在沒有網際網路存取的情況下,在執行 Amazon Linux 的 EC2 執行個體上更新 yum 或安裝軟體套件?

2 分的閱讀內容
0

我想在沒有網際網路連線的情況下,在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上更新 yum 或安裝套件。該執行個體執行 Amazon Linux 2 (AL2) 或 Amazon Linux 2023 (AL2023)。

簡短描述

Amazon Linux 儲存庫託管在 Amazon Simple Storage Service (Amazon S3) 儲存貯體中。若要在沒有網際網路連線的情況下,在執行個體上更新和安裝套件,請為 Amazon S3 建立 Amazon Virtual Private Cloud (Amazon VPC) 閘道端點。在 VPC 端點中包含允許存取儲存庫儲存貯體的政策。然後,將 VPC 端點與執行個體子網路的路由表建立關聯。

**注意:**若要啟動第三方儲存庫 (例如 Extra Packages for Enterprise Linux (EPEL)),您的執行個體必須透過下列其中一種裝置存取網際網路:

解決方法

查看組態

確認附加到執行個體的安全群組允許傳出 HTTP 和 HTTPS 流量。附加到 Amazon S3 之 VPC 端點的安全群組必須允許來自執行個體子網路的傳入 HTTP 流量。

另外,查看與執行個體子網路關聯的網路存取控制清單 (網路 ACL)。網路 ACL 必須允許連接埠 80 (HTTP) 和 443 (HTTPS) 上的傳出流量流向您 Amazon S3 服務的 AWS 區域。網路 ACL 也必須允許來自 Amazon S3 服務區域的臨時 TCP 連接埠 (1024-65535) 上的傳入流量。Amazon S3 服務的區域是 Amazon S3 服務的公有 IP 位址 CIDR。您無法在網路 ACL 中使用前置詞清單。請改用 0.0.0.0/0 將 Amazon S3 CIDR 新增至您的網路 ACL。您也可以在網路 ACL 中使用實際的 Amazon S3 CIDR。但是,Amazon S3 CIDR 可能會發生變化。

建立 VPC 端點

請完成下列步驟:

  1. 開啟 Amazon EC2 console (Amazon EC2 主控台)。

  2. 選取您的執行個體。

  3. 選擇 Networking (網路) 索引標籤,然後記下 VPC ID子網路 ID 值。

  4. 開啟 Amazon VPC console (Amazon VPC 主控台)。

  5. 選擇 Subnets (子網路),然後選取您的子網路 ID。

  6. 選擇 Route table (路由表) 索引標籤,然後記下路由表 ID 值。

  7. 選擇 Endpoints (端點),然後選擇 Create endpoint (建立端點)。

  8. 若要建立閘道端點,請設定以下設定:
    Region (區域) 中,選取您要建立端點的區域代碼。例如,若要在 us-east-1 中建立端點,請選取 com.amazonaws.us-east-1.s3
    VPC 中,選取您執行個體的 VPC ID。
    Configure route tables (設定路由表) 中,選取您執行個體的路由表 ID。
    Policy (政策) 中,選擇 Full Access (完整存取權),以允許完整存取 Amazon S3。如果您選擇 Custom (自訂),則必須允許在 Amazon Linux 儲存庫儲存貯體上進行 s3:GetObject API 呼叫。
    **注意:**在下列政策範例中,將 us-east-1 替換為您的端點區域。
    AL2023:

    {  "Statement": [
        {
          "Principal": "*",
          "Action": [
            "s3:GetObject"
          ],
          "Effect": "Allow",
          "Resource": [
            "arn:aws:s3:::al2023-repos-us-east-1-de612dc2/*"
          ]
        }
      ]
    }

    AL2:

    {  "Statement": [
        {
          "Principal": "*",
          "Action": [
            "s3:GetObject"
          ],
          "Effect": "Allow",
          "Resource": [
            "arn:aws:s3:::amazonlinux.us-east-1.amazonaws.com/*",
            "arn:aws:s3:::amazonlinux-2-repos-us-east-1/*"
          ]
        }
      ]
    }

    **注意:**在上述 AL2 政策中,arn:aws:s3:::amazonlinux.us-east-1.amazonaws.com/*arn:aws:s3:::amazonlinux-2-repos-us-east-1/* 儲存貯體託管儲存庫。

  9. 選擇 Create endpoint (建立端點)。

建立 VPC 端點後,您可以在 Amazon Linux 執行個體中安裝和更新套件。

相關資訊

為什麼我在執行 Amazon Linux 1、Amazon Linux 2 或 Amazon Linux 2023 的 EC2 執行個體上使用 yum 時,會收到錯誤訊息?

Amazon S3 的閘道端點

AWS 官方已更新 1 年前