DAX 叢集元件 - Amazon DynamoDB

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

DAX 叢集元件

Amazon DynamoDB Accelerator (DAX) 叢集包含 AWS 基礎設施元件。本節說明這些元件及其運作方式。

節點

節點是 DAX 叢集最小的建置區塊。每個節點都會執行 DAX 軟體的執行個體,並且維持快取資料的單一複本。

您可以使用下列兩種方式的其中之一,擴展您的 DAX 叢集:

  • 為叢集新增更多節點。這會增加叢集整體的讀取輸送量。

  • 使用更大的節點類型。更大的節點類型可提供更多容量,並可以增加輸送量。(您必須使用新的節點類型建立新叢集。)

叢集中每個節點的節點類型都相同,並且會執行相同的 DAX 快取軟體。如需可用的節點類型清單,請參閱 Amazon DynamoDB 定價

叢集

叢集是 DAX 做為單一單位管理、一或多個節點的邏輯群組。叢集中的其中一個節點會指定為主要節點,其他節點 (若有的話) 則為僅供讀取複本

主要節點負責下列項目:

  • 滿足應用程式對快取資料的請求。

  • 處理對 DynamoDB 的寫入操作。

  • 根據叢集的移出政策,從快取中移出資料。

對主要節點上的快取資料進行變更時, DAX 會使用複寫日誌將變更傳播至所有僅供讀取複本節點。當從所有僅供讀取複本收到確認後,DynamoDB 會從主節點刪除複寫日誌。

DAX 叢集每個叢集最多可支援 11 個節點 (主要節點加上最多 10 個僅供讀取複本)。

僅供讀取複本負責下列項目:

  • 滿足應用程式對快取資料的請求。

  • 根據叢集的移出政策,從快取中移出資料。

但是,與主節點不同的是,僅供讀取複本不會對 DynamoDB 進行寫入。

僅供讀取複本還有另外兩種用途:

  • 延展性。​ 如果您有大量應用程式用戶端需要同時存取 DAX,您可以新增更多複本以進行讀取擴展。DAX 會將負載平均分散到叢集中的所有節點。(另一種增加輸送量的方式是使用更大的快取節點類型。)

  • 高可用性。在主要節點故障時,DAX 會自動容錯移轉至僅供讀取複本,並將其指派為新的主要節點。若複本節點失敗,DAX 叢集中的其他節點仍然可以處理請求,直到可復原失敗的節點為止。為取得最大的容錯能力,建議您將僅供讀取複本部署在分離的可用區域中。這項組態可確保即使整個可用區域都不可使用時,DAX 叢集仍然能夠繼續運作。

重要

針對生產用途,我們強烈建議搭配至少三個節點使用 DAX,並將每個節點置放在不同的可用區域中。DAX 叢集需要三個節點才具備容錯能力。

可使用一或兩個節點來部署 DAX 叢集,以供開發或測試工作負載使用。單節點和雙節點叢集不容錯,我們不建議使用少於三個節點供生產使用。如果單節點或雙節點叢集遇到軟體或硬體錯誤,叢集可能會變得無法使用或遺失快取資料。

重要

DAX 叢集最多支援 500 個 DynamoDB 資料表。如果您超過 500 個資料表,您的叢集可能會在可用性和效能方面遇到降級。

區域與可用區域

AWS 區域中的DAX叢集只能與相同區域中的 DynamoDB 資料表互動。因此,請確認您在正確的區域中啟動您的 DAX 叢集。如果您在其他 區域中有 DynamoDB 資料表,則也必須在這些區域中啟動DAX叢集。

每個 區域皆設計為與其他 區域完全隔離。在每個區域中皆有多個可用區域。藉由在不同的可用區域中啟動您的節點,您可以實現最大的容錯能力。

重要

請不要將您所有的叢集節點置放在單一可用區域中。在這項組態中,若發生可用區域故障的情況,您的 DAX 叢集將會無法使用。

針對生產用途,我們強烈建議搭配至少三個節點使用 DAX,並將每個節點置放在不同的可用區域中。DAX 叢集需要三個節點才具備容錯能力。

可使用一或兩個節點來部署 DAX 叢集,以供開發或測試工作負載使用。一和兩個節點叢集無法容錯,因此針對生產用途,我們不建議使用少於三個節點。若一或兩個節點叢集發生軟體或硬體錯誤,叢集可能會無法使用或遺失快取資料。

參數群組

參數群組用於管理DAX叢集的執行期設定。 DAX具有數個參數,您可以用來最佳化效能 (例如定義快取資料TTL的政策)。參數群組為可以套用到叢集的具名參數組。藉由執行此作業,您可以確保該叢集中的所有節點都以完全相同的方式設定。

安全群組

DAX 叢集在 Amazon Virtual Private Cloud (AmazonVPC) 環境中執行。此環境是專屬於您 AWS 帳戶的虛擬網路,與其他 隔離VPCs。安全群組可做為 的虛擬防火牆VPC,讓您控制傳入和傳出網路流量。

當您在 中啟動叢集時VPC,您可以將輸入規則新增至安全群組,以允許傳入的網路流量。輸入規則會指定叢集的通訊協定 (TCP) 和連接埠號碼 (8111)。將此規則新增至安全群組後,在 中執行的應用程式VPC可以存取DAX叢集。

叢集 ARN

每個DAX叢集都會指派一個 Amazon Resource Name (ARN)。ARN 格式如下。

arn:aws:dax:region:accountID:cache/clusterName

您可以在 IAM政策ARN中使用叢集來定義DAXAPI操作的許可。如需詳細資訊,請參閱DAX 存取控制

叢集端點

每個 DAX 叢集都會提供「叢集端點」供您的應用程式使用。藉由使用此端點存取叢集,您的應用程式便不需要知道叢集中個別節點的主機名稱和連接埠號碼。您的應用程式會自動「得知」叢集中的所有節點,即使您新增或移除僅供讀取複本。

以下是 us-east-1 區域中未設為使用傳輸中加密的叢集端點範例。

dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com

以下是相同區域中未設為使用傳輸中加密的叢集端點範例。

daxs://my-encrypted-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com

節點端點

DAX 叢集中的每個個別節點都有自己的主機名稱和連接埠號碼。以下是「節點端點」的範例。

myDAXcluster-a.2cmrwl.clustercfg.dax.use1.cache.amazonaws.com:8111

您的應用程式可使用其端點直接存取節點。但是,我們建議您將 DAX 叢集做為單一單位處理,並改為使用叢集端點進行存取。叢集端點可讓您的應用程式無須維持節點的清單,並在您為叢集新增節點或從叢集移除節點時,將該清單保持在最新狀態。

子網路群組

對DAX叢集節點的存取僅限於在 Amazon VPC環境中 Amazon EC2執行個體上執行的應用程式。您可以使用子網路群組,授予在特定子網路上執行之 Amazon EC2執行個體的叢集存取權。子網路群組是子網路的集合 (通常是私有),您可以為在 Amazon VPC環境中執行的叢集指定。

建立 DAX 叢集時,您必須指定子網路群組。DAX 會使用此子網路群組選擇子網路及該子網路中的 IP 地址​,以和您的節點建立關聯。

事件

DAX 會記錄您叢集內重要的事件,例如新增節點失敗、新增節點成功,或是變更安全群組。藉由監控重要的事件,您可以了解叢集目前的狀態,並根據事件採取正確的動作。您可以使用 AWS Management Console 或 DAX管理 中的 DescribeEvents動作來存取這些事件API。

您也可以請求將通知傳送至特定的 Amazon Simple Notification Service (Amazon SNS) 主題。您接著便會在您的 DAX 叢集中發生事件時立即得知。

Maintenance window (維護時段)

每個叢集都有每週維護時段來套用系統變更。當變更依序套用時,會取代現有的節點,並將具有套用變更的新節點新增至叢集。在此期間,您的應用程式可能會觀察到暫時性錯誤或調節。因此,建議您在最低使用時間排定維護時段,並視需要定期調整此排程。您可以指定最高達 24 小時的時間範圍,並讓任何您請求的維護活動在此期間進行。

如果您在建立或修改快取叢集時未指定偏好的維護時段, 會在隨機的工作日DAX指派 60 分鐘的維護時段。此 60 分鐘的維護時段是從每個 的 8 小時時段中隨機選取 AWS 區域。下表列出每個區域的時段,預設維護時段會從此時段中指派。

區域代碼 區域名稱 Maintenance window (維護時段)
ap-northeast-1 亞太 (東京) 區域 13:00–21:00 UTC
ap-southeast-1 亞太 (新加坡) 區域 14:00–22:00 UTC
ap-southeast-2 亞太 (雪梨) 區域 12:00–20:00 UTC
ap-south-1 亞太 (孟買) 區域 17:30–1:30 UTC
cn-northwest-1 中國 (寧夏) 區域 23:00–07:00 UTC
cn-north-1 中國 (北京) 區域 14:00–22:00 UTC
eu-central-1 歐洲 (法蘭克福) 區域 23:00–07:00 UTC
eu-north-1 歐洲 (斯德哥爾摩) 區域 01:00–09:00 UTC
eu-south-2 歐洲 (西班牙) 區域 21:00–05:00 UTC
eu-west-1 歐洲 (愛爾蘭) 區域 22:00–06:00 UTC
eu-west-2 歐洲 (倫敦) 區域 23:00–07:00 UTC
eu-west-3 歐洲 (巴黎) 區域 23:00–07:00 UTC
sa-east-1 南美洲 (聖保羅) 區域 01:00–09:00 UTC
us-east-1 美國東部 (維吉尼亞北部) 區域 03:00–11:00 UTC
us-east-2 美國東部 (俄亥俄) 區域 23:00–07:00 UTC
us-west-1 美國西部 (加利佛尼亞北部) 區域 06:00–14:00 UTC
us-west-2 美國西部 (奧勒岡) 區域 06:00–14:00 UTC