本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定並啟用增強型監控
若要使用增強型監控,您必須建立IAM角色,然後啟用增強型監控。
建立加強型監視的IAM角色
增強型監控需要代表您採取行動的權限,才能將 OS 指標資訊傳送至 CloudWatch 記錄檔。您可以使用 AWS Identity and Access Management (IAM) 角色授與增強型監控權限。您可以在啟用增強型監控時建立此角色,也可以事先建立。
在啟用增強型監控時建立IAM角色
當您在主控台中啟用增強型監RDS控時,Amazon RDS 可以為您建立必要的IAM角色。角色已命名 rds-monitoring-role
。RDS將此角色用於指定的資料庫執行個體、僅供讀取複本或異地同步備份資料庫叢集。
若要在啟用增強型監控時建立IAM角色
-
請遵循 開啟和關閉增強型監控 中的步驟。
-
在您選擇角色的步驟中,將 「Monitoring Role (監控角色)」設定為「Default (預設) 」。
在啟用增強型監控之前建立IAM角色
您可以在啟用增強型監控之前建立必要的角色。啟用增強型監控時,請指定新角色的名稱。如果您使用 AWS CLI 或啟用增強型監控,則必須建立此必要角色RDSAPI。
必須將 PassRole
許可授予會啟用增強型監控的使用者。如需詳細資訊,請參閱《使用指南》中的 < 授與使用者權限以將角色傳遞給 AWS 服務 > 中IAM的範例 2。
為 Amazon RDS 增強型監控創建IAM角色
-
請在以下位置開啟IAM主控台
。 https://console.aws.amazon.com -
在導覽窗格中,選擇 Roles (角色)。
-
選擇 Create Role (建立角色)。
-
選擇AWS 服務索引標籤,然後RDS從服務清單中選擇。
-
選擇 RDS-[增強型監控],然後選擇 [下一步]。
-
確定 [權限] 原則顯示 [A] mazonRDSEnhancedMonitoringRole,然後選擇 [下一步]。
-
針對 Role name (角色名稱),輸入您的角色名稱。例如,輸入
emaccess
。您角色的受信任實體是 AWS 服務監控.
-
選擇建立角色。
開啟和關閉增強型監控
您可以使用 AWS Management Console、 AWS CLI或來開啟和關閉增強型監控RDSAPI。您可以選擇要開啟增強型監控的RDS資料庫執行個體。您可以針對每個資料庫執行個體上的指標收集設定不同的精密度。
您可以在建立資料庫執行個體、多可用區域資料庫叢集或僅供讀取複本時,或在您修改資料庫執行個體或多可用區域資料庫叢集時,開啟增強型監控。如果您修改資料庫執行個體以開啟增強型監控,您的資料庫執行個體無需重新啟動,改變即可生效。
當您在「資料庫」頁面中執行下列其中一個動作時,可以在RDS主控台中開啟「增強型監控」:
-
建立資料庫執行個體或多可用區域資料庫叢集:選擇 Create database (建立資料庫)。
-
建立僅供讀取複本 – 選擇 Actions (動作),然後選 Create read replica (建立僅供讀取複本)。
-
修改資料庫執行個體或多可用區域資料庫叢集:選擇 Modify (修改)。
在主控台中開啟或關閉增強型監RDS控
-
捲動至 Additional configuration (其他組態)。
-
在 Monitoring (監控) 中,為資料庫執行個體或僅供讀取複本選擇 Enable Enhanced Monitoring (啟用增強型監控)。若要關閉增強型監控,請選擇 Disable enhanced monitoring (停用增強型監控)。
-
將「監控角色」屬性設定為您建立的IAM角色,以允許 Amazon RDS 為您與 Amazon CloudWatch 日誌通訊,或選擇「預設」為您RDS建立指定的角色
rds-monitoring-role
。 -
系統會收集資料庫執行個體或僅供讀取複本的指標,請將 Granularity (精細程度) 屬性設定為該資料點的時間間隔 (以秒為單位)。Granularity (精細程度) 屬性可設定為以下其中一個值:
1
、5
、10
、15
、30
或60
。RDS主控台重新整理速度最快為每 5 秒。如果您在RDS主控台中將粒度設定為 1 秒,您仍然只會看到每 5 秒更新一次的指標。您可以使用 CloudWatch 記錄擷取 1 秒的指標更新。
若要使用開啟增強型監控 AWS CLI,請在下列命令中將--monitoring-interval
選項設定為值以外的值,0
並將--monitoring-role-arn
選項設定為您在中建立的角色建立加強型監視的IAM角色。
-
create-db-cluster(異地同步備份資料庫叢集)
-
modify-db-cluster(異地同步備份資料庫叢集)
--monitoring-interval
為資料庫執行個體收集增強型監控指標點之間的間隔 (秒)。選項的有效值為 0
、1
、5
、10
、15
、30
和 60
。
若要使用關閉增強型監視 AWS CLI,請0
在這些指令中將--monitoring-interval
選項設定為。
範例
下方範例會為資料庫執行個體開啟增強型監控:
對於LinuxmacOS、或Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --monitoring-interval30
\ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
在 Windows 中:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --monitoring-interval30
^ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
範例
下方範例會為多可用區域資料庫叢集開啟增強型監控:
對於LinuxmacOS、或Unix:
aws rds modify-db-cluster \ --db-cluster-identifier
mydbcluster
\ --monitoring-interval30
\ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
在 Windows 中:
aws rds modify-db-cluster ^ --db-cluster-identifier
mydbcluster
^ --monitoring-interval30
^ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
若要使用開啟增強型監控 RDSAPI,請將MonitoringInterval
參數設定為其他值,0
並將MonitoringRoleArn
參數設定為您在中建立的角色建立加強型監視的IAM角色。在下列動作中設定這些參數:
-
C reateDBCluster (異地同步備份資料庫叢集)
-
M odifyDBCluster (異地同步備份資料庫叢集)
MonitoringInterval
參數會指定資料庫執行個體收集增強型監控指標點之間的間隔 (秒)。有效值為:0
、1
、5
、10
、15
、30
和 60
。
若要使用關閉增強型監控 RDSAPI,請將設定MonitoringInterval
為0
。
防範混淆代理人問題
混淆代理人問題屬於安全性議題,其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。在中 AWS,跨服務模擬可能會導致混淆的副問題。在某個服務 (呼叫服務) 呼叫另一個服務 (被呼叫服務) 時,可能會發生跨服務模擬。可以操縱呼叫服務來使用其許可,以其不應有存取許可的方式對其他客戶的資源採取動作。為了預防這種情況, AWS 提供的工具可協助您保護所有服務的資料,而這些服務主體已獲得您帳戶中資源的存取權。如需詳細資訊,請參閱混淆代理人問題。
若要限制 Amazon RDS 可提供其他服務的資源的許可,建議您在增強型監控角色的信任政策中使用aws:SourceArn
和aws:SourceAccount
全域條件上下文金鑰。如果您同時使用兩個全域條件內容索引鍵,兩者必須使用相同的帳戶 ID。
防止混淆的副問題的最有效方法是使用aws:SourceArn
全局條件上下文鍵與完整ARN的資源。對於 AmazonRDS,設置aws:SourceArn
為arn:aws:rds:
。Region
:my-account-id
:db:dbname
下列範例展示如何在信任政策中使用 aws:SourceArn
和 aws:SourceAccount
全域條件內容索引鍵,來預防混淆代理人問題。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "monitoring.rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:rds:
Region
:my-account-id
:db:dbname
" }, "StringEquals": { "aws:SourceAccount": "my-account-id
" } } } ] }