

 此白皮書僅供歷史參考。有些內容可能已過時，有些連結可能無法使用。

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

# 安全與效能的架構
<a name="architecting-for-security-and-performance"></a>

 無論您選擇在 Amazon RDS 或 Amazon EC2 上執行 Oracle Database，最佳化基礎設施的每個元件都會增強安全性、效能和可靠性。在下列各節中， AWS 將討論最佳化 Oracle 資料庫實作中的網路組態、執行個體類型和資料庫儲存體的最佳實務。

**Topics**
+ [網路組態](network-configuration.md)
+ [Amazon EC2 執行個體類型](amazon-ec2-instance-type.md)
+ [資料庫儲存](database-storage.md)

# 網路組態
<a name="network-configuration"></a>

 使用 Amazon Virtual Private Cloud (Amazon VPC)，您可以佈建 帳戶 AWS 雲端 專用的邏輯隔離區段。您可以完全控制虛擬聯網環境，包括選擇您自己的 IP 地址範圍、子網路的建立、安全設定，以及路由表和網路閘道的組態。

 *子網路*是 Amazon VPC 中的 IP 地址範圍。您可以在您選取的子網路中啟動 AWS 資源。針對必須連線至網際網路的資源使用公有子網，並針對不會連線至網際網路的資源使用私有子網。

 若要保護每個子網路中的 AWS 資源，您可以使用多層安全，包括安全群組和網路存取控制清單 ACLs)。

 下表說明安全群組和網路 ACLs之間的基本差異。


|  **安全群組**  |  **網路 ACL**  | 
| --- | --- | 
|  在執行個體層級運作 (第一層防護)  |  在子網路層級運作 (第二層防護)  | 
|  支援僅允許規則  |  支援允許規則和拒絕規則  | 
|  狀態：自動允許傳回流量，無論任何規則為何  |  無狀態：傳回流量必須經規則明確允許  | 
|  在決定是否允許流量前，先評估所有規則  |  在決定是否允許流量前，先依照數字順序處理規則  | 
|  若某人於啟動執行個體時指定安全群組，或在啟動後將安全群組與執行個體建立關聯，才會套用至執行個體。 |  自動套用至與其相關聯子網路中的所有執行個體 (備份防護層，因此您不必依賴其他人指定安全群組)  | 

 

 Amazon VPC 提供隔離、額外的安全性，以及將 Amazon EC2 執行個體分隔為子網路的能力，並允許使用私有 IP 地址。所有這些都對資料庫實作很重要。

在私有子網路中部署 Oracle 資料庫執行個體，並僅允許 Amazon VPC 內的應用程式伺服器或 Amazon VPC 內的堡壘主機存取資料庫執行個體。

建立適當的安全群組，僅允許透過指定的連接埠存取特定 IP 地址。無論您使用的是 Amazon RDS 還是 Amazon EC2，這些建議都適用於 Oracle 資料庫。

![\[Amazon VPC 私有子網路中的 Oracle 資料庫\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/oracle-database-aws-best-practices/images/oracle-db-private-subnet.png)


 

 Amazon VPC 私有子網路中的 Oracle 資料庫 

# Amazon EC2 執行個體類型
<a name="amazon-ec2-instance-type"></a>

 AWS 有大量可用的 Amazon EC2 執行個體類型，因此您可以選擇最適合工作負載的執行個體類型。不過，並非所有可用的執行個體類型都最適合執行 Oracle Database。

 如果您將 Amazon RDS 用於 Oracle 資料庫， 會根據最佳實務 AWS 篩選出一些執行個體類型，並為您提供 T 類、M 類和 R 類執行個體的各種選項。AWS 建議您為任何企業資料庫工作負載選擇 db.m 型或 r 型 Amazon RDS 執行個體。R5 執行個體非常適合記憶體密集型應用程式，例如高效能資料庫。

如需 RDS 執行個體的最新資訊，請參閱 [Amazon RDS for Oracle Database定價](https://aws.amazon.com/rds/oracle/pricing/)。您選擇的 Amazon RDS 執行個體類型應以資料庫工作負載和可用的 Oracle 資料庫授權為基礎。

 如果您在 Amazon EC2 上執行自我管理資料庫，Amazon EC2 執行個體類型還有更多可用選項。這通常是使用者選擇在 Amazon EC2 上執行 Oracle Database 而非使用 Amazon RDS 的原因之一。

非常小的執行個體類型不適合，因為在 CPU 使用量方面，Oracle 資料庫需要耗費大量資源。記憶體使用量較大的執行個體提供更好的快取和更大的系統全域區域 (SGA) AWS ，有助於改善資料庫效能。 建議您選擇記憶體和 CPU 之間有良好平衡的執行個體。

選擇與您計劃使用的 Oracle 資料庫授權，以及您計劃實作的架構相符的執行個體類型。如需最適合您業務需求的架構，請參閱 [Amazon EC2 上的 Oracle 資料庫進階架構白皮書。](https://d1.awsstatic.com/whitepapers/aws-advanced-architectures-for-oracle-db-on-ec2.pdf)

 Oracle 資料庫會大量使用磁碟儲存進行讀取/寫入操作，因此 AWS 強烈建議您僅使用針對 Amazon Elastic Block Store (Amazon EBS) 最佳化的執行個體。Amazon EBS 最佳化執行個體可在 Amazon EC2 和 Amazon EBS 之間提供專用輸送量。儲存子系統的頻寬和輸送量對於良好的資料庫效能至關重要。選擇具有較高網路效能的執行個體，以獲得更好的資料庫效能。

 下列執行個體系列最適合在 Amazon EC2 上執行 Oracle Database。


|  **執行個體系列**  |  **功能**  | 
| --- | --- | 
|  M 系列  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/oracle-database-aws-best-practices/amazon-ec2-instance-type.html)  | 
|  X 系列  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/oracle-database-aws-best-practices/amazon-ec2-instance-type.html)    | 
|  R 系列  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/oracle-database-aws-best-practices/amazon-ec2-instance-type.html)    | 
|  我家庭  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/oracle-database-aws-best-practices/amazon-ec2-instance-type.html)    | 
|  Z1d 系列  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/oracle-database-aws-best-practices/amazon-ec2-instance-type.html)  | 

 

# 資料庫儲存
<a name="database-storage"></a>

 大多數使用者通常會使用 Amazon EBS 進行資料庫儲存。對於一些非常高效能的架構，您可以使用執行個體儲存 SSDs，但應使用 Amazon EBS 儲存來增強它們，以實現可靠的持久性。

 為了獲得高且一致的 IOPS 和資料庫效能，AWS 強烈建議使用一般用途 (GP2) 磁碟區或佈建 IOPS (PIOPS) 磁碟區。GP2 和 PIOPS 磁碟區適用於 Amazon EC2 和 Amazon RDS。如需 GP2 和 PIOPS 磁碟區類型的每個磁碟區 IOPS 的最新限制，請參閱 [ Amazon RDS 資料庫執行個體儲存](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)。GP2 磁碟區可針對大多數資料庫需求，在價格和效能之間取得絕佳的平衡。當您的資料庫需要高於 GP2 可提供的 IOPS 時，PIOPS 磁碟區是正確的選擇。

 對於 PIOPS 磁碟區，您可以在建立磁碟區時指定 IOPS 速率，Amazon EBS 會在指定年份 99.9% 的佈建 IOPS 效能內交付。佈建的 IOPS 與請求的磁碟區大小的比率上限為 30。例如，若要取得 3，000 IOPS，您的磁碟區大小至少應為 100 GB。

 與 PIOPS 磁碟區類似，GP2 磁碟區也是 SSD 型磁碟區，但您從 GP2 磁碟區取得的 IOPS 可能從基準 IOPS 到每個磁碟區最大可爆量 3，000 IOPS。這非常適用於大多數資料庫工作負載，因為資料庫所需的 IOPS 效能在一段時間內會因負載大小和執行的查詢數量而有所不同。

 一般用途 (SSD) 磁碟區效能由磁碟區大小管理，這會決定磁碟區的基本效能等級，以及累積 I/O 額度的速度。較大的磁碟區會擁有較高的基準效能等級，輸入/輸出額度累積也較快。

 I/O 額度代表一般用途 (SSD) 磁碟區在需要超過基本效能時，可用來爆量大量 I/O 的可用頻寬。您的磁碟區擁有的 I/O 點數越多，超出其基本效能等級的時間就越多，而且需要更多效能時效能越好。

 輸送量最佳化 HDD 磁碟區 (st1) 提供低成本 HDD 磁碟區，專為需要較少 IOPS 但高輸送量的密集工作負載而設計。用於資料倉儲和資料分析目的的 Oracle 資料庫可以利用 st1 磁碟區。

任何需要高輸送量的日誌處理或資料暫存區域，例如 Oracle 外部資料表或外部 BLOB 儲存，都可以利用 st1 磁碟區。輸送量最佳化 (st1) 磁碟區每個磁碟區最多可處理 500 IOPS。

 冷 HDD 磁碟區 (sc1) 適用於處理舊版系統，這些系統會保留為偶爾參考或封存之用。這些系統存取頻率較低，每天對磁碟區執行幾次掃描。

 一個好方法是估計資料庫持續需要的 IOPS 數量，並配置足夠的 GP2 儲存來取得這麼多 IOPS。定期尖峰所需的任何其他 IOPS 都應該根據可用的額度，涵蓋在爆量效能中。

如需有關可用來判斷 Oracle 資料庫 IOPS 需求之估算方法的資訊，請參閱[在 AWS 上判斷 Oracle 資料庫的 IOPS 需求](https://docs.aws.amazon.com/whitepapers/latest/determining-iops-needs-oracle-db-on-aws/determining-iops-needs-oracle-db-on-aws.html)白皮書。

 磁碟區的爆量持續期間相依於磁碟區大小、所需的爆量 IOPS 和爆量開始時的額度餘額。如果您注意到磁碟區效能經常受限於基本層級 （由於空的 I/O 額度餘額），則應考慮針對需要持續 IOPS 效能大於 10，000 IOPS 的工作負載使用較大的一般用途 (SSD) 磁碟區 （具有較高的基本效能層級） 或切換到佈建 IOPS (SSD) 磁碟區。如需 GP2 磁碟區的其他詳細資訊，請參閱 [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html)。

 對於 Amazon RDS，一般用途 (SSD) 儲存提供每個佈建 GB 3 IOPS 的一致基準，並提供高達 3，000 IOPS 的爆量能力。如果您已經為 Amazon RDS 使用磁性儲存體，您可以轉換為一般用途 (SSD) 儲存體，但這樣做將對可用性產生短暫影響。使用佈建 IOPS，您可以為每個資料庫執行個體佈建高達目前的最大儲存限制和最大 IOPS。

實際實現的 IOPS 可能與根據資料庫工作負載、執行個體類型和資料庫引擎佈建的數量不同。如需詳細資訊，請參閱《[*Amazon RDS 使用者指南*》中的影響已實現 IOPS 速率的因素](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)。

 對於 Amazon EC2 上的 Oracle Database，將多個磁碟區分割在一起，以獲得更多 IOPS 和更大的容量。您可以針對不同的資料檔案個別使用多個 Amazon EBS 磁碟區，但將它們分割在一起可以獲得更好的平衡和可擴展性。

Oracle Automatic Storage Management (ASM) 可用於分割。將資料檔案、日誌檔案和二進位檔案保留在不同的 Amazon EBS 磁碟區上，並定期拍攝日誌檔案磁碟區的快照。選擇具有本機 SSD 儲存體的執行個體類型，可讓您使用 Smart Flash Cache （如果作業系統是 Oracle Linux) 以及將本機儲存體用於暫存檔案和資料表空間，以提升資料庫效能。

 對於 VMware Cloud on AWS 上的 Oracle Database，vSAN 提供跨裸機主機分割的必要虛擬化儲存體。vSAN 虛擬化儲存體功能可在 Oracle RAC 中使用，以實現高效能的共用儲存體。

為 Oracle RAC 建立的 VMDK （虛擬機器磁碟） 檔案必須佈建為更厚的零，並啟用多寫入器旗標。VMware 已針對 VMware Cloud on AWS 上的 Oracle 資料庫發佈[詳細的效能研究](https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/whitepaper/solutions/oracle/vmw-oracle-performance-on-the-vmware-cloud-on-aws.pdf)。