常見問答集 - AWS Config

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

常見問答集

看不到我最新的組態變更

我是否可以預期立即檢視我的組態變更?

AWS Config 通常會在偵測到變更後立即記錄資源的組態變更,或您指定的頻率。不過,這需要盡最大努力,有時可能需要更長的時間。如果問題在一段時間後仍存在,請聯絡 支援並提供 Amazon CloudWatch 支援的 AWS Config 指標。如需這些指標的資訊,請參閱AWS Config 用量和成功指標

中的間接關係 AWS Config

什麼是資源關係?

在 中 AWS,資源是指可管理的實體,例如 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、 AWS CloudFormation 堆疊或 Amazon S3 儲存貯體。 AWS Config 是一項服務,可在偵測到記錄的資源類型變更時,或依您設定的記錄頻率,透過建立組態項目 (CIs) 來追蹤和監控資源。例如,當 AWS Config 設定為追蹤 Amazon EC2 執行個體時,它會在每次建立、更新或刪除執行個體時建立組態項目。建立的每個組態項目 AWS Config 都有數個欄位,包括 accountIdarn(Amazon Resource Name)awsRegion、、configurationtagsrelationships。CI 的關係欄位 AWS Config 可讓 顯示資源彼此連結的方式。例如,某個關係可能表示 ID 為 vol-123ab45d 的 Amazon EBS 磁碟區已連接至 ID 為 i-a1b2c3d4 的 Amazon EC2 執行個體,該執行個體與安全群組 sg-ef678hk 相關聯。

什麼是資源的直接和間接關係?

AWS Config 從組態欄位衍生大多數資源類型的關係,稱為「直接」關係。直接關係是資源 (A) 和另一個資源 (B) 之間的單向連接 (A→B),通常從資源 (A) 的描述 API 回應中獲得。在過去,對於 AWS Config 最初支援的某些資源類型,它也會從其他資源的組態中擷取關係,建立雙向的「間接」關係 (B→A)。例如,因為安全群組包含在 Amazon EC2 執行個體的描述 API 回應中,所以 Amazon EC2 執行個體與其安全群組之間的關係為直接關係。另一方面,因為敘述一個安全群組不會傳回與其關聯之執行個體的任何相關資訊,所以安全群組與 Amazon EC2 執行個體之間的關係為間接關係。

例如,間接關係有助於回答下列問題:

  • NAT Gateway 失敗時,私有子網路中的哪些 EC2 執行個體會受到影響?

  • 如果修改路由表,哪個 EC2 執行個體可能會遇到連線問題?

  • 從未使用過哪個安全群組?

  • 連接至 EC2 執行個體的哪個次要 ENI 與安全群組相關聯?

因此,當偵測到資源組態變更時, AWS Config 不僅會建立該資源的 CI,也會產生任何相關資源CIs,包括間接關係的 CI。例如,當 AWS Config 偵測到 Amazon EC2 執行個體中的變更時,它會為執行個體建立 CI,並為與執行個體相關聯的安全群組建立 CI。

AWS Config 支援哪些間接關係?

支援下列間接資源關係 AWS Config。

資源類型 與資源類型間接相關
AWS::EC2::RouteTable AWS::EC2::Instance, AWS::EC2::NetworkInterface, AWS::EC2::Subnet, AWS::EC2::VPNGateway, AWS::EC2::VPC
AWS::EC2::EIP AWS::EC2::Instance, AWS::EC2::NetworkInterface
AWS::EC2::Instance AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::NetworkInterface AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::NetworkACL AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::VPNConnection AWS::EC2::VPNGateway, AWS::EC2::CustomerGateway
AWS::EC2::InternetGateway AWS::EC2::VPC
AWS::EC2::SecurityGroup AWS::EC2::VPC
AWS::EC2::Subnet AWS::EC2::VPC
AWS::EC2::VPNGateway AWS::EC2::VPC

哪些案例使用間接關係?

以下是使用間接關係的服務 AWS 和服務功能。

AWS 功能 案例
AWS Config 受管規則

ec2-security-group-attached-to-eni 規則會檢查非預設安全群組是否連接到彈性網路界面 (ENI)。

如果沒有間接關係,您需要建立自訂規則,以檢查非預設安全群組是否連接到 ENI。

AWS Firewall Manager

用量稽核安全群組政策使用間接關係來了解上次使用安全群組的時間。

如果沒有間接關係,您需要同時建置安全群組並將其與新資源建立關聯,以避免觸發規則 AWS Firewall Manager。

預設資源
  • 建立非預設 VPC 時的預設資源:

    • 預設安全群組、預設網路 ACL 和預設路由表。

  • 建立預設 VPC 時的預設資源:

    • 在您有權存取的每個可用區域中,使用非預設 VPC、網際網路閘道和預設子網路建立的所有項目。

  • 當帳戶第一次呼叫 EC2 時,預設 VPC 建立本身。

    • 為新啟動可用區域中的帳戶建立的預設子網路。

如果沒有間接關係,您將需要等待最多 12 小時才能讓反熵記錄預設資源的變更。

如何根據直接和間接關係建立組態項目?

針對資源之間的直接關係 (A→B),對資源 B 的任何組態變更,也會啟動資源 A 的組態項目 (CI)。同樣地,針對間接關係 (B→A),當資源 A 的組態變更時,資源 B 會產生新的 CI。例如,Amazon EC2 執行個體與安全群組為直接關係,因此對安全群組的任何組態變更,都會為安全群組產生 CI,並為 EC2 執行個體產生 CI。同樣地,Amazon EC2 執行個體與其安全群組為間接關係,因此對 EC2 執行個體進行的任何組態變更,都會為 Amazon EC2 執行個體產生 CI,並為安全群組產生 CI。

由於間接關係而產生的組態項目有哪些?

下列是由於間接資源關係而產生的其他組態項目 (CI)。

會針對下列資源類型變更組態: 會針對下列資源類型產生 CI:
AWS::EC2::RouteTable AWS::EC2::Instance, AWS::EC2::NetworkInterface, AWS::EC2::Subnet, AWS::EC2::VPNGateway, 和 AWS::EC2::VPC
AWS::EC2::EIP AWS::EC2::Instance, AWS::EC2::NetworkInterface
AWS::EC2::Instance AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::NetworkInterface AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::NetworkACL AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::VPNConnection AWS::EC2::VPNGateway, AWS::EC2::CustomerGateway
AWS::EC2::InternetGateway AWS::EC2::VPC
AWS::EC2::SecurityGroup AWS::EC2::VPC
AWS::EC2::Subnet AWS::EC2::VPC
AWS::EC2::VPNGateway AWS::EC2::VPC

如何停用間接關係?

完成下列步驟以停用間接關係:

  1. 從您的帳戶或多個帳戶的管理帳戶開啟 AWS 支援 案例。

  2. 選取支援類型的技術

  3. 針對服務,選取 AWS Config

  4. 針對類別,選取其他

  5. 選取適當的嚴重性等級。

  6. 在主旨行中輸入停用間接關係

  7. 在描述中:

    • 確認您已閱讀此常見問答集並想要繼續。

    • 列出您要停用間接關係的區域。

    • 如果從管理帳戶提交,請包含帳戶 IDs 及其相關聯的區域。

    • 對於多個帳戶,您可以連接具有帳戶 IDs和區域的 CSV 檔案。

AWS 支援 工程師將提供後續步驟和狀態更新。我們建議您維護停用間接關係 AWS 的帳戶和區域的清單。對於新帳戶,請提交新 AWS 支援 案例以停用間接關係。

如何擷取與間接關係相關的組態資料?

您可以在 AWS Config 進階查詢中執行結構化查詢語言 (SQL) 查詢,以擷取與間接資源關係相關的組態資料。例如,如果您想要擷取與安全群組相關的 Amazon EC2 執行個體清單,請使用下列查詢:

SELECT resourceId, resourceType WHERE resourceType ='AWS::EC2::Instance' AND relationships.resourceId = 'sg-234213'