設定並啟用增強型監控 - Amazon Relational Database Service

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

設定並啟用增強型監控

若要使用增強型監控,您必須建立 IAM 角色,然後啟用增強型監控。

為增強型監控建立 IAM 角色

增強型監控需要許可才能代表您將作業系統指標資訊傳送至 CloudWatch Logs。您可以使用 AWS Identity and Access Management (IAM) 角色授予增強型監控許可。您可以在啟用增強型監控時建立此角色,也可以事先建立。

啟用增強型監控時建立 IAM 角色

當您在 RDS 主控台中啟用增強監控時,Amazon RDS 可以為您建立所需的 IAM 角色。角色已命名 rds-monitoring-role。RDS 會將此角色用於指定的資料庫執行個體、僅供讀取複本或多可用區域資料庫叢集。

啟用增強型監控時建立 IAM 角色
  1. 請遵循 開啟和關閉增強型監控 中的步驟。

  2. 在您選擇角色的步驟中,將 「Monitoring Role (監控角色)」設定為「Default (預設) 」

在啟用增強型監控之前建立 IAM 角色

您可以在啟用增強型監控之前建立必要的角色。啟用增強型監控時,請指定新角色的名稱。如果您使用 AWS CLI 或 RDS API 啟用增強型監控,您將必須建立此必要的角色。

必須將 PassRole 許可授予會啟用增強型監控的使用者。如需詳細資訊,請參閱《IAM 使用者指南》中的授予使用者將角色傳遞至 AWS 服務之許可的範例 2。

為 Amazon RDS 增強型監控建立 IAM 角色
  1. 前往 https://console.aws.amazon.com 開啟 IAM 主控台

  2. 在導覽窗格中,選擇 Roles (角色)。

  3. 選擇 Create Role (建立角色)。

  4. 選擇 AWS service (AWS 服務) 索引標籤,然後從服務清單中選擇 RDS

  5. 選擇 RDS - Enhanced Monitoring (RDS - 增強型監控),然後選擇 Next (下一步)。

  6. 請確定 Permissions policies (許可政策) 顯示 AmazonRDSEnhancedMonitoringRole,然後選擇 Next (下一步)。

  7. 針對 Role name (角色名稱),輸入您的角色名稱。例如,​輸入 emaccess

    您角色的信任實體是 monitoring.rds.amazonaws.com AWS 服務。

  8. 選擇建立角色

開啟和關閉增強型監控

您可以使用 AWS Management Console AWS CLI或 RDS API 來管理增強型監控。您可以在每個資料庫執行個體上設定指標集合的不同精細程度。

您可以在建立資料庫執行個體、多可用區域資料庫叢集、或僅供讀取複本時,或在您修改資料庫執行個體或多可用區域資料庫叢集時,開啟增強型監控。如果您修改資料庫執行個體以開啟增強型監控,則不需要重新啟動資料庫執行個體,變更才會生效。

您在 Databases (資料庫) 頁面上執行以下任一動作時,可在 RDS 主控台中開啟增強型監控:

  • 建立資料庫執行個體或多可用區域資料庫叢集:選擇 Create database (建立資料庫)。

  • 建立僅供讀取複本 – 選擇 Actions (動作),然後選 Create read replica (建立僅供讀取複本)。

  • 修改資料庫執行個體或多可用區域資料庫叢集 – 選擇修改

在 RDS 主控台中開啟或關閉增強型監控
  1. 捲動至 Additional configuration (其他組態)。

  2. 監控中,為您的資料庫執行個體或僅供讀取複本選擇啟用增強型監控。取消選取在。

  3. Monitoring Role (監控角色) 屬性設定為您所建立的 IAM 角色,以允許 Amazon RDS 代表您與 Amazon CloudWatch Logs 進行通訊。或者,選擇 Default (預設),RDS 即會自動建立名為 rds-monitoring-role 的角色。

  4. Granularity 屬性設定為收集資料庫執行個體、或僅供讀取複本指標的點之間的間隔,以秒為單位。Granularity (精細程度) 屬性可設定為以下其中一個值:1510153060

    RDS 主控台重新整理的最快時間為每 5 秒一次。如果您在 RDS 主控台中,將精細程度設定為 1 秒,您還是只能每 5 秒鐘才能看到更新後的指標。您可以使用 CloudWatch Logs 來擷取 1 秒指標更新。

若要使用 開啟增強型監控 AWS CLI,請在下列命令中,將 --monitoring-interval選項設定為 以外的值,0並將 --monitoring-role-arn選項設定為您在 中建立的角色為增強型監控建立 IAM 角色

--monitoring-interval 為資料庫執行個體收集增強型監控指標點之間的間隔 (秒)。選項的有效值為 01510153060

若要使用 關閉增強型監控 AWS CLI,請在這些命令0中將 --monitoring-interval選項設定為 。

範例

下方範例會為資料庫執行個體開啟增強型監控:

對於 Linux、 macOS或 Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --monitoring-interval 30 \ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

在 Windows 中:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --monitoring-interval 30 ^ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess
範例

下方範例會為多可用區域資料庫叢集開啟增強型監控:

對於 Linux、 macOS或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --monitoring-interval 30 \ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

在 Windows 中:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --monitoring-interval 30 ^ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

若要使用 RDS API 開啟增強型監控,請將 MonitoringInterval 參數設定為 0 以外的值,然後將 MonitoringRoleArn 參數設定為您在 為增強型監控建立 IAM 角色 中建立的角色。在下列動作中設定這些參數:

MonitoringInterval 參數會指定資料庫執行個體收集增強型監控指標點之間的間隔 (秒)。有效值為:01510153060

若要使用 RDS API 關閉增強型監控,請將 MonitoringInterval 設定為 0

防範混淆代理人問題

混淆代理人問題屬於安全性議題,其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。在 中 AWS,跨服務模擬可能會導致混淆代理人問題。在某個服務 (呼叫服務) 呼叫另一個服務 (被呼叫服務) 時,可能會發生跨服務模擬。可以操縱呼叫服務來使用其許可,以其不應有存取許可的方式對其他客戶的資源採取動作。為了預防這種情況, AWS 提供的工具可協助您保護所有服務的資料,而這些服務主體已獲得您帳戶中資源的存取權。如需詳細資訊,請參閱混淆代理人問題

若要限制 Amazon RDS 可將資源提供給另一項服務的許可,建議針對增強型監控角色,在信任政策中使用 aws:SourceArnaws:SourceAccount 全域條件內容索引鍵。如果您同時使用兩個全域條件內容索引鍵,兩者必須使用相同的帳戶 ID。

防範混淆代理人問題的最有效方法是使用 aws:SourceArn 全域條件內容索引鍵,以及資源的完整 ARN。為 Amazon RDS 將 aws:SourceArn 設為 arn:aws:rds:Region:my-account-id:db:dbname

下列範例展示如何在信任政策中使用 aws:SourceArnaws: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" } } } ] }