我想在沒有網際網路連線的情況下,在 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 端點
請完成下列步驟:
-
開啟 Amazon EC2 console (Amazon EC2 主控台)。
-
選取您的執行個體。
-
選擇 Networking (網路) 索引標籤,然後記下 VPC ID 和子網路 ID 值。
-
開啟 Amazon VPC console (Amazon VPC 主控台)。
-
選擇 Subnets (子網路),然後選取您的子網路 ID。
-
選擇 Route table (路由表) 索引標籤,然後記下路由表 ID 值。
-
選擇 Endpoints (端點),然後選擇 Create endpoint (建立端點)。
-
若要建立閘道端點,請設定以下設定:
在 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/* 儲存貯體託管儲存庫。
-
選擇 Create endpoint (建立端點)。
建立 VPC 端點後,您可以在 Amazon Linux 執行個體中安裝和更新套件。
相關資訊
為什麼我在執行 Amazon Linux 1、Amazon Linux 2 或 Amazon Linux 2023 的 EC2 執行個體上使用 yum 時,會收到錯誤訊息?
Amazon S3 的閘道端點