本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-TroubleshootMWAAEnvironmentCreation
Description
AWSSupport-TroubleshootMWAAEnvironmentCreation Runbook 提供偵錯 Amazon Managed Workflows for Apache Airflow (Amazon MWAA) 環境建立問題的資訊,並盡最大努力執行檢查以及記錄的原因,以協助識別故障。
如何運作?
Runbook 會執行下列步驟:
-
擷取 Amazon MWAA 環境的詳細資訊。
-
驗證執行角色許可。
-
檢查環境是否具有使用所提供 AWS KMS 金鑰進行記錄的許可,以及是否存在所需的 CloudWatch 日誌群組。
-
剖析所提供日誌群組中的日誌,以找出任何錯誤。
-
檢查網路組態,以驗證 Amazon MWAA 環境是否可以存取所需的端點。
-
產生包含調查結果的報告。
文件類型
自動化
擁有者
Amazon
平台
/
必要的 IAM 許可
AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。
-
airflow:GetEnvironment -
cloudtrail:LookupEvents -
ec2:DescribeNatGateways -
ec2:DescribeNetworkAcls -
ec2:DescribeNetworkInterfaces -
ec2:DescribeRouteTables -
ec2:DescribeSecurityGroups -
ec2:DescribeSubnets -
ec2:DescribeVpcEndpoints -
iam:GetPolicy -
iam:GetPolicyVersion -
iam:GetRolePolicy -
iam:ListAttachedRolePolicies -
iam:ListRolePolicies -
iam:SimulateCustomPolicy -
kms:GetKeyPolicy -
kms:ListAliases -
logs:DescribeLogGroups -
logs:FilterLogEvents -
s3:GetBucketAcl -
s3:GetBucketPolicyStatus -
s3:GetPublicAccessBlock -
s3control:GetPublicAccessBlock -
ssm:StartAutomationExecution -
ssm:GetAutomationExecution
指示
請依照下列步驟設定自動化:
-
在文件下的 Systems Manager
AWSSupport-TroubleshootMWAAEnvironmentCreation中導覽至 。 -
選擇 Execute automation (執行自動化)。
-
針對輸入參數,輸入下列內容:
-
AutomationAssumeRole (選用):
(IAM) 角色的 Amazon Resource Name AWS AWS Identity and Access Management (ARN),可讓 Systems Manager Automation 代表您執行動作。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。
-
EnvironmentName (必要):
您要評估的 Amazon MWAA 環境名稱。
-
-
選取執行。
-
自動化啟動。
-
文件會執行下列步驟:
-
GetMWAAEnvironmentDetails:擷取 Amazon MWAA 環境的詳細資訊。如果此步驟失敗,自動化程序將停止並顯示為
Failed。 -
CheckIAMPermissionsOnExecutionRole:驗證執行角色是否具有 Amazon MWAA、Amazon S3、CloudWatch Logs、CloudWatch 和 Amazon SQS 資源所需的許可。如果偵測到客戶受管 AWS Key Management Service (AWS KMS) 金鑰,自動化會驗證金鑰的必要許可。此步驟使用
iam:SimulateCustomPolicyAPI 來確定自動化執行角色是否符合所有必要的許可。 -
CheckKMSPolicyOnKMSKey:檢查 AWS KMS 金鑰政策是否允許 Amazon MWAA 環境使用金鑰來加密 CloudWatch Logs。如果已 AWS管理 AWS KMS 金鑰,自動化會略過此檢查。
-
CheckIfRequiredLogGroupsExists:檢查是否存在 Amazon MWAA 環境所需的 CloudWatch 日誌群組。如果沒有,自動化會檢查 CloudTrail 是否有
CreateLogGroup和DeleteLogGroup事件。此步驟也會檢查CreateLogGroup事件。 -
BranchOnLogGroupsFindings:根據與 Amazon MWAA 環境相關的 CloudWatch 日誌群組存在的分支。如果至少有一個日誌群組存在,自動化會剖析它以尋找錯誤。如果沒有日誌群組,自動化會略過下一個步驟。
-
CheckForErrorsInLogGroups:剖析 CloudWatch 日誌群組以找出錯誤。
-
GetRequiredEndPointsDetails:擷取 Amazon MWAA 環境使用的服務端點。
-
CheckNetworkConfiguration:驗證 Amazon MWAA 環境的網路組態是否符合要求,包括檢查安全群組、網路 ACLs、子網路和路由表組態。
-
CheckEndpointsConnectivity:調用
AWSSupport-ConnectivityTroubleshooter子自動化,以驗證 Amazon MWAA 與所需端點的連線。 -
CheckS3BlockPublicAccess:檢查 Amazon MWAA 環境的 Amazon S3 儲存貯體是否
Block Public Access已啟用,並檢閱帳戶的整體 Amazon S3 Block Public Access 設定。 -
GenerateReport:從自動化收集資訊,並列印每個步驟的結果或輸出。
-
-
完成後,請檢閱輸出區段以取得執行的詳細結果:
-
檢查 Amazon MWAA 環境執行角色許可:
驗證執行角色是否具有 Amazon MWAA、Amazon S3、CloudWatch Logs、CloudWatch 和 Amazon SQS 資源的必要許可。如果偵測到客戶受管 AWS KMS 金鑰,自動化會驗證金鑰的必要許可。
-
檢查 Amazon MWAA 環境 AWS KMS 金鑰政策:
驗證執行角色是否擁有 Amazon MWAA、Amazon S3、CloudWatch Logs、CloudWatch 和 Amazon SQS 資源的必要許可。此外,如果偵測到客戶受管 AWS KMS 金鑰,自動化會檢查金鑰的必要許可。
-
檢查 Amazon MWAA 環境 CloudWatch 日誌群組:
檢查是否存在 Amazon MWAA 環境所需的 CloudWatch Log Groups。如果沒有,自動化接著會檢查 CloudTrail 以尋找
CreateLogGroup和DeleteLogGroup事件。 -
檢查 Amazon MWAA 環境路由表:
檢查 Amazon MWAA 環境中的 Amazon VPC 路由表是否已正確設定。
-
檢查 Amazon MWAA 環境安全群組:
檢查 Amazon MWAA 環境 Amazon VPC 安全群組是否已正確設定。
-
檢查 Amazon MWAA 環境網路 ACLs:
檢查 Amazon MWAA 環境中的 Amazon VPC 安全群組是否已正確設定。
-
檢查 Amazon MWAA 環境子網路:
驗證 Amazon MWAA 環境的子網路是否為私有。
-
檢查 Amazon MWAA 環境所需的端點連線:
驗證 Amazon MWAA 環境是否可以存取所需的端點。為此,自動化會叫用
AWSSupport-ConnectivityTroubleshooter自動化。 -
檢查 Amazon MWAA 環境 Amazon S3 儲存貯體:
檢查 Amazon MWAA 環境的 Amazon S3 儲存貯體是否
Block Public Access已啟用,並檢閱帳戶的 Amazon S3 Block Public Access 設定。 -
檢查 Amazon MWAA 環境 CloudWatch 日誌群組錯誤:
剖析 Amazon MWAA 環境的現有 CloudWatch 日誌群組以找出錯誤。
-
參考
Systems Manager Automation