什麼是 Amazon S3 on Outposts?
AWS Outposts 是全受管服務,提供相同的 AWS 基礎設施、AWS 服務、API 和幾乎所有的資料中心的工具、主機代管空間或內部部署設施,以獲得真正一致的混合體驗。AWS Outposts 非常適合需要低延遲存取內部部署系統、本地資料處理、數據落地和具有本地系統相互依賴性的應用程式遷移的工作負載。如需詳細資訊,請參閱《AWS Outposts 使用者指南》中的什麼是 AWS Outposts?。
使用 Amazon S3 on Outposts,您可以在 Outposts 上建立 S3 儲存貯體並輕鬆存放和擷取內部部署物件。S3 on Outposts 提供一個全新的儲存類別,即 OUTPOSTS
,使用 Amazon S3 API,目的是在您的 Outposts 上的多個裝置和伺服器上以持久、備援的方式存放資料。您可以使用存取點和透過虛擬私有雲端 (VPC) 的端點連線,與您的 Outposts 儲存貯體進行通訊。
就像在 Amazon S3 一樣,您在 Outpost 儲存貯體上可以使用同樣的 API 和功能,包括存取政策、加密和標記。您可以透過 AWS Management Console、AWS Command Line Interface (AWS CLI)、AWS SDK 或 REST API 使用 S3 on Outposts。
S3 on Outposts 如何工作
S3 on Outposts 是將資料當做物件存放在您的 Outpost 儲存貯體中的物件儲存服務。物件是一個資料檔案和任何描述該檔案的中繼資料。儲存貯體是物件的容器。
若要將資料存放在 S3 on Outposts 中,您首先要建立儲存貯體。建立儲存貯體時,您需要指定儲存貯體名稱和將保存儲存貯體的 Outpost。若要存取 S3 on SOutposts 儲存貯體並執行物件操作,接下來需要建立並設定一個存取點。您還必須建立端點,以將請求路由到存取點。
存取点可簡化在 S3 中存放資料的任何 AWS 服務或客戶應用程式的資料存取。存取點為連接到儲存貯體的指定網路端點,這些端點可用於執行物件操作,例如 GetObject
和 PutObject
。每個存取點都有不同的許可和網路控制。
您可以使用 AWS Management Console、AWS CLI、AWS SDK 或 REST API 來建立和管理 S3 on Outposts 儲存貯體、存取點和端點。若要上傳和管理 S3 on Outposts 儲存貯體中的物件,您可以使用 AWS CLI、AWS SDK 或 REST API。
區域
在 AWS Outposts 佈建期間,您或 AWS 建立一個服務鏈接,將您的 Outpost 連回您選擇的 AWS 區域 或儲存貯體操作和遙測的 Outposts 主區域。Outpost 依賴於與父節點之間的連接 AWS 區域。Outposts 機架不適用於斷開連接的操作或連接受限制的環境。如需詳細資訊,請參閱《AWS Outposts 使用者指南》中的Outpost 連線 AWS 區域。
儲存貯體
儲存貯體是 S3 on Outposts 中用於存放物件的容器。您可以在儲存貯體中存放任意數目的物件,並且每個 Outpost 中的每個帳戶最多可有 100 個儲存貯體。
建立儲存貯體時,請輸入儲存貯體名稱並選擇儲存貯體將駐留的 Outpost。建立儲存貯體後,便無法變更儲存貯體名稱或移動儲存貯體到不同 Outpost。儲存貯體名稱必須遵循Amazon S3 儲存貯體命名規則。在 S3 on Outposts 中,儲存貯體名稱對 Outposts 和 AWS 帳戶 來說是獨一無二的。S3 on Outposts 儲存貯體需要 outpost-id
、account-id
和儲存貯體名稱來識別。
下列範例顯示了 S3 on Outposts 儲存貯體 的 Amazon Resource Name (ARN) 格式。ARN 由您的 Outpost 所在區域、您的 Outpost 帳戶、Outpost ID 和儲存貯體名稱組成。
arn:aws:s3-outposts:
region
:account-id
:outpost/outpost-id
/bucket/bucket-name
每個物件都包含在儲存貯體中。您必須使用存取點來存取 Outposts 儲存貯體中的任何物件。針對物件操作指定儲存貯體時,您可以使用存取點 ARN 或存取點別名。如需存取點別名的詳細資訊,請參閱 針對您的 S3 on Outposts 儲存貯體存取點使用儲存貯體樣式別名。
下列範例顯示了 S3 on Outposts 的存取點 ARN 格式,其中包含了 outpost-id
、account-id
和存取點名稱:
arn:aws:s3-outposts:
region
:account-id
:outpost/outpost-id
/accesspoint/accesspoint-name
如需儲存貯體的詳細資訊,請參閱使用 S3 on Outposts 儲存貯體。
物件
物件是存放在 S3 on Outposts 中的基本實體。物件是由物件資料與中繼資料構成。中繼資料是一組成對的名稱與數值,會說明該物件。其中包含一些預設中繼資料 (如上次修改日期) 以及標準 HTTP 中繼資料 (如 Content-Type
)。您也可以在存放物件時指定自訂中繼資料。在儲存貯體中,每個物件都是由金鑰 (名稱) 來唯一識別。
對於 Amazon S3 on Outposts,物件資料始終存放在 Outpost 上。當 AWS 安裝 Outpost 機架時,您的資料將保留在本機 Outpost 上,以滿足資料落地的要求。您的物件永遠不會離開您的 Outpost,也不會在 AWS 區域 中。由於 AWS Management Console 託管在區域內,您無法使用主控台上傳或管理 Outpost 中的物件。然而,您可以使用 REST API、AWS Command Line Interface (AWS CLI) 以及 AWS SDK 透過存取點上傳和管理您的物件。
金鑰
物件金鑰 (或金鑰名稱) 是儲存貯體內的物件的唯一識別碼。儲存貯體中的每個物件只能有一個金鑰。儲存貯體和物件金鑰的組合唯一識別每個物件。
以下範例顯示了 S3 on Outposts 物件的 ARN 格式,其中包括 Outpost AWS 區域 程式碼所在的區域、AWS 帳戶 ID、Outposts ID、儲存貯體名稱和物件金鑰:
arn:aws:s3-outposts:
us-west-2
:123456789012
:outpost/op-01ac5d28a6a232904
/bucket/
amzn-s3-demo-bucket1
/object/myobject
如需物件金鑰的詳細資訊,請參閱使用 S3 on Outposts 物件。
S3 版本控制
您可以在 Outposts 上使用 S3 版本控制,以在相同的儲存貯體中保留物件的多個變體。使用 S3 版本控制功能,您即可保留、擷取和還原在儲存貯體中所存放每個物件的各個版本。S3 版本控制可協助您從意外的使用者動作和應用程式失敗中復原。
如需詳細資訊,請參閱針對您的 S3 on Outposts 儲存貯體管理 S3 版本控制。
版本 ID
當您在儲存貯體中啟用 S3 版本控制時,S3 on Outposts 會針對每個新增至儲存貯體的物件產生唯一的版本 ID。啟用版本控制時已存在於儲存貯體中的物件的版本 ID 為 null
。如果您使用其他操作修改這些 (或任何其他) 物件,例如 PutObject,新物件會取得唯一的版本 ID。
如需詳細資訊,請參閱針對您的 S3 on Outposts 儲存貯體管理 S3 版本控制。
儲存類別和加密
S3 on Outposts 提供新的儲存類別 S3 Outposts (OUTPOSTS
)。S3 Outposts 儲存方案適用於只存放在 AWS Outposts 儲存貯體中的物件。如果您嘗試與 S3 on Outposts 一起使用其他 S3 儲存方案,S3 on Outposts 會返回 InvalidStorageClass
錯誤。
根據預設,物件存放在 S3 Outposts (OUTPOSTS
) 儲存體方案中的物件一律使用伺服器端加密與 Amazon S3 受管加密金鑰 (SSE-S3) 進行加密。如需詳細資訊,請參閱S3 on Outposts 中的資料加密。
儲存貯體政策
儲存貯體政策是以資源為基礎的 AWS Identity and Access Management (IAM) 政策,您可以使用這些政策來將存取許可授予儲存貯體及其中物件。只有儲存貯體擁有者可建立政策與儲存貯體的關聯。連接到儲存貯體的許可會套用至儲存貯體擁有者帳戶擁有的所有儲存貯體物件。儲存貯體政策的大小限制為 20 KB。
儲存貯體政策使用 AWS 標準的以 JSON 為基礎的 IAM 政策語言。您可以使用儲存貯體政策來新增或拒絕儲存貯體中物件的許可。儲存貯體政策允許或拒絕請求以政策中的元素為基礎。這些元素可以包括請求的申請者、S3 on Outposts 動作、資源以及其他方面或條件 (例如,用來傳送要求的 IP 地址)。例如,您可以建立儲存貯體政策,授予跨帳戶許可,以將物件上傳至 S3 on Outposts 儲存貯體,同時確保儲存貯體擁有者可完全控制上傳物件。
在儲存貯體政策中,您可以使用 ARN 格式的萬用字元 (*
) 和其他值將許可授予物件子集。例如,您可以控制對以常用字首開頭或以給定的副檔名結束的一組物件存取權,例如 .html
。
S3 on Outposts 存取點
S3 on Outposts 存取點是含有專用存取政策的命名網路端點,其中說明了如何使用該端點存取資料。存取點針對 S3 on Outposts 中的共用資料集,簡化了對大規模資料存取的管理。存取點為連接到儲存貯體,您可以使用這些端點來執行 S3 物件操作,例如 GetObject
和 PutObject
。
針對物件操作指定儲存貯體時,您可以使用存取點 ARN 或存取點別名。如需存取點別名的詳細資訊,請參閱 針對您的 S3 on Outposts 儲存貯體存取點使用儲存貯體樣式別名。
存取點有 S3 on Outposts 對於透過該存取點進行的任何請求所套用的不同許可和網路控制。每個存取點都會強制執行自訂的存取點政策,該政策可結合附加至基礎儲存貯體的儲存貯體政策運作。
如需詳細資訊,請參閱存取 S3 on Outposts 儲存貯體和物件。
S3 on Outposts 功能
存取管理
S3 on Outposts 提供稽核和管理對儲存貯體和物件的存取的功能。根據預設,S3 on Outposts 儲存貯體與物件皆為私有。您只能存取您建立的 S3 on Outposts 資源。
若要授予可支援特定使用案例的精密資源使用權限,或稽核 S3 on Outposts 資源的許可,您可以使用下列功能。
-
S3 區塊公有存取 – 儲存貯體與物件的區塊公有存取。對於 Outposts 上的儲存貯體,預設情況下始終啟用封鎖公開存取。
-
AWS Identity and Access Management (IAM) – IAM 是一款 Web 服務,可讓您安全地控制 S3 on Outposts 資源在內的 AWS 資源存取。使用 IAM,您可以集中管理控制使用者可以存取哪些 AWS 資源的許可。您可以使用 IAM 來控制能通過身分驗證 (登入) 和授權使用資源的 (具有許可) 的人員。
-
S3 on Outposts 存取點 - 管理針對 S3 on Outposts 中共用資料集的資料存取。存取點以專屬存取政策命名網路端點。存取點與儲存貯體相關聯,可用於執行物件操作,例如
GetObject
和PutObject
。 -
儲存貯體政策 – 使用以 IAM 為基礎的政策語言,為 S3 儲存貯體及其中的物件設定以資源為基礎的許可。
-
AWS Resource Access Manager (AWS RAM) - 在 AWS 帳戶、組織內或是 AWS Organizations 中的組織單位 (OU) 內安全地共享您的 S3 on Outposts 容量。
儲存記錄和監控
S3 on Outposts 提供記錄和監控工具,您可以使用這些工具來監控和控制 S3 on Outposts 資源的使用方式。如需詳細資訊,請參閱監控工具。
-
適用於 S3 on Outposts 的 Amazon CloudWatch 指標 - 追蹤資源的運作狀態並瞭解您的容量可用性。
-
適用於 S3 on Outposts 的 Amazon CloudWatch Events 事件 - 為 S3 on Outposts API 事件建立規則,以便通過所有受支持的 CloudWatch Events 目標接收通知,包括 Amazon Simple Queue Service (Amazon SQS)、Amazon Simple Notification Service (Amazon SNS) 和 AWS Lambda。
-
AWS CloudTrail 適用於 S3 on Outposts 的日誌 - 記錄 S3 on Outposts 中由使用者、角色或 AWS 服務 所採取的動作。CloudTrail 日誌為您提供 S3 儲存貯體層級和物件層級操作的詳細 API 追蹤。
高度的一致性
S3 on Outposts 為所有 AWS 區域 中 S3 on Outposts 儲存貯體中的物件 PUT 和 DELETE 請求提供高度的先寫後讀一致性。這一行為適用於新物件的寫入,和覆寫現有物件的 PUT 請求與 DELETE 請求。此外,S3 on Outposts 物件標籤和物件中繼資料 (例如 HEAD 物件) 高度一致。如需詳細資訊,請參閱《Amazon S3 使用者指南》中的 Amazon S3 資料一致性模式。
相關服務
將資料載入至 S3 on Outposts 之後,您可以搭配其他 AWS 服務 使用資料。以下為您可能最常使用的服務:
-
Amazon Elastic Compute Cloud (Amazon EC2) – 在 AWS 雲端 中提供安全且可擴展的運算容量。使用 Amazon EC2 可減少前期所需的硬體投資,讓您更快速開發並部署應用程式。您可使用 Amazon EC2 按需要啟動任意數量的虛擬伺服器,設定安全性和聯網功能以及管理儲存。
-
Outpost 上的 Amazon Elastic Block Store (Amazon EBS) - 使用 Amazon EBS 本機快照 將 Outpost 上的磁碟區快照以本機方式儲存在 Outpost 上的 S3 on Outposts 本身。
-
Amazon Relational Database Service (Amazon RDS) - 使用 Amazon RDS 本地備份將您的 Amazon RDS 備份本地存儲在您的 Outpost 上。
-
AWS DataSync - 在您的 Outpost 和 AWS 區域 之間自動傳輸資料,選擇要傳輸的內容、傳輸的時間,以及要使用的網路頻寬。S3 on Outposts 會與 AWS DataSync 整合。對於需要高輸送量本機處理的內部部署應用程式,S3 on Outposts 提供內部部署物件儲存體,以盡量減少因網路變化而產生的資料傳輸和緩衝區,同時還能讓您輕鬆地在 Outpost 與 AWS 區域 之間傳輸資料。
存取 S3 on Outposts
您可以透過以下任何方式來使用 S3 on Outposts:
AWS Management Console
主控台是可用來管理 S3 on Outposts 和 AWS 資源的 Web 型使用者介面。若您已註冊 AWS 帳戶,您可登入 AWS Management Console 並從 AWS Management Console 首頁選擇 S3 來存取 S3 on Outposts 主控台。然後,從左側導覽窗格中選擇 Outposts buckets (Outposts 儲存貯體)。
AWS Command Line Interface
您可以使用 AWS 命令列工具在系統的命令列發出命令或建置指令碼,以執行 AWS (包括 S3) 任務。
AWS Command Line Interface (AWS CLI)
AWS SDK
AWS 提供了 SDK (軟體開發套件),該套件包含適用於各種程式設計語言和平台 (Java、Python、Ruby、.NET、iOS、Android 等) 的程式庫及範本程式碼。AWS 軟體開發套件提供便捷方法來建立對 S3 on Outposts 和 AWS 的程式化存取。由於 S3 on Outposts 使用與 Amazon S3 相同的軟件開發工具包,所以 S3 on Outposts 使用相同的 S3 API、自動化和工具提供一致的體驗。
S3 on Outposts 是 REST 服務。您可以使用 AWS 開發套件程式庫 (其會包裝基礎 REST API),傳送請求至 S3 on Outposts,從而簡化程式設計任務。例如,開發套件會負責的工作諸如計算簽章、以密碼演算法簽署請求、管理錯誤以及自動重試請求。如需 AWS 開發套件的其他資訊 (包括如何下載並安裝開發套件),請參閱 建置於 AWS 工具
支付 S3 on outposts
您可以購買各種 AWS Outposts 機架配置結合 Amazon EC2 執行個體類型、Amazon EBS 一般用途固體磁碟機 (SSD) 磁碟區 (gp2
) 和 S3 on Outposts 功能。定價包括運輸、安裝、基礎設施服務維護 、 以及軟體修補程式和升級。
如需詳細資訊,請參閱 AWS Outposts rack 定價
後續步驟
如需有關使用 S3 on Outposts 的詳細資訊,請參閱下列主題: