Amazon RDS Custom 架構 - Amazon Relational Database Service

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

Amazon RDS Custom 架構

Amazon RDS Custom 架構是根據 Amazon RDS,但是有重要差異。下列圖表顯示 RDS Custom 架構的關鍵元件。

RDS Custom 架構元件

VPC

與 Amazon RDS 相同,您的 RDS Custom 資料庫執行個體位於 Virtual Private Cloud (VPC) 中。

RDS Custom 資料庫執行個體元件

RDS Custom 資料庫執行個體包含下列主要元件:

  • Amazon EC2 執行個體

  • 執行個體端點

  • 安裝在 Amazon EC2 執行個體上的作業系統

  • Amazon EBS 儲存體,其中包含任何其他檔案系統

RDS Custom 自動化與監控

RDS Custom 具有在資料庫執行個體外部執行的自動化軟體。此軟體會與資料庫執行個體上的代理程式以及整體 RDS Custom 環境中的其他元件進行通訊。

RDS Custom 監控和復原功能提供類似於 Amazon RDS 的功能。根據預設,RDS Custom 處於全自動化模式。自動化軟體具有下列主要責任:

  • 收集指標及傳送通知

  • 執行自動執行個體復原

RDS Custom 自動化的一個重要責任是回應 Amazon EC2 執行個體的問題。由於各種原因,主機可能會受損或無法連線。RDS Custom 透過重新開機或取代 Amazon EC2 執行個體來解決這些問題。

Amazon RDS Custom 主機更換

如果 Amazon EC2 主機受損,則 RDS Custom 會嘗試將其重新啟動。如果此工作失敗,RDS Custom 會使用 Amazon EC2 中包含的相同停止和啟動功能。取代主機時,客戶唯一可見的變更是新的公有 IP 地址。

停止和啟動主機

RDS Custom 會自動執行下列步驟,不需要使用者介入:

  1. 停止 Amazon EC2 主機。

    EC2 執行個體會執行正常的關機,然後停止執行。所有的 Amazon EBS 磁碟區仍會繼續連結至執行個體,其中的資料也會持續存在。所有存放在執行個體存放區磁碟區中的資料 (RDS Custom 不支援) 或主機電腦的 RAM 中的資料都會遺失。

    如需詳細資訊,請參閱 Amazon EC2 使用者指南中的停止和啟動執行個體。

  2. 啟動 Amazon EC2 主機。

    EC2 執行個體會遷移至新的基礎主機硬體。在某些情況下,RDS Custom 資料庫執行個體會保留在原始主機上。

主機取代的影響

在 RDS Custom 中,您可以完全控制根裝置磁碟區和 Amazon EBS 儲存磁碟區。根磁碟區可能包含您不想遺失的重要資料和組態。

RDS Custom for Oracle 會在操作後保留所有資料庫和客戶資料,包括根磁碟區資料。不需要使用者介入。在 RDS Custom for SQL Server 上,會保留資料庫資料,但是 C: 磁碟機上的任何資料 (包括作業系統和客戶資料) 都會遺失。

在取代程序之後,Amazon EC2 主機會擁有新的公有 IP 地址。主機會保留下列項目:

  • 執行個體 ID

  • 私有 IP 地址

  • 彈性 IP 地址

  • 執行個體中繼資料

  • 資料儲存磁碟區資料

  • 根磁碟區資料 (在 RDS Custom for Oracle 上)

Amazon EC2 主機的最佳實務

Amazon EC2 主機取代功能涵蓋大多數 Amazon EC2 受損案例。建議您遵循下列最佳實務:

  • 變更組態或作業系統之前,請先備份您的資料。如果根磁碟區或作業系統損毀,主機取代也無法修復它。您唯一的選擇是從數據庫快照還原或 point-in-time 恢復。

  • 請勿手動停止或終止實體 Amazon EC2 主機。這兩個動作都會導致執行個體放在 RDS Custom 支援周邊外面。

  • (RDS Custom for SQL Server) 如果您將其他磁碟區連接到 Amazon EC2 主機,請將其設定為在重新啟動時重新掛載。如果主機受損,RDS Custom 可能會自動停止和啟動主機。

RDS Custom 支援周邊

RDS Custom 提供額外的監控功能,稱為支援周邊。此額外監控可確保您的 RDS Custom 資料庫執行個體使用支援的 AWS 基礎結構、作業系統和資料庫。

支援周邊會檢查資料庫執行個體是否符合 修正 RDS Custom for Oracle 中不支援的組態修正 RDS Custom for SQL Server 中不支援的組態 中所列的需求。如果有任何需求不符合,RDS Custom 會將您的資料庫執行個體視為不在支援周邊。

RDS Custom 中不支援的組態

如果資料庫執行個體不在支援周邊,RDS Custom 會將資料庫執行個體的狀態變更為 unsupported-configuration,並傳送事件通知。修正組態問題之後,RDS Custom 會將資料庫執行個體狀態變更回 available

當資料庫執行個體處於 unsupported-configuration 狀態時,以下為真:

  • 您的資料庫可連線。但資料庫執行個體處於 unsupported-configuration 狀態時則例外,因為資料庫會意外關閉。

  • 您無法修改資料庫執行個體。

  • 您無法擷取資料庫快照。

  • 不會建立自動備份。

  • (僅適用 RDS Custom for SQL Server 資料庫執行個體) RDS Custom 不會更換故障的基礎 Amazon EC2 執行個體。如需主機更換的詳細資訊,請參閱 Amazon RDS Custom 主機更換

  • 您可以刪除資料庫執行個體,但大多數其他 RDS Custom API 操作無法使用。

  • RDS 自訂會將重做日誌檔存檔並上傳到 Amazon S3,繼續支援 point-in-time 復原 (PITR)。處於 unsupported-configuration 狀態的 PITR 在以下方面有所不同:

    • PITR 可能需要很長的時間才能完全還原到新的 RDS Custom 資料庫執行個體。發生此情況是因為執行個體處於 unsupported-configuration 狀態時,您無法拍攝自動或手動快照。

    • PITR 必須從執行個體進入 unsupported-configuration 狀態之前擷取的最近快照開始,重新播放更多重做日誌。

    • 在某些情況下,資料庫執行個體處於 unsupported-configuration 狀態是因為您所做的變更使得封存的重做日誌檔案無法上傳。範例包括停止 EC2 執行個體、停止 RDS Custom 代理程式,以及卸離 EBS 磁碟區。在這類情況下,PITR 無法將資料庫執行個體還原至最新的可還原時間。

對不支援的組態進行故障診斷

RDS Custom 針對 unsupported-configuration 狀態提供了故障診斷指引。雖然部分指引同時適用於 RDS Custom for Oracle 和 RDS Custom for SQL Server,但其他指引則取決於您的資料庫引擎。如需引擎專屬的故障診斷資訊,請參閱下列主題:

Amazon S3

若您使用 RDS Custom for Oracle,則會將安裝媒體上傳至使用者建立的 Amazon S3 儲存貯體。RDS Custom for Oracle 使用此儲存貯體中的媒體來建立自訂引擎版本 (CEV)。CEV 是資料庫版本和 Amazon Machine Image (AMI) 的二進位磁碟區快照。您可從 CEV 建立 RDS Custom 資料庫執行個體。如需詳細資訊,請參閱 使用 Amazon RDS Custom for Oracle 的自訂引擎版本

若為 RDS Custom for Oracle 和 RDS Custom for SQL Server 兩者,RDS Custom 會自動建立以字串 do-not-delete-rds-custom- 為字首的 Amazon S3 儲存貯體。RDS Custom 使用 do-not-delete-rds-custom- S3 儲存貯體來儲存下列類型的檔案:

  • AWS CloudTrail RDS 自訂所建立的追蹤記錄

  • 支援周邊成品 (請參閱 RDS Custom 支援周邊)

  • 資料庫重做日誌檔案 (僅限 RDS Custom for Oracle)

  • 交易日誌 (僅限 RDS Custom for SQL Server)

  • 自訂引擎版本成品 (僅限 RDS Custom for Oracle)

當您建立下列任一資源時,RDS Custom 會建立 do-not-delete-rds-custom- S3 儲存貯體:

  • RDS Custom for Oracle 的首個 CEV

  • RDS Custom for SQL Server 的首個資料庫執行個體

RDS Custom 為下列各項組合建立一個儲存貯體:

  • AWS 帳戶 身份證

  • 引擎類型 (RDS Custom for Oracle 或 RDS Custom for SQL Server)

  • AWS 區域

例如,如果您在單一儲存貯體中建立適用於 Oracle CEV 的 RDS 自訂項目 AWS 區域,則存在一個do-not-delete-rds-custom-值區。如果您為 SQL Server 執行個體建立多個 RDS 自訂,且它們位於不同的執行個體中 AWS 區域,則每個執行個體中都有一個do-not-delete-rds-custom-值區 AWS 區域。如果您在單一執行個體中建立一個適用於 Oracle 執行個體的 RDS 自訂和兩個適用於 SQL Server 的 RDS 自訂執行個體 AWS 區域,則存在兩個do-not-delete-rds-custom-值區

AWS CloudTrail

RDS 自訂會自動建立名稱開頭為的 AWS CloudTrail 追蹤do-not-delete-rds-custom-。RDS 自訂支援範圍會依賴事件 CloudTrail 來判斷您的動作是否會影響 RDS 自訂自動化。如需詳細資訊,請參閱 對不支援的組態進行故障診斷

RDS Custom 在您建立第一個資料庫執行個體時建立追蹤。RDS Custom 為下列各項組合建立一個追蹤:

  • AWS 帳戶 身份證

  • 引擎類型 (RDS Custom for Oracle 或 RDS Custom for SQL Server)

  • AWS 區域

刪除 RDS 自訂資料庫執行個體時,不會自動移除此執行個體的。 CloudTrail 在這種情況下,系統會 AWS 帳戶 繼續向您收取未刪除 CloudTrail的費用。RDS Custom 不負責刪除此資源。若要瞭解如何 CloudTrail 手動移除,請參閱《AWS CloudTrail 使用指南》中的〈刪除追蹤