Amazon ElastiCache 是一項全受管的 RedisMemcached 相容服務,可為現代應用程式提供即時、成本優化的效能,以及高達 99.99% 可用性。ElastiCache 非常適合高效能使用案例,例如資料快取、Web、行動應用程式、醫療保健應用程式、金融應用程式、遊戲、廣告技術、IoT、媒體串流、工作階段儲存、排行榜、機器學習 (ML),還有以微型服務為基礎的應用程式。請參閱我們的 Amazon ElastiCache for Redis 使用案例Amazon ElastiCache for Memcached 使用案例,了解 ElastiCache 如何提供協助。

ElastiCache 可加快資料庫和應用程式效能,以微秒級回應時間擴展至每秒數億個操作。相較於開放原始碼替代方案,其優勢包括增強的安全性、可靠性、可擴展性和效能。該服務還能針對高讀取量的工作負載節省成本,並為記憶體密集型工作負載提供資料分層等成本優化功能。進一步了解 ElastiCache 功能和下方的優勢。

無伺服器

一分鐘內即可開始使用

使用 Amazon ElastiCache Serverless,您可在一分鐘內建立高可用性快取,而無需進行基礎設施佈建或設定。您可在 AWS 管理主控台、AWS Software Development Kit (SDK) 或 AWS Command Line Interface (CLI) 中指定快取名稱,只需幾個步驟即可建立 ElastiCache Serverless 快取。

無需容量規劃

ElastiCache Serverless 可持續監控快取的運算、記憶體和網路使用率,並立即垂直和水平擴展以滿足需求,從而消除複雜性、耗時的容量規劃程序。

Amazon ElastiCache Serverless 簡介 (1:30)

依用量付費計費模式

使用依用量付費計費模式,您不必擔憂 ElastiCache Serverless 在縮減工作負載之後,容量的縮減速度如何。您只需依儲存的資料和應用程式使用的運算付費。如需進一步了解,請瀏覽 ElastiCache 定價頁面

易於使用

快速入門

藉助 ElastiCache Serverless,您可使用主控台、AWS CLI 或 AWS SDK,在一分鐘內建立新的無伺服器快取,而無需管理基礎設施或容量。如果您要設計自己的叢集,資源已使用適當的參數和設定預先設定好,而快取參數群組能夠對 Redis 或 Memcached 環境啟用精細控制以進行微調。

請參閱我們的文件,了解如何快速開始使用 ElastiCache for Redis,以及開始使用 ElastiCache for Memcached

全受管 Redis 和 Memcached

ElastiCache 是一項全受管服務。我們可自動執行耗時的管理任務,例如容量規劃、軟體修補程式管理、故障偵測和復原,讓您能夠追求價值更高的應用程式開發工作。您可內建存取基礎記憶體資料庫環境,讓您簡單地使用 ElastiCache 並搭配現有的 Redis 和 Memcached 工具及應用程式。使用 ElastiCache Serverless,會自動套用所有次要版本更新、效能增強和安全修補程式,而無需進行組態設定,且不會中斷應用程式。

新增快取至關聯式資料庫

您可使用 Amazon Relational Database Service (Amazon RDS) 和 Amazon Aurora 的主控台,來建立 ElastiCache 叢集並將其附接至關聯式資料庫。如此您便可加速應用程式效能,同時更快捷地讀取並降低成本。在 Amazon RDSAurora 文件中,進一步了解有關建立和附接 ElastiCache 叢集的相關資訊。

監控

Amazon CloudWatch 指標提供 ElastiCache 資源的洞察,無須另外付費。您可使用主控台,針對您的執行個體檢視超過 40 個關鍵營運指標,包括運算、使用的記憶體、快取命中率、作用中連線、複寫及命令。若要進一步了解如何監控快取叢集,請參閱我們關於監控 ElastiCache for Redis 的 CloudWatch 指標ElastiCache for Memcached 的 CloudWatch 指標的相關文件。

ElastiCache 發布有關重要事件的訊息。ElastiCache Serverless 事件包括新的快取建立、刪除及快取組態更新,這些事件會傳送至 Amazon EventBridge。使用自我設計的快取叢集時,ElastiCache 會將事件傳送至 Amazon Simple Notification Service (Amazon SNS)。

標記

能夠標記 ElastiCache 資源和 Redis 快照,用於追蹤和帳單用途。您可使用 AWS Cost Explorer 將成本歸因於資源和資源群組,以建立和維護共用一組常用標記的資源集合。若要進一步了解如何標記 ElastiCache 資源,請參閱 ElastiCache for Redis 標記ElastiCache for Memcached 標記的相關文件。

JSON 支援

除了開放原始碼 Redis 資料結構外,ElastiCache for Redis 還為 JavaScript 物件標記法 (JSON) 文件提供內建支援。您可以使用專為 JSON 文件設計和優化的內建命令,來簡化應用程式開發。ElastiCache for Redis 支援部分 JSON 文件更新,以及使用 JSONPath 查詢語言進行的強大搜尋和篩選。使用 ElastiCache for Redis 6.2 版或更高版本時,提供對 JSON 文件的支援。

效能和可擴展性

微秒級回應時間

ElastiCache 無需因經常存取的資料而存取磁碟式資料庫,有助於改善應用程式效能,並提升高讀取量工作負載的輸送量。ElastiCache 能夠以微秒級回應時間,擴展至每秒數百萬次操作。

高輸送量和延遲

與 ElastiCache for Redis 7.0 版相比,ElastiCache for Redis 版本 7.1 提供高達 100% 的輸送量和降低 50% 的 P99 延遲。在 r7g.4xlarge 節點或更大的節點上,您可以每秒達到超過 1 百萬個請求,或每個叢集每秒達到 500 萬個請求。

ElastiCache for Redis 7.1 版提供增強的 I/O 執行緒,可透過多路復用、簡報層卸載等,大幅提升輸送量和延遲。增強型 I/O 執行緒非常適合具有多個用戶端連線的輸送量受限工作負載,其優勢隨工作負載並行層級而擴展。圖表中顯示將工作推向專用執行緒方面的改善。

若要開始使用 ElastiCache for Redis 7.1 版,請使用 ElastiCache 主控台建立新的叢集或升級現有叢集,無需額外費用。若要進一步了解,請瀏覽 ElastiCache for Redis 支援版本文檔,並閱讀我們的 ElastiCache for Redis 7.1 版部落格文章

擴展叢集以符合需求

ElastiCache Serverless 可自動且彈性地調整,以滿足應用程式的效能需求。ElastiCache Serverless 可持續監控應用程式在快取中使用的記憶體、運算和網路頻寬。該服務可使快取就地擴展,同時還可平行擴展,以確保快取可支援應用程式的流量需求。進一步了解擴展 ElastiCache for Redis 叢集擴展 ElastiCache for Memcached 叢集

應用程式自動擴展

在設計自己的快取時,ElastiCache for Redis 自動擴展讓您能夠自動增加或減少 ElastiCache for Redis 服務中所需的碎片或複本,以最低的可能成本來維持穩定、可預測的效能。ElastiCache for Redis 使用 AWS Auto Scaling 來管理擴展,並使用 CloudWatch 指標來確定何時需要擴展或縮減規模。

可用性和可靠性

高可用性和多個可用區域

ElastiCache 在使用多個可用區域 (多可用區) 或無伺服器組態時,提供 99.99% 服務水準協議 (SLA)。ElastiCache Serverless 自動在多個可用區域之間,以備援方式存放資料,而無需進行使用者組態設定。在設計自己的快取叢集時,您可在多個可用區域中建立複本,充分利用多個 AWS AZ 來實現高可用性並擴展讀取流量。在主節點遺失的情況下,AWS 將自動偵測故障並將故障容錯移轉到某個僅供讀取複本,在無須手動介入的情況下提供更高的可用性。閱讀更多有關使用複寫群組實現高可用性,以及如何使用多可用區在 ElastiCache for Redis 中將停機時間降至最低的內容。

使用 Global Datastore 進行跨區域災難復原

ElastiCache for Redis 中的 Global Datastore 提供全受管、快速、可靠且安全的跨 AWS 區域複寫。藉助 Global Datastore,您可在一個區域寫入 ElastiCache for Redis 叢集,並可從其他兩個跨區域複寫叢集讀取該資料,進而實現跨 AWS 區域的低延遲讀取和災難復原。在罕見的區域性降級情況下,可以將一個運作正常的跨區域複寫叢集提升為具有完全讀取和寫入功能的主叢集。 

執行個體監控和修復

ElastiCache 會持續監控執行個體的運作狀態。當節點發生故障或效能長時間降低時,ElastiCache 會自動重新啟動或取代節點及關聯的程序。

備份、還原和匯出

ElastiCache for Redis 可透過建立叢集快照來協助保護您的資料。只要在主控台中操作幾下步驟,或透過簡單的 API 呼叫,即可設定自動快照或啟動手動備份。使用這些快照或存放在 Amazon Simple Storage Service (Amazon S3) 的任何 Redis RDB 相容快照,您可以植入新的 ElastiCache for Redis 叢集。

您也可以將快照匯出到所選的 Amazon S3 儲存貯體以用於災難復原、分析或跨區域備份和還原。閱讀更多有關 ElastiCache for Redis 備份和還原以保護您的資料的內容。

安全與合規

網路隔離

ElastiCache 讓您能在 Amazon Virtual Private Cloud (Amazon VPC) 中執行資源。Amazon VPC 可讓您指定希望用於節點的 IP 範圍以隔離 ElastiCache 資源,並連線至同一 Amazon VPC 內的其他應用程式。您還可使用此服務來進行防火牆設定,以控制對資源的網路存取。閱讀更多有關 Amazon VPC 和 ElastiCache for Redis 安全以及 Amazon VPC 和 ElastiCache for Memcached 安全的內容。

傳輸中和靜態加密

ElastiCache 支援傳輸中加密,可讓您對用戶端與 ElastiCache 伺服器之間的所有通訊進行加密,以及對 ElastiCache 服務界限內的所有通訊進行加密。ElastiCache 還支援靜態加密,這允許您加密 Amazon S3 中的磁碟用量和備份。進一步了解加密以及 ElastiCache for Redis 資料安全Elasticache for Memcached 資料安全。ElastiCache Serverless 一律使用 Transport Layer Security (TLS),來加密靜態資料和傳輸中資料。 

此外,ElastiCache 還提供 AWS Key Management Service (AWS KMS) 整合,可讓您使用自己的 AWS KMS key 進行加密。此外,您可以使用 Redis AUTH 命令新增身份驗證層級。您無須管理憑證的生命週期,因為 ElastiCache for Redis 會自動管理憑證的發佈、更新和過期。

Redis 身分驗證和存取控制

ElastiCache for Redis 支援使用 IAM 身分、Redis AUTH 和以角色為基礎的存取控制 (RBAC),透過 AWS Identity and Access Management (IAM) 身分驗證功能來進行身分驗證。

藉由 IAM 身分驗證功能,您可使用 AWS IAM 身分來驗證與 ElastiCache for Redis 的連線,以加強安全模型並簡化許多管理性安全任務。使用 Redis 身分驗證權杖或密碼,Redis 在允許用戶端執行命令之前需要密碼,從而改善資料安全性。

合規

ElastiCache 支援 SOC 1、SOC 2、SOC 3、ISO、MTCS、C5、PCI、HIPAA 和 FedRAMP 等合規計畫。請參閱合規計畫的 AWS 服務範圍,以取得支援的合規計畫最新清單。

您可使用 AWS PrivateLink,從您的 Amazon VPC 私密存取 ElastiCache。PrivateLink 可讓您在沒有網際網路閘道、NAT 裝置、VPN 連線或 AWS Direct Connect 連線的情況下,私密存取 ElastiCache API 操作。閱讀更多有關 ElastiCache for Redis API 和介面 VPC 端點以及 ElastiCache for Memcached API 和介面 VPC 端點的內容。

經濟高效

只需按實際用量付費

使用 ElastiCache,您只需依取用的資源付費,而無需預付成本或長期承諾。 根據您設計自己的叢集時選取的節點數目、節點類型和定價模型,依 ElastiCache Serverless 存放的資料和取用的運算按小時計費。 如需進一步了解,請瀏覽 ElastiCache 定價頁面

對您的關聯式工作負載進行成本優化

您可使用 ElastiCache,透過記憶體快取來優化關聯式資料庫成本。將 ElastiCache 與 Amazon RDS for MySQL 搭配使用,(相較於單獨使用 Amazon RDS for MySQL) 您可節省高達 55% 的成本,並且讀取效能可提升高達 80 倍。

資料分層

您可使用 ElastiCache for Redis 的資料分層,以更低的成本將叢集擴展至高達數百 TB 的容量。除了將資料儲存在記憶體中之外,資料分層還透過在每個叢集節點中使用成本較低的固態硬碟 (SSD),為 Redis 工作負載提供一種價格效能比選項。

它非常適合定期存取多達 20% 的整個資料集的工作負載,以及在存取 SSD 上的資料時可以容忍額外延遲的應用程式。在以 Graviton2 為基礎的 R6gd 節點上使用 Redis 6.2 版或更高版本時,可以使用 ElastiCache 資料分層。R6gd 節點的總容量 (記憶體 + SSD) 增加了近 5 倍,相較於 R6g 節點 (僅記憶體),在以最大使用率執行時,可協助您實現 60% 以上的成本節省。

預留節點

當您簽訂一年期或三年期的合約時,ElastiCache 預留節點可為您提供隨需用量的大幅折扣。使用預留節點,您可採用不預付、部分預付款或全部預付的方式建立預留,以在特定區域執行節點。這些預留選項以一年期或三年期增量提供,並且針對持續的小時用量可提供大幅折扣。閱讀更多有關 ElastiCache for Redis 預留節點ElastiCache for Memcached 預留節點的內容。

常見問答集

Elasticache 的用途?

ElastiCache 是一種 Web 服務,讓使用者能夠在雲端輕鬆部署和執行與 Redis 或 Memcached 協定相容的伺服器節點。ElastiCache 允許您從高速、全受管的記憶體內系統擷取資訊,而不是完全倚賴速度較慢的磁碟型系統,藉此提高 Web 應用程式的效能。

ElastiCache 可簡化和免除記憶體內環境的管理、監控和操作,讓您將工程資源投注在應用程式開發。使用 ElastiCache,您可以改善使用者動作和查詢的負載與回應時間,還可降低與擴展 Web 應用程式相關的成本。

ElastiCache 是否為無伺服器設計?

是。ElastiCache Serverless 讓客戶能夠在一分鐘內新增快取,並根據應用程式流量模式立即擴展容量。您可使用主控台、SDK 或 AWS CLI 指定快取名稱,以輕鬆開始使用。如需進一步了解,請瀏覽我們的 ElastiCache 文件

ElastiCache 的優勢有哪些?

ElastiCache 是一項全受管服務,可自動化分散式記憶體鍵值環境操作所需的常見管理工作。

使用 ElastiCache Serverless,您可在不到一分鐘內建立高可用性和可擴展的快取,從而無需佈建、規劃和管理快取叢集容量。ElastiCache Serverless 在三個可用區域以自動和備援方式存放資料,並提供 99.99% 可用性的服務水準協議 (SLA)。透過與 CloudWatch 監控功能整合,ElastiCache 能提供增強的可見度,以便您更清楚了解與快取資源關聯的關鍵效能指標。

ElastiCache 與 Redis 和 Memcached 採用相容的協定,因此與現有 Redis 或 Memcached 環境搭配使用的程式碼、應用程式和常用工具可順暢地使用服務。使用 ElastiCache 提供的叢集化組態支援,您可充分利用快速、可擴展且容易使用的受管服務,以滿足高需求應用程式的需要。使用 ElastiCache,您只需依用量付費,無需最低費用、預付成本或長期承諾。

ElastiCache 記憶體快取如何協助我的應用程式?

記憶體快取可將經常存取的資料項目存放在記憶體內,藉此來改善應用程式效能,因此相較於從可能預設為磁碟式儲存的主資料庫,後續的讀取速度會顯著加快。使用 ElastiCache 記憶體快取可顯著改善許多高讀取量的應用程式工作負載 (例如社交聯網、遊戲、媒體共享和常見問答集入口網站) 或運算密集型工作負載 (例如建議引擎) 的延遲和輸送量。

記憶體快取透過將關鍵資料存放在記憶體來提供低延遲存取,以提高應用程式效能。已快取的資訊可能包括 I/O 密集型資料庫查詢的結果或運算密集型計算的結果。

如何設定並開始使用 ElastiCache?

開始使用 ElastiCache 非常簡單。如果您還沒有註冊 ElastiCache,可以按一下 ElastiCache 概觀頁面上的「開始使用」按鈕,然後完成註冊程序。您必須擁有 AWS 帳戶;如果沒有帳戶,在您開始 ElastiCache 註冊程序時,系統會提示您建立一個帳戶。

註冊後,新 AWS 客戶可免費獲得長達 12 個月的 ElastiCache cache.t2.micro 或 cache.t3.micro 節點 750 小時的使用時間 (AWS 免費方案的一部分)。

註冊 ElastiCache 之後,請參閱 ElastiCache for Redis 入門指南ElastiCache for Memcached 入門指南,了解如何在幾分鐘內使用主控台、AWS CLI 或 ElastiCache API 來啟動叢集。