

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

# 存取 Amazon S3 一般用途儲存貯體
<a name="access-bucket-intro"></a>

您可以使用 Amazon S3 主控台、 AWS Command Line Interface、 AWS SDKs 或 Amazon S3 REST API 來存取 Amazon S3 一般用途儲存貯體。每個存取 S3 一般用途儲存貯體的方法都支援特定使用案例。如需詳細資訊，請參閱下列區段。

**Topics**
+ [

## 使用案例
](#accessing-use-cases)
+ [

## Amazon S3 主控台
](#accessing-aws-management-console)
+ [

## AWS CLI
](#accessing-aws-cli)
+ [

## AWS SDKs
](#accessing-aws-sdks)
+ [

## Amazon S3 REST API
](#AccessingUsingRESTAPI)
+ [

# 一般用途儲存貯體的虛擬託管
](VirtualHosting.md)

## 使用案例
<a name="accessing-use-cases"></a>

根據 Amazon S3 一般用途儲存貯體的使用案例，存取儲存貯體中的基礎資料時適用不同的建議方法。下列清單包含存取資料的常見使用案例。
+ **靜態網站** – 您可以使用 Amazon S3 託管靜態網站。在此使用案例中，您可以將 S3 一般用途儲存貯體設定為像網站一樣地運作。如需逐步在 Amazon S3 上託管網站的範例，請參閱 [教學課程：在 Amazon S3 上設定靜態網站](HostingWebsiteOnS3Setup.md)。

  若要託管已啟用「封鎖公用存取」等安全設定的靜態網站，建議您使用具有原始存取控制 (OAC) 的 Amazon CloudFront，並實作其他安全標頭，例如 HTTPS。如需詳細資訊，請參閱[安全靜態網站入門](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)。
**注意**  
Amazon S3 支援將[虛擬託管樣式](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#virtual-hosted-style-access)和[路徑樣式 URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#path-style-access) 用於靜態網站存取。由於儲存貯體可透過路徑型 URL 與虛擬託管型 URL 存取，建議您使用與 DNS 相容的儲存貯體名稱建立儲存貯體。如需詳細資訊，請參閱[一般用途儲存貯體配額、限制與約束](BucketRestrictions.md)。
+ **共用資料集** – 當您在 Amazon S3 上進行擴展時，常會採用多租用戶模型；在這種模式中，您可以將不同的終端客戶或業務單位指派給共用一般用途儲存貯體內的唯一字首。藉由使用 [Amazon S3 Access Points](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)，您可以針對需要存取共用資料集的每個應用程式，將一個大型儲存貯體政策劃分為個別、獨立的存取點政策。此方法可讓您更輕鬆地專注於為應用程式建置正確的存取政策，而不會影響到任何其他應用程式在共用資料集內執行的動作。如需詳細資訊，請參閱[使用存取點管理對共用資料集的存取](access-points.md)。
+ **高輸送量工作負載** – 適用於 Amazon S3 的掛載點是高輸送量的開放原始碼檔案用戶端，可將 Amazon S3 一般用途儲存貯體掛載為本機檔案系統。使用掛載點可讓您的應用程式透過像是開啟和讀取等檔案系統操作，存取儲存在 Amazon S3 中的物件。掛載點會自動將這些操作轉換成 S3 物件 API 呼叫，讓您的應用程式透過檔案介面存取 Amazon S3 的彈性儲存和輸送量。如需詳細資訊，請參閱[將 Amazon S3 儲存貯體掛載為本機檔案系統](mountpoint.md)。
+ **多區域應用程式** – Amazon S3 多區域存取點可提供全域端點，其中應用程式可用來滿足來自多個 AWS 區域的 S3 一般用途儲存貯體的請求。您可以使用多區域存取點，進而使用與單一區域中使用的相同架構來建置多區域應用程式，然後在全球任何地方執行這些應用程式。多區域存取點不會透過公有網際網路傳送請求，而是提供內建的網路恢復能力，並加速對 Amazon S3 的網際網路請求。如需詳細資訊，請參閱[使用多區域存取點管理多區域流量](MultiRegionAccessPoints.md)。
+ **安全殼層 (SSH) 檔案傳輸通訊協定 (SFTP)** – 如果您嘗試透過網際網路安全地傳輸敏感資料，您可以將啟用 SFTP 的伺服器與 Amazon S3 一般用途儲存貯體搭配使用。 AWS SFTP 是一種支援 SSH 完整安全性和身分驗證功能的網路通訊協定。透過此通訊協定，您可以更精細地控制使用者身分、許可和金鑰，或是使用 IAM 政策來管理存取權。若要將已啟用 SFTP 的伺服器與 Amazon S3 儲存貯體建立關聯，請務必先建立已啟用 SFTP 的伺服器。然後，請設定使用者帳戶，並將伺服器與 Amazon S3 一般用途儲存貯體建立關聯。如需此程序的逐步解說，請參閱*AWS 部落格*中的 [AWS Transfer for SFTP – Amazon S3 的全受管 SFTP 服務](https://aws.amazon.com/blogs/aws/new-aws-transfer-for-sftp-fully-managed-sftp-service-for-amazon-s3/)。

## Amazon S3 主控台
<a name="accessing-aws-management-console"></a>

主控台是用於管理 Amazon S3 AWS 和資源的 Web 型使用者介面。透過 Amazon S3 主控台，您可以輕鬆存取儲存貯體及修改儲存貯體的屬性。您也可以使用主控台 UI 執行多數的儲存貯體操作，而無須撰寫任何程式碼。

如果您已註冊 AWS 帳戶，您可以登入 Amazon S3 主控台並從 Amazon S3 主控台首頁選擇 **S3**3，以存取 Amazon S3 主控台。您也可以使用下列連結來直接存取：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

## AWS CLI
<a name="accessing-aws-cli"></a>

您可以使用 AWS CLI 在系統的命令列發出命令或建置指令碼來執行 AWS （包括 S3) 任務。例如，如果您需要存取多個儲存貯體，您可以使用 自動化常見和重複性任務 AWS CLI ，以節省時間。隨著組織的擴展，常見動作能否製成指令碼和可否重複使用，是常見的考量。

[AWS CLI](https://aws.amazon.com/cli/) 為廣泛的 提供命令 AWS 服務。Windows、macOS 和 Linux AWS CLI 支援 。若要開始使用，請參閱[《AWS Command Line Interface 使用者指南**》](https://docs.aws.amazon.com/cli/latest/userguide/)。如需 Amazon S3 命令的詳細資訊，請參閱 *AWS CLI 命令參考*中的 [s3api](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/index.html) 和 [s3control](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/index.html)。

## AWS SDKs
<a name="accessing-aws-sdks"></a>

AWS 提供SDKs（軟體開發套件），其中包含適用於各種程式設計語言和平台 (Java、Python、Ruby、.NET、iOS、Android 等） 的程式庫和範本程式碼。 AWS SDKs 提供便捷的方式來建立 S3 和 的程式設計存取 AWS。Amazon S3 是一個 REST 服務。您可以使用 AWS SDK 程式庫將請求傳送至 Amazon S3，該程式庫會包裝基礎 Amazon S3 REST API 並簡化您的程式設計任務。例如，開發套件會負責的工作諸如計算簽章、以密碼演算法簽署請求、管理錯誤以及自動重試請求。如需有關 AWS SDKs 的資訊，包括如何下載和安裝它們，請參閱[適用於 的工具 AWS](https://aws.amazon.com/tools/)。

與 Amazon S3 的每次互動，可以經過驗證身分或是匿名進行。如果您使用的是 AWS SDKs，程式庫會從您提供的金鑰計算用於身分驗證的簽章。如需如何向 Amazon S3 提出請求的詳細資訊，請參閱[提出請求](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html)。

## Amazon S3 REST API
<a name="AccessingUsingRESTAPI"></a>

Amazon S3 的架構設計成非程式設計語言相關，並使用 AWS支援的介面來存放與擷取物件。您可以透過使用 Amazon S3 REST API 以程式化設計方式存取 S3 和 AWS 。REST API 是 Amazon S3 的 HTTP 介面。藉助 REST API，您可以使用標準 HTTP 要求來建立、擷取與刪除儲存貯體與物件。

若要使用 REST API，您可以使用支援 HTTP 的任何工具組。您甚至可以使用瀏覽器來擷取物件，只要物件是可匿名讀取即可。

REST API 使用標準 HTTP 標頭與狀態碼，因此標準瀏覽器與工具組會如預期般運作。在某些區域中，我們已新增功能至 HTTP (例如，我們已新增標頭來支援存取控制)。在此情況下，我們會盡力以符合標準 HTTP 使用風格的方式來新增功能。

如果直接在應用程式中呼叫 REST API，您必須撰寫程式碼來運算簽章，並將其新增至要求。如需如何向 Amazon S3 提出請求的詳細資訊，請參閱 Amazon S3 API 參考**中的[提出請求](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html)。

# 一般用途儲存貯體的虛擬託管
<a name="VirtualHosting"></a>

虛擬託管是從單一 Web 伺服器服務多個網站的實務。其中一種區分 Amazon S3 REST API 要求網站的方式是使用要求 URI 的清楚主機名稱，而不只是 URI 的路徑名稱部分。一般 Amazon S3 REST 請求會使用 Request-URI 路徑的第一個斜線區隔元件，來指定儲存貯體。反之，您可以使用 HTTP `Host` 標頭，以使用 Amazon S3 虛擬託管來處理 REST API 呼叫中的一般用途儲存貯體。實務上，Amazon S3 會將 `Host` 解譯為表示可在 `https://bucket-name.s3.region-code.amazonaws.com` 自動存取大部分的儲存貯體 (針對有限類型的請求)。如需 Amazon S3 區域和端點的完整清單，請參閱《Amazon Web Services 一般參考》**中的 [Amazon S3 端點和配額](https://docs.aws.amazon.com/general/latest/gr/s3.html)。

虛擬託管也有其他優勢。在註冊的網域名稱後面命名儲存貯體，以及將該名稱設為 Amazon S3 的 DNS 別名，即可完全自訂 Amazon S3 資源的 URL (例如，`http://my.bucket-name.com/`)。您也可以發佈到儲存貯體虛擬伺服器的「根目錄」。這項能力十分重要，因為許多現有應用程式都會在此標準位置中搜尋檔案。例如，預期都可以在根目錄中找到 `favicon.ico`、`robots.txt` 和 `crossdomain.xml`。

**重要**  
當您搭配使用虛擬託管型一般用途儲存貯體與 SSL 時，SSL 萬用字元憑證只會符合不包含點 (`.`) 的儲存貯體。若要解決此限制，請使用 HTTP 或撰寫您自己的憑證驗證邏輯。如需詳細資訊，請參閱*AWS 新聞部落格*上的 [Amazon S3 路徑取代計劃](https://aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/)。

**Topics**
+ [

## 路徑樣式請求
](#path-style-access)
+ [

## 虛擬託管樣式請求
](#virtual-hosted-style-access)
+ [

## HTTP `Host` 標頭儲存貯體規格
](#VirtualHostingSpecifyBucket)
+ [

## 範例
](#VirtualHostingExamples)
+ [

## 使用 CNAME 記錄自訂 Amazon S3 URL
](#VirtualHostingCustomURLs)
+ [

## 如何建立主機名稱與 Amazon S3 儲存貯體的關聯
](#VirtualHostingCustomURLsHowTo)
+ [

## 限制
](#VirtualHostingLimitations)
+ [

## 回溯相容性
](#VirtualHostingBackwardsCompatibility)

## 路徑樣式請求
<a name="path-style-access"></a>

Amazon S3 目前支援所有 AWS 區域中的虛擬託管樣式 URL 與路徑樣式 URL 存取。但是，將來會停產路徑樣式 URL。如需詳細資訊，請參閱下列 **Important** (重要) 注意事項。

在 Amazon S3 中，路徑樣式 URL 使用以下格式：

```
https://s3.region-code.amazonaws.com/bucket-name/key-name
```

例如，如果您在美國西部 (奧勒岡) 區域中建立名為 `amzn-s3-demo-bucket1` 的儲存貯體，且需要存取該儲存貯體中的 `puppy.jpg` 物件，則可使用以下路徑型 URL：

```
https://s3.us-west-2.amazonaws.com/amzn-s3-demo-bucket1/puppy.jpg
```

**重要**  
更新 (2020 年 9 月 23 日) – 我們決定將棄用路徑樣式 URL 的日期延後，以確保客戶有足夠時間轉換為虛擬託管樣式 URL。如需詳細資訊，請參閱 *AWS 新聞部落格中*的 [Amazon S3 路徑廢除計畫 - 其他故事](https://aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/)。

**警告**  
託管將從 Web 瀏覽器存取的網站內容時，請避免使用路徑樣式 URL，這可能會干擾瀏覽器相同來源的安全模型。若要託管網站內容，建議您使用 S3 網站端點或 CloudFront 分發。如需詳細資訊，請參閱《AWS 規定指引模式》**中的[網站端點](WebsiteEndpoints.md)和[將 React 型單一頁面應用程式部署到 Amazon S3 和 CloudFront](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-a-react-based-single-page-application-to-amazon-s3-and-cloudfront.html)。

## 虛擬託管樣式請求
<a name="virtual-hosted-style-access"></a>

在虛擬託管式的 URL 中，儲存貯體名稱是 URL 中網域名稱的一部分。

Amazon S3 虛擬託管樣式 URL 使用以下格式：

```
https://bucket-name.s3.region-code.amazonaws.com/key-name
```

在此範例中，`amzn-s3-demo-bucket1` 是儲存貯體名稱、美國西部 (奧勒岡)是區域，而 `puppy.png` 是金鑰名稱。

```
https://amzn-s3-demo-bucket1.s3.us-west-2.amazonaws.com/puppy.png
```

## HTTP `Host` 標頭儲存貯體規格
<a name="VirtualHostingSpecifyBucket"></a>

只要 `GET` 要求未使用 SSL 端點，就可以使用 HTTP `Host` 標頭來指定要求的儲存貯體。REST 要求中的 `Host` 標頭解譯如下：
+ 如果省略 `Host` 標頭，或其數值為 `s3.region-code.amazonaws.com`，則請求的儲存貯體會是 Request-URI 的第一個斜線區隔元件，而請求金鑰會是 Request-URI 的其他部分。這是一般方法，如本節的第一個與第二個範例所述。省略 `Host` 標頭僅對 HTTP 1.0 要求有效。
+ 否則，如果 `Host` 標頭值的結尾為 `.s3.region-code.amazonaws.com`，則儲存貯體名稱是 `Host` 標頭值到 `.s3.region-code.amazonaws.com` 的前置元件。要求的金鑰是 Request-URI。這項解譯會將儲存貯體公開為 `.s3.region-code.amazonaws.com` 的子網域，如本節的第三個與第四個範例所述。
+ 否則，要求的儲存貯體是 `Host` 標頭的小寫值，而且要求的金鑰是 Request-URI。如果您已註冊與儲存貯體名稱相同的 DNS 名稱，並且已將該名稱設為 Amazon S3 的正式名稱 (CNAME) 別名，則這項解譯十分有用。註冊網域名稱與設定 CNAME DNS 記錄的程序不是本指南的討論範圍，但本節的最後一個範例會說明其結果。

## 範例
<a name="VirtualHostingExamples"></a>

本節提供 URL 範例與要求。

**Example — 路徑樣式 URL 和請求**  
此範例使用下列各項：  
+ 儲存貯體名稱 ‐ `example.com`
+ 區域 - 美國東部 (維吉尼亞北部) 
+ 金鑰名稱‐ `homepage.html`
URL 如下：  

```
1. http://s3.us-east-1.amazonaws.com/example.com/homepage.html
```
要求如下：  

```
1. GET /example.com/homepage.html HTTP/1.1
2. Host: s3.us-east-1.amazonaws.com
```
使用 HTTP 1.0 且省略 `Host` 標頭的要求如下：  

```
1. GET /example.com/homepage.html HTTP/1.0
```

如需 DNS 相容名稱的資訊，請參閱[限制](#VirtualHostingLimitations)。如需金鑰的詳細資訊，請參閱[鍵](Welcome.md#BasicsKeys)。

**Example — 虛擬託管樣式 URL 和請求**  
此範例使用下列各項：  
+ **儲存貯體名稱** ‐ `amzn-s3-demo-bucket1` 
+ **區域**- 歐洲 (愛爾蘭) 
+ **金鑰名稱**‐ `homepage.html`
URL 如下：  

```
1. http://amzn-s3-demo-bucket1.s3.eu-west-1.amazonaws.com/homepage.html
```
要求如下：  

```
1. GET /homepage.html HTTP/1.1
2. Host: amzn-s3-demo-bucket1.s3.eu-west-1.amazonaws.com
```

**Example — CNAME 別名方法**  
若要使用此方法，您必須將 DNS 名稱設為 `bucket-name.s3.us-east-1.amazonaws.com` 的 CNAME 別名。如需詳細資訊，請參閱「[使用 CNAME 記錄自訂 Amazon S3 URL](#VirtualHostingCustomURLs)」。  
此範例使用下列各項：  
+ 儲存貯體名稱 ‐ `example.com` 
+ **金鑰名稱**‐ `homepage.html`
URL 如下：  

```
1. http://www.example.com/homepage.html
```
範例如下：  

```
1. GET /homepage.html HTTP/1.1
2. Host: www.example.com
```

## 使用 CNAME 記錄自訂 Amazon S3 URL
<a name="VirtualHostingCustomURLs"></a>

根據需求，您可能不想要 `s3.region-code.amazonaws.com` 出現在網站或服務上。例如，如果您在 Amazon S3 上託管網站映像，則可能會想要使用 `http://images.example.com/`，而不是 `http://images.example.com.s3.us-east-1.amazonaws.com/`。任何具有 DNS 相容名稱的儲存貯體都可以參考如下：` http://BucketName.s3.Region.amazonaws.com/[Filename]` (例如，`http://images.example.com.s3.us-east-1.amazonaws.com/mydog.jpg`)。使用 CNAME，即可將 `images.example.com` 對應到 Amazon S3 主機名稱，讓前一個 URL 可以成為 `http://images.example.com/mydog.jpg`。

您的儲存貯體名稱必須與 CNAME 相同。例如，如果您要建立 CNAME，以將 `images.example.com` 對應至 `images.example.com.s3.us-east-1.amazonaws.com`，則 `http://images.example.com/filename` 和 `http://images.example.com.s3.us-east-1.amazonaws.com/filename` 將是相同的。

CNAME DNS 記錄應該會將網域名稱別名設為適當的虛擬託管式主機名稱。例如，如果您的儲存貯體名稱與網域名稱是 `images.example.com`，且您的儲存貯體在美國東部 (維吉尼亞北部) 區域中，CNAME 記錄應該會將別名設為 `images.example.com.s3.us-east-1.amazonaws.com`。

```
1. images.example.com CNAME 			images.example.com.s3.us-east-1.amazonaws.com.
```

Amazon S3 會使用主機名稱來判斷儲存貯體名稱。因此，儲存貯體名稱必須與 CNAME 相同。例如，假設您已將 `www.example.com` 設定為 `www.example.com.s3.us-east-1.amazonaws.com` 的 CNAME。當您存取 `http://www.example.com` 時，Amazon S3 會收到與下列類似的請求：

**Example**  

```
1. GET / HTTP/1.1
2. Host: www.example.com
3. Date: date
4. Authorization: signatureValue
```

Amazon S3 只會查看原始主機名稱 `www.example.com`，並不了解用來解析請求的 CNAME 映射。

您可以在 CNAME 別名中使用任何 Amazon S3 端點。例如，`s3.ap-southeast-1.amazonaws.com` 可以用於 CNAME 別名中。如需端點的詳細資訊，請參閱《Amazon S3 API 參考》**中的[請求端點](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTAPI.html)。若要使用自訂網域建立靜態網站，請參閱 [教學課程：使用向 Route 53 註冊的自訂網域設定靜態網站](website-hosting-custom-domain-walkthrough.md)。

**重要**  
搭配 CNAME 使用自訂 URL 時，您必須確定您設定的任何 CNAME 或別名記錄都有相符的儲存貯體。例如，如果您建立的 DNS 項目 `www.example.com` 和 `login.example.com` 要使用 S3 發布 Web 內容，您需要建立兩個儲存貯體 `www.example.com` 和 `login.example.com`。  
當 CNAME 或別名記錄設定為指向沒有相符儲存貯體的 S3 端點時，任何 AWS 使用者都可以建立該儲存貯體，並在設定的別名下發佈內容，即使擁有權不同。  
基於相同原因，我們建議您在刪除儲存貯體時變更或移除對應的 CNAME 或別名。

## 如何建立主機名稱與 Amazon S3 儲存貯體的關聯
<a name="VirtualHostingCustomURLsHowTo"></a>

**使用 CNAME 別名建立主機名稱與 Amazon S3 儲存貯體的關聯**

1. 選取屬於所控制網域的主機名稱。

   此範例使用 `images` 網域的 `example.com` 子網域。

1. 建立與主機名稱相符的儲存貯體。

   在此範例中，主機與儲存貯體名稱為 `images.example.com`。儲存貯體名稱必須*完全符合*主機名稱。

1. 建立 CNAME DNS 記錄，將主機名稱定義為 Amazon S3 儲存貯體的別名。

   例如：

   `images.example.com CNAME images.example.com.s3.us-west-2.amazonaws.com`
**重要**  
基於要求路由原因，必須如先前範例所示定義完全相同的 CNAME DNS 記錄。否則，它可能看來操作正常，但最後會導致無法預期的行為。

   設定 CNAME DNS 記錄的程序取決於 DNS 伺服器或 DNS 供應商。如需特定資訊，請參閱伺服器文件或聯絡提供者。

## 限制
<a name="VirtualHostingLimitations"></a>

 Amazon S3 的 SOAP API 不適用於新客戶，並且將於 2025 年 8 月 31 日接近生命週期結束 (EOL)。我們建議您使用 REST API 或 AWS SDKs。

## 回溯相容性
<a name="VirtualHostingBackwardsCompatibility"></a>

以下各區段涵蓋 Amazon S3 回溯相容性的各個面向，這些面向與路徑樣式和虛擬託管樣式 URL 請求相關。

### 舊版端點
<a name="s3-legacy-endpoints"></a>

某些區域支援舊版端點。您可能會在伺服器存取日誌或 AWS CloudTrail 日誌中看到這些端點。如需詳細資訊，請檢閱下列資訊。如需 Amazon S3 區域和端點的完整清單，請參閱《Amazon Web Services 一般參考》**中的 [Amazon S3 端點和配額](https://docs.aws.amazon.com/general/latest/gr/s3.html)。

**重要**  
雖然您可能會在記錄檔中看到舊版端點，但建議您永遠使用標準端點語法來存取儲存貯體。  
Amazon S3 虛擬託管樣式 URL 使用以下格式：  

```
https://bucket-name.s3.region-code.amazonaws.com/key-name
```
在 Amazon S3 中，路徑樣式 URL 使用以下格式：  

```
https://s3.region-code.amazonaws.com/bucket-name/key-name
```

#### s3‐Region
<a name="s3-dash-region"></a>

某些較舊的 Amazon S3 區域支援在 `s3` 和區域代碼 (例如 `s3‐us-west-2`) 之間包含破折號 (`-`)，而不是點 (例如 `s3.us-west-2`) 的端點。如果您的儲存貯體位於這些區域之一，您可能會在伺服器存取日誌或 CloudTrail 日誌中看到下列端點格式：

```
https://bucket-name.s3-region-code.amazonaws.com
```

在此範例中，儲存貯體名稱為 ， amzn-s3-demo-bucket1 而區域為美國西部 （奧勒岡）：

```
https://amzn-s3-demo-bucket1.s3-us-west-2.amazonaws.com
```

#### 舊版全域端點
<a name="deprecated-global-endpoint"></a>

對於某些區域，您可以使用舊版全域端點來建構未指定區域特定端點的請求。舊版全域端點如下所示：

```
bucket-name.s3.amazonaws.com
```

在伺服器存取日誌或 CloudTrail 日誌中，您可能會看到使用舊版全域端點的請求。在此範例中，儲存貯體名稱為 `amzn-s3-demo-bucket1`，且顯示舊版全域端點：

```
https://amzn-s3-demo-bucket1.s3.amazonaws.com
```

**美國東部 (維吉尼亞北部) 虛擬託管樣式請求**  
依預設，使用舊版全域端點提出的請求會前往美國東部 (維吉尼亞北部) 區域。因此，有時候會使用舊版全域端點來取代美國東部 (維吉尼亞北部) 的區域端點。如果您在美國東部 (維吉尼亞北部) 建立儲存貯體並使用全球端點，則依預設，Amazon S3 會將您的請求路由至此區域。

**其他區域的虛擬託管樣式請求**  
舊版全域端點也可用於其他支援區域中的虛擬託管樣式請求。當您在 2019 年 3 月 20 日之前推出的區域建立儲存貯體並使用舊版全域端點時，Amazon S3 會更新 DNS 記錄，將請求重新路由至正確位置，這可能需要一些時間。在此期間系統會套用預設規則，而您的虛擬託管樣式請求會傳送至美國東部 (維吉尼亞北部) 區域。然後 Amazon S3 會使用 HTTP 307 暫時重新導向到正確的區域以將其重新導向。

對於 2019 年 3 月 20 日之後啟動的區域中的 S3 儲存貯體，DNS 伺服器不會將您的請求直接路由到 AWS 區域 儲存貯體所在的 。而是會傳回 HTTP 400 錯誤的請求錯誤。如需詳細資訊，請參閱 Amazon S3 API 參考**中的[提出請求](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html)。

**路徑樣式請求**  
對於美國東部 (維吉尼亞北部) 區域，您可以將舊版全域端點使用於路徑樣式請求。

對於所有其他區域，在嘗試存取儲存貯體時，路徑型語法會需要您使用區域專用端點。如果您嘗試存取的儲存貯體具有舊版全域端點或與儲存貯體所在區域不同的另一個端點，則會收到 HTTP 回應碼 301 永久重新導向錯誤和指出資源正確 URI 的訊息。例如，如果您對在美國西部 (奧勒岡) 區域中建立的儲存貯體使用 `https://s3.amazonaws.com/bucket-name`，您會收到 HTTP 301 永久重新導向錯誤。