

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Managed Workflows for Apache Airflow
<a name="automation-ref-mwaa"></a>

 AWS Systems Manager Automation 为适用于 Apache Airflow 的亚马逊托管工作流程提供了预定义的运行手册。有关运行手册的更多信息，请参阅[使用运行手册](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html)。有关如何查看运行手册内容的信息，请参阅 [查看运行手册内容](automation-runbook-reference.md#view-automation-json)。

**Topics**
+ [`AWSSupport-TroubleshootMWAAEnvironmentCreation`](automation-troubleshoot-mwaa-environment-creation.md)

# `AWSSupport-TroubleshootMWAAEnvironmentCreation`
<a name="automation-troubleshoot-mwaa-environment-creation"></a>

 **描述** 

 该`AWSSupport-TroubleshootMWAAEnvironmentCreation`运行手册提供了调试适用于 Apache Airflow 的亚马逊托管工作流程（Amazon MWAA）环境创建问题的信息，并尽最大努力执行检查和记录在案的原因，以帮助识别故障。

 **如何工作？** 

 运行手册执行以下步骤：
+ 检索 Amazon MWAA 环境的详细信息。
+ 验证执行角色权限。
+ 检查环境是否有权使用提供的 AWS KMS 密钥进行日志记录，以及所需的 CloudWatch 日志组是否存在。
+ 解析提供的日志组中的日志以查找任何错误。
+ 检查网络配置以验证 Amazon MWAA 环境是否可以访问所需的终端节点。
+ 生成包含调查结果的报告。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootMWAAEnvironmentCreation) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

/

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `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`

 **说明** 

按照这些步骤对自动化进行配置：

1. [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootMWAAEnvironmentCreation/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootMWAAEnvironmentCreation/description)在 Systems Manager 的 “文档” 下导航至。

1. 选择 Execute automation（执行自动化）。

1. 对于输入参数，请输入以下内容：
   + **AutomationAssumeRole （可选）：**

     允许 Systems Manager Automation 代表您执行操作的 AWS AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 (ARN)。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
   + **EnvironmentName （必填）：**

     您要评估的 Amazon MWAA 环境的名称。  
![\[Input parameters form with AutomationAssumeRole and EnvironmentName fields for AWS Systems Manager Automation.\]](http://docs.aws.amazon.com/zh_cn/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-mwaa-environment-creation_input_parameters.png)

1. 选择执行。

1. 自动化启动。

1. 文档将执行以下步骤：
   + **`GetMWAAEnvironmentDetails:`**

     检索 Amazon MWAA 环境的详细信息。如果此步骤失败，自动化过程将停止并显示为`Failed`。
   + **`CheckIAMPermissionsOnExecutionRole:`**

     验证执行角色是否具有使用 Amazon MWAA、Amazon S3 CloudWatch、 CloudWatch 日志和亚马逊 SQS 资源所需的权限。如果它检测到客户托管 AWS Key Management Service (AWS KMS) 密钥，则自动化会验证该密钥的所需权限。此步骤使用 `iam:SimulateCustomPolicy` API 来确定自动化执行角色是否满足所有必需的权限。
   + **`CheckKMSPolicyOnKMSKey:`**

     检查 AWS KMS 密钥策略是否允许 Amazon MWAA 环境使用该密钥加密 CloudWatch 日志。如果 AWS KMS 密钥是 AWS-managed，则自动化会跳过此检查。
   + **`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:`**

     检查亚马逊 MWAA 环境的 Amazon S3 存储桶是否已`Block Public Access`启用，并查看该账户的整体 Amazon S3 阻止公共访问设置。
   + **`GenerateReport:`**

     从自动化中收集信息并打印每个步骤的结果或输出。

1. 完成后，请查看 “输出” 部分，了解执行的详细结果：
   + **正在检查 Amazon MWAA 环境执行角色权限：**

     验证执行角色是否具有 Amazon MWAA、Amazon S3 CloudWatch、 CloudWatch 日志和 Amazon SQS 资源所需的权限。如果检测到客户管理的 AWS KMS 密钥，则自动化将验证该密钥的所需权限。
   + **查看 Amazon MWAA 环境 AWS KMS 密钥策略：**

     验证执行角色是否拥有使用 Amazon MWAA、Amazon S3、 CloudWatch CloudWatch日志和 Amazon SQS 资源的必要权限。此外，如果检测到客户管理的 AWS KMS 密钥，自动化系统会检查该密钥的所需权限。
   + **检查 Amazon MWAA 环境 CloudWatch 日志组：**

     检查 Amazon MWAA 环境所需的 CloudWatch 日志组是否存在。如果没有，则自动化系统会检查 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`
   + **检查亚马逊 MWAA 环境亚马逊 S3 存储桶：**

     检查亚马逊 MWAA 环境的 Amazon S3 存储桶是否已`Block Public Access`启用，并查看该账户的 Amazon S3 阻止公共访问设置。
   + **检查 Amazon MWAA 环境 CloudWatch 日志组错误：**

     解析 Amazon MWAA 环境的现有 CloudWatch 日志组以查找错误。  
![\[Troubleshooting report for MMAA environment showing successful checks and connectivity tests.\]](http://docs.aws.amazon.com/zh_cn/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-mwaa-environment-creation_outputs.png)

 **参考** 

Systems Manager Automation
+ [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootMWAAEnvironmentCreation/description)
+ [运行自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [设置自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [支持自动化工作流登录页面](https://aws.amazon.com/premiumsupport/technology/saw/)