

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

# 使用 Multi-Attach 將 EBS 磁碟區連接至多個 EC2 執行個體
<a name="ebs-volumes-multi"></a>

Amazon EBS Multi-Attach 可讓您將單一佈建 IOPS SSD (`io1` 或 `io2`) 磁碟區連接至在相同可用區域中的多個執行個體。您可以將多個啟用 Multi-Attach 的磁碟區連接至單一執行個體或一組執行個體。磁碟區連接的每個執行個體都有共用磁碟區的完整讀取和寫入許可。Multi-Attach 可讓您在管理並行寫入操作的應用程式中，更輕鬆地提高應用程式可用性。

**定價和計費**  
使用 Amazon EBS Multi-Attach 無須額外收費。您需要支付適用於佈建 IOPS SSD (`io1` 和 `io2`) 磁碟區的標準費用。如需詳細資訊，請參閱 [Amazon EBS 定價](https://aws.amazon.com/ebs/pricing/)。

**Topics**
+ [考量與限制](#considerations)
+ [多連接磁碟區的效能](ebs-multi-attach-perf.md)
+ [啟用 Multi-Attach](working-with-multi-attach.md)
+ [停用 Multi-Attach](disable-multi-attach.md)
+ [NVMe 保留](nvme-reservations.md)

## 考量與限制
<a name="considerations"></a>
+ 啟用 Multi-Attach 的磁碟區最多可連接至位於相同可用區域中 [ Nitro 系統](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)上建置的 16 個執行個體。
+ **Linux 執行個體**支援啟用 Multi-Attach `io1`和 `io2`磁碟區。**Windows 執行個體**僅支援啟用 Multi-Attach 的`io2`磁碟區。
+ 可連接到執行個體的 Amazon EBS 磁碟區數目上限，取決於執行個體類型和執行個體大小。如需詳細資訊，請參閱[執行個體磁碟區限制](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html)。
+ 只有在[佈建 IOPS SSD (`io1` and `io2`) 磁碟區](provisioned-iops.md#EBSVolumeTypes_piops)上才支援 Multi-Attach。
+ Multi-Attach for `io1` 磁碟區僅在下列區域提供：美國東部 (維吉尼亞北部)、美國西部 (奧勒岡) 和亞太區域 (首爾)。

  所有支援 `io2` 的區域均可使用 `io2` 的多重連接功能。
**注意**  
為了以較低的成本獲得更好的效能、一致性和耐用性，建議您使用 `io2` 磁碟區。
+ 僅支援可擴展可靠資料包 (SRD) 網路通訊協定的[建置於 Nitro System 的執行個體](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)，不支援已啟用多重連接功能的 `io1` 磁碟區。若要搭配這些執行個體類型使用 Multi-Attach，您必須使用 `io2`。
+ 標準檔案系統 (例如：XFS 和 EXT4) 並非設計為可由多部伺服器同時存取，例如：EC2 執行個體。您應使用叢集檔案系統來確保生產工作負載的資料彈性和可靠性。
+ 啟用 Multi-Attach 的 `io2` 磁碟區支援 I/O 隔離。I/O 隔離通訊協定控制共用儲存環境中的寫入存取，以維持資料一致性。您的應用程式必須為連接的執行個體提供寫入順序，以維持資料一致性。如需詳細資訊，請參閱[將 NVMe 保留與啟用 Multi-Attach 的 Amazon EBS 磁碟區搭配使用](nvme-reservations.md)。

  啟用 Multi-Attach 的 `io1` 磁碟區不支援 I/O 隔離。
+ 啟用 Multi-Attach 的磁碟區無法建立為啟動磁碟區。
+ 磁碟區如已啟用多重連接，即可連接至一個區塊裝置對映 (每執行個體)。
+ 使用 Amazon EC2 主控台或 RunInstances API 啟動執行個體期間，無法啟用 Multi-Attach。
+ 在 Amazon EBS 基礎設施層出現問題的啟用 Multi-Attach 磁碟區無法用於所有連接的執行個體。在 Amazon EC2 或網路層出現的問題可能只會影響某些連接的執行個體。
+ 下表顯示在建立後對已啟用 Multi-Attach 的 `io1` 和 `io2` 磁碟區的磁碟區修改支援。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/ebs/latest/userguide/ebs-volumes-multi.html)

  \$1 磁碟區連接到執行個體時，您無法啟用或停用 Multi-Attach。
+ 如果最後一個連接執行個體已終止，而且該執行個體設為在終止時刪除磁碟區，則會在執行個體終止時，刪除啟用 Multi-Attach 的磁碟區。如果將磁碟區連接到在其磁碟區區塊型裝置映射中具有不同「在終止時刪除」設定的多個執行個體，則最後一個連接執行個體的區塊型裝置映射設定會確定「在終止時刪除」行為。

  若要確保可預測的「在終止時刪除」行為，請為磁碟區連接的所有執行個體啟用或停用「在終止時刪除」。如需詳細資訊，請參閱[在執行個體終止時保留資料](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html)。
+ 您可以為 Amazon EBS 磁碟區使用 CloudWatch 指標監控啟用 Multi-Attach 的磁碟區。會在所有連接執行個體之間彙總資料。您無法監控個別連接執行個體的指標。如需詳細資訊，請參閱[Amazon EBS 的 Amazon CloudWatch 指標](using_cloudwatch_ebs.md)。

# 多連接 Amazon EBS 磁碟區的效能
<a name="ebs-multi-attach-perf"></a>

每個連接的執行個體最多可將其最大值 IOPS 效能驅動至磁碟區的最大佈建效能。不過，所有連接執行個體的彙總效能不能超過磁碟區的最大佈建效能。如果 IOPS 的連接執行個體需求高於磁碟區的佈建 IOPS，磁碟區將不會超過其佈建的效能。

例如，假設您使用 `80,000` 佈建 IOPS 建立啟用 `io2` Multi-Attach 的磁碟區，並且將其連接至 `m7g.large` 執行個體 (支援最多 `40,000` 個IOPS) 和 ` r7g.12xlarge` 執行個體 (支援最多 `60,000` 個 IOPS)。每個執行個體可驅動其最大值 IOPS，因為其小於磁碟區的佈建 IOPS `80,000`。不過，如果兩個執行個體同時將 I/O 驅動到磁碟區，則其組合的 IOPS 不可超過 `80,000` IOPS 的磁碟區佈建效能。

為了達到一致的效能，最佳做法是在啟用 Multi-Attach 之磁碟區的各個磁區之間，平衡從連接執行個體驅動的 I/O。

如需 Amazon EC2 執行個體類型 IOPS 效能的詳細資訊，請參閱[《Amazon EC2 使用者指南》中的 Amazon EBS 最佳化執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)。 *Amazon EC2 *

# 為 Amazon EBS 磁碟區啟用 Multi-Attach
<a name="working-with-multi-attach"></a>

啟用 Multi-Attach 之磁碟區的管理方式與管理任何其他 Amazon EBS 磁碟區的方式大致相同。不過，若要使用 Multi-Attach 功能，您必須為磁碟區啟用該功能。

當您建立新磁碟區時，依預設會停用 Multi-Attach。您可以在建立磁碟區時啟用 Multi-Attach。

您也可以在建立 `io2` 磁碟區後．為其啟用 Multi-Attach，但前提是它們未連接至任何執行個體。建立後，您就無法為 `io1` 磁碟區啟用 Multi-Attach。

為磁碟區啟用 Multi-Attach 後，您可以使用與連接任何其他 EBS 磁碟區的相同方式，將磁碟區連接至執行個體。如需詳細資訊，請參閱[將 Amazon EBS 磁碟區連接至 Amazon EC2 執行個體](ebs-attaching-volume.md)。

------
#### [ Console ]

**在磁碟區建立期間啟用 Multi-Attach**

1. 在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Volumes (磁碟區)**。

1. 選擇**建立磁碟區**。

1. 對於**磁碟區類型**，選擇**佈建 IOPS SSD (`io1`)** 或**佈建 IOPS SSD (`io2`)**。

1. 對於 **Size (大小)** 和 **IOPS**，選擇所需的磁碟區大小和要佈建的 IOPS 數目。

1. 對於 **Availability Zone (可用區域)**，選擇執行個體所在的相同可用區域。

1. 對於 **Amazon EBS Multi-Attach**，選擇 **Enable Multi-Attach** (啟用 Multi-Attach)。

1. (選用) 對於 **Snapshot ID** (快照 ID)，選擇要從中建立磁碟區的快照。

1. 設定磁碟區的加密狀態。

   如果選取的快照已加密，或者如果您的帳戶已啟用[預設加密](encryption-by-default.md)，則會自動啟用加密，且無法將其停用。您可以選擇要用來加密磁碟區的 KMS 金鑰。

   如果選取的快照未加密，而且您的帳戶預設未啟用加密，則加密是選用的。若要加密磁碟區，請針對 **Encryption** (加密)，選取 **Encrypt this volume** (加密此磁碟區)，然後選取要用來加密磁碟區的 KMS 金鑰。

   加密的磁碟區僅能連接至支援 Amazon EBS 加密的執行個體。如需詳細資訊，請參閱[Amazon EBS 加密](ebs-encryption.md)。

1. (選用) 若要將自訂標籤指派給磁碟區，請在 **Tags** (標籤) 區段中，選擇 **Add tag** (新增標籤)，然後輸入標籤鍵值組。

1. 選擇**建立磁碟區**。

**建立後啟用 Multi-Attach**

1. 在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Volumes (磁碟區)**。

1. 選取磁碟區，並選取 **Actions** (動作)、**Modify volume** (修改磁碟區)。

1. 對於 **Amazon EBS Multi-Attach**，選擇 **Enable Multi-Attach** (啟用 Multi-Attach)。

1. 選擇 **Modify** (修改)。

------
#### [ AWS CLI ]

**在磁碟區建立期間啟用 Multi-Attach**  
使用 [create-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html) 命令搭配 `--multi-attach-enabled`選項。

```
aws ec2 create-volume \
    --volume-type io2 \
    --multi-attach-enabled \
    --size 100 \
    --iops 2000 \
    --region us-west-2 \
    --availability-zone us-west-2b
```

**建立後啟用 Multi-Attach**  
使用 [modify-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-volume.html) 命令搭配 `--multi-attach-enabled`選項。

```
aws ec2 modify-volume \
    --volume-id vol-01234567890abcdef \
    --multi-attach-enabled
```

------
#### [ PowerShell ]

**在磁碟區建立期間啟用 Multi-Attach**  
使用 [New-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Volume.html) cmdlet 搭配 `-MultiAttachEnabled` 參數。

```
New-EC2Volume `
    -VolumeType io2 `
    -MultiAttachEnabled $true `
    -Size 100 `
    -Iops 2000 `
    -Region us-west-2 `
    -AvailabilityZone us-west-2b
```

**建立後啟用 Multi-Attach**  
使用 [Edit-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Volume.html) cmdlet 搭配 `-MultiAttachEnabled` 參數。

```
Edit-EC2Volume `
    -VolumeId vol-01234567890abcdef `
    -MultiAttachEnabled $true
```

------

# 停用 Amazon EBS 磁碟區的 Multi-Attach
<a name="disable-multi-attach"></a>

只有當 `io2` 磁碟區連接的執行個體不超過一個時，才能為其停用 Multi-Attach。

建立之後，您就無法為 `io1` 磁碟區停用 Multi-Attach。

------
#### [ Console ]

**建立後停用 Multi-Attach**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Volumes (磁碟區)**。

1. 選取磁碟區，並選取 **Actions** (動作)、**Modify volume** (修改磁碟區)。

1. 對於 **Amazon EBS Multi-Attach**，清除 **Enable Multi-Attach** (啟用 Multi-Attach)。

1. 選擇 **Modify (修改)**。

------
#### [ AWS CLI ]

**建立後停用 Multi-Attach**  
使用 [modify-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-volume.html) 命令搭配 `-no-multi-attach-enabled`選項。

```
aws ec2 modify-volume \
    --volume-id vol-01234567890abcdef \
    --no-multi-attach-enabled
```

------
#### [ PowerShell ]

**建立後停用 Multi-Attach**  
使用 [Edit-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Volume.html) cmdlet 搭配 `-MultiAttachEnabled` 參數。

```
Edit-EC2Volume `
    -VolumeId vol-01234567890abcdef `
    -MultiAttachEnabled $false
```

------

# 將 NVMe 保留與啟用 Multi-Attach 的 Amazon EBS 磁碟區搭配使用
<a name="nvme-reservations"></a>

啟用 Multi-Attach 的 `io2` 磁碟區支援 NVMe 保留，這是一組產業標準儲存隔離通訊協定。這些通訊協定可讓您建立和管理保留，以控制和協調從多個執行個體到共用磁碟區的存取。共用儲存應用程式會使用保留，以確保資料一致性。

**Topics**
+ [要求](#nvme-reservations-reqs)
+ [對 NVMe 保留啟用支援](#nvme-reservations-enable)
+ [支援的 NVMe 保留命令](#nvme-reservations-commands)
+ [定價](#nvme-reservations-cost)

## 要求
<a name="nvme-reservations-reqs"></a>

僅已啟用 Multi-Attach 的 `io2` 磁碟區支援 NVMe 保留。啟用 Multi-Attach 的磁碟區僅可連接至建置於 Nitro System 的執行個體。

下列作業系統支援 NVMe 保留：
+ SUSE Linux Enterprise 12 SP3 及更新版本
+ RHEL 8.3 和更新版本
+ Amazon Linux 2 及更新版本
+ Windows Server 2016 及更新版本

**注意**  
對於日期為 2023.09.13 及之後的受支援 Windows Server AMI，則會包含必要的 NVMe 驅動程式。對於較早期的 AMI，您必須更新至 NVMe 驅動程式 1.5.0 或更新版本。如需詳細資訊，請參閱 [AWS NVMe 驅動程式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/aws-nvme-drivers.html)。

如果您使用 EC2Launch v2 來初始化磁碟，則必須升級至 **2.0.1521** 版或更新版本。如需詳細資訊，請參閱[使用 EC2Launch v2 代理程式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2launch-v2.html)。

## 對 NVMe 保留啟用支援
<a name="nvme-reservations-enable"></a>

依預設，所有在 **2023 年 9 月 18 日**之後建立的已啟用 Multi-Attach 的 `io2` 磁碟區都會啟用對 NVMe 保留的支援。

若要為 2023 年 9 月 18 日之前建立的現有 `io2` 磁碟區啟用 NVMe 保留的支援，您必須將所有執行個體從磁碟區中分離，然後重新連接必要的執行個體。分離所有執行個體後建立的所有附件都會啟用 NVMe 保留。

## 支援的 NVMe 保留命令
<a name="nvme-reservations-commands"></a>

Amazon EBS 支援下列 NVMe 保留命令：

**保留註冊**  
註冊、取消註冊或取代保留金鑰。註冊金鑰可用於識別和驗證執行個體。向磁碟區註冊保留金鑰，這樣會建立執行個體和磁碟區之間的關聯。您必須先向磁碟區註冊執行個體，然後該執行個體才能取得保留。

**保留取得**  
取得磁碟區上的保留、先佔命名空間上的保留，並中止保留磁碟區上的保留。可以取得以下保留類型：  
+ 寫入獨家保留
+ 獨家存取保留
+ 寫入獨家 - 僅限註冊者保留
+ 獨家存取 - 僅限註冊者保留
+ 寫入獨家 - 所有註冊者保留
+ 獨家存取 - 所有註冊者保留

**保留釋出**  
釋出或清除磁碟區上的保留。

**保留報告**  
描述磁碟區的註冊和保留狀態。

## 定價
<a name="nvme-reservations-cost"></a>

啟用和使用 Multi-Attach 無須額外成本。