

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# `AWSSupport-ValidateFSxWindowsADConfig`
<a name="awssupport-validate-fsxwindows-adconfig"></a>

 **설명** 

 `AWSSupport-ValidateFSxWindowsADConfig` 실행서는 Amazon FSx for Windows File Server의 자체 관리형 Active Directory(AD) 구성을 검증하는 데 사용됩니다.

 **어떻게 작동하나요?**

 실행서는 Amazon FSx 서브넷의 실행서에서 시작한 임시 Amazon Elastic Compute Cloud(Amazon EC2) Windows 인스턴스에서 Amazon FSx 검증 스크립트를 `AWSSupport-ValidateFSxWindowsADConfig` 실행합니다. 스크립트는 여러 검사를 수행하여 자체 관리형 AD/DNS 서버에 대한 네트워크 연결과 Amazon FSx 서비스 계정의 권한을 검증합니다. 실행서는 실패하거나 잘못 구성된 Amazon FSx for Windows File Server를 검증하거나 자체 관리형 AD를 사용하여 새 Amazon FSx for Windows File Server를 생성할 수 있습니다.

 기본적으로 실행서는 Amazon FSx 서브넷에서를 사용하여 Amazon EC2 Windows 인스턴스, (SSM) 액세스를 위한 AWS Systems Manager 보안 그룹, AWS Identity and Access Management (IAM) 역할 및 정책을 생성합니다. CloudFormation FSx 기존 Amazon EC2 인스턴스에서 스크립트를 실행하려면 파라미터에 ID를 입력합니다`InstanceId`. 실행에 성공하면 CloudFormation 리소스가 삭제됩니다. 그러나 리소스를 유지하려면 `RetainCloudFormationStack` 파라미터를 로 설정합니다`true`.

 CloudFormation 템플릿은 사용자를 대신하여 Amazon EC2 인스턴스에 연결하여 Amazon FSx 검증 스크립트를 실행하는 데 필요한 권한을 가진 IAM 역할을 생성합니다. 임시 인스턴스에 대한 기존 IAM 인스턴스 프로파일을 지정하려면 `InstanceProfileName` 파라미터를 사용합니다. 연결된 IAM 역할에는 다음 권한이 포함되어야 합니다.
+ `ec2:DescribeSubnets` 및 `ec2:DescribeVpcs` 권한과 Amazon 관리형 정책 `AmazonSSMManagedInstanceCore`.
+ `GetSecretValue` API를 호출하여 Systems Manager에서 Amazon FSx 서비스 계정 사용자 이름과 암호를 가져올 수 있는 권한.
+ 스크립트 출력을 위해 Amazon Simple Storage Service(Amazon S3) 버킷에 객체를 넣을 수 있는 권한.

 **사전 조건** 

 SSM Run Command를 사용하여 `AmazonFSxADValidation` 스크립트를 실행하려면 임시 Amazon EC2 인스턴스가 생성되는 서브넷(또는 `InstanceId` 파라미터에 제공된 기존 인스턴스)에서 AWS Systems Manager AWS Secrets Manager, 및 Amazon S3 엔드포인트에 대한 액세스를 허용해야 합니다.

 **AWS Secrets Manager 설정** 

 검증 스크립트는 Secrets Manager에 대한 런타임 호출을 통해 Amazon FSx 서비스 계정 사용자 이름과 암호를 검색하여 Microsoft AD 도메인에 연결합니다. [AWS Secrets Manager 보안 암호 생성](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)의 단계에 따라 새 Secrets Manager 보안 암호를 생성합니다. 형식의 키/값 페어를 사용하여 사용자 이름과 암호를 저장해야 합니다`{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}"`. 보안 암호[에 대한 액세스 보안에 대한 자세한 내용은의 인증 및 액세스 제어를 AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) 참조하세요.

 도구에 대한 자세한 내용은 [AmazonFSxADValidation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/samples/AmazonFSxADValidation.zip) `README.md` 파일의 `TROUBLESHOOTING.md` 및 파일을 참조하세요.

 **런북 실행** 

 Amazon FSx ID 또는 AD 파라미터를 사용하여 실행서를 실행합니다. 다음은 실행서 워크플로입니다.
+ Amazon FSx ID에서 파라미터를 가져오거나 입력 AD 파라미터를 사용합니다.
+ CloudFormation을 사용하여 Amazon FSx 서브넷, SSM 액세스를 위한 보안 그룹, IAM 역할 및 정책(조건부)에서 임시 검증 Amazon EC2 Windows 인스턴스를 생성합니다. FSx `InstanceId` 파라미터를 지정하면 파라미터가 사용됩니다.
+ Amazon FSx 기본 서브넷의 대상 Amazon EC2 인스턴스에서 검증 스크립트를 다운로드하고 실행합니다.
+ 자동화 출력에 AD 검증 결과 코드를 제공합니다. 또한 전체 스크립트 출력이 Amazon S3 버킷에 업로드됩니다.

 [이 자동화 실행(콘솔)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ValidateFSxWindowsADConfig) 

**문서 유형**

자동화

**소유자**

Amazon

**플랫폼**

Windows

**파라미터**

**필수 IAM 권한**

실행서를 성공적으로 사용하려면 `AutomationAssumeRole` 파라미터에 다음 작업이 필요합니다.
+ `cloudformation:CreateStack`
+ `cloudformation:DeleteStack`
+ `cloudformation:DescribeStacks`
+ `cloudformation:DescribeStackResources`
+ `cloudformation:DescribeStackEvents`
+ `ec2:CreateTags`
+ `ec2:RunInstances`
+ `ec2:TerminateInstances`
+ `ec2:CreateLaunchTemplate`
+ `ec2:DeleteLaunchTemplate`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeImages`
+ `ec2:DescribeInstances`
+ `ec2:DescribeLaunchTemplates`
+ `ec2:DescribeLaunchTemplateVersions`
+ `ec2:CreateSecurityGroup`
+ `ec2:DeleteSecurityGroup`
+ `ec2:RevokeSecurityGroupEgress`
+ `ec2:AuthorizeSecurityGroupEgress`
+ `iam:CreateRole`
+ `iam:CreateInstanceProfile`
+ `iam:GetInstanceProfile`
+ `iam:getRolePolicy`
+ `iam:DeleteRole`
+ `iam:DeleteInstanceProfile`
+ `iam:AddRoleToInstanceProfile`
+ `iam:RemoveRoleFromInstanceProfile`
+ `iam:AttachRolePolicy`
+ `iam:DetachRolePolicy`
+ `iam:PutRolePolicy`
+ `iam:DeleteRolePolicy`
+ `iam:GetRole`
+ `iam:PassRole`
+ `ssm:SendCommand`
+ `ssm:StartAutomationExecution`
+ `ssm:DescribeInstanceInformation`
+ `ssm:DescribeAutomationExecutions`
+ `ssm:GetDocument`
+ `ssm:GetAutomationExecution`
+ `ssm:DescribeAutomationStepExecutions`
+ `ssm:ListCommandInvocations`
+ `ssm:GetParameters`
+ `ssm:ListCommands`
+ `ssm:GetCommandInvocation`
+ `fsx:DescribeFileSystems`
+ `ds:DescribeDirectories`
+ `s3:GetEncryptionConfiguration`
+ `s3:GetBucketPublicAccessBlock`
+ `s3:GetAccountPublicAccessBlock`
+ `s3:GetBucketPolicyStatus`
+ `s3:GetBucketAcl`
+ `s3:GetBucketLocation`

 **자동화 수임 역할에 대한 IAM 정책 예시** 

------
#### [ JSON ]

****  

```
                {
                    "Version":"2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Sid": "AllowDescribe",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:DescribeSubnets",
                                "ec2:DescribeSecurityGroups",
                                "ec2:DescribeImages",
                                "ec2:DescribeInstances",
                                "ec2:DescribeLaunchTemplates",
                                "ec2:DescribeLaunchTemplateVersions",
                                "ssm:DescribeInstanceInformation",
                                "ssm:DescribeAutomationExecutions",
                                "ssm:DescribeAutomationStepExecutions",
                                "fsx:DescribeFileSystems",
                                "ds:DescribeDirectories"
                            ],
                            "Resource": "*"
                        },
                        {
                            "Sid": "CloudFormation",
                            "Effect": "Allow",
                            "Action": [
                                "cloudformation:DescribeStacks",
                                "cloudformation:DescribeStackResources",
                                "cloudformation:DescribeStackEvents",
                                "cloudformation:CreateStack",
                                "cloudformation:DeleteStack"
                            ],
                            "Resource": "arn:*:cloudformation:*:*:stack/AWSSupport-ValidateFSxWindowsADConfig-*"
                        },
                        {
                            "Sid": "AllowCreateLaunchTemplate",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:CreateLaunchTemplate",
                                "ec2:CreateTags"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*:*:launch-template/*"
                            ]
                        },
                        {
                            "Sid": "AllowEC2RunInstances",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:RunInstances",
                                "ec2:CreateTags"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*::image/*",
                                "arn:aws:ec2:*::snapshot/*",
                                "arn:aws:ec2:*:*:subnet/*",
                                "arn:aws:ec2:*:*:network-interface/*",
                                "arn:aws:ec2:*:*:security-group/*",
                                "arn:aws:ec2:*:*:key-pair/*",
                                "arn:aws:ec2:*:*:launch-template/*"
                            ]
                        },
                        {
                            "Sid": "AllowEC2RunInstancesWithTags",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:RunInstances",
                                "ec2:CreateTags"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*:*:instance/*",
                                "arn:aws:ec2:*:*:volume/*"
                            ]
                        },
                        {
                            "Sid": "EC2SecurityGroup",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:CreateSecurityGroup",
                                "ec2:RevokeSecurityGroupEgress",
                                "ec2:AuthorizeSecurityGroupEgress",
                                "ec2:CreateTags"
                            ],
                            "Resource": [
                                "arn:*:ec2:*:*:security-group/*",
                                "arn:*:ec2:*:*:vpc/*"
                            ]
                        },
                        {
                            "Sid": "EC2Remove",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:TerminateInstances",
                                "ec2:DeleteLaunchTemplate",
                                "ec2:DeleteSecurityGroup"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*:*:instance/*",
                                "arn:aws:ec2:*:*:launch-template/*",
                                "arn:*:ec2:*:*:security-group/*"
                            ]
                        },
                        {
                            "Sid": "IAMInstanceProfile",
                            "Effect": "Allow",
                            "Action": [
                                "iam:CreateInstanceProfile",
                                "iam:DeleteInstanceProfile",
                                "iam:GetInstanceProfile",
                                "iam:AddRoleToInstanceProfile",
                                "iam:RemoveRoleFromInstanceProfile"
                            ],
                            "Resource": "arn:*:iam::*:instance-profile/*"
                        },
                        {
                            "Sid": "IAM",
                            "Effect": "Allow",
                            "Action": [
                                "iam:CreateRole",
                                "iam:DeleteRole",
                                "iam:AttachRolePolicy",
                                "iam:DetachRolePolicy",
                                "iam:getRolePolicy",
                                "iam:PutRolePolicy",
                                "iam:DeleteRolePolicy",
                                "iam:GetRole",
                                "iam:TagRole"
                            ],
                            "Resource": "arn:*:iam::*:role/*"
                        },
                        {
                            "Sid": "SSM",
                            "Effect": "Allow",
                            "Action": [
                                "ssm:StartAutomationExecution",
                                "ssm:GetDocument",
                                "ssm:GetAutomationExecution",
                                "ssm:ListCommandInvocations",
                                "ssm:GetParameters",
                                "ssm:ListCommands",
                                "ssm:GetCommandInvocation"
                            ],
                            "Resource": "*"
                        },
                        {
                            "Sid": "SSMSendCommand",
                            "Effect": "Allow",
                            "Action": [
                                "ssm:SendCommand"
                            ],
                            "Resource": "arn:aws:ssm:*:*:document/AWS-RunPowerShellScript"
                        },
                        {
                            "Sid": "SSMSendCommandOnlyFsxInstance",
                            "Effect": "Allow",
                            "Action": [
                                "ssm:SendCommand"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*:*:instance/*"
                            ],
                            "Condition": {
                                "StringLike": {
                                    "ssm:resourceTag/CreatedBy": [
                                        "AWSSupport-ValidateFSxWindowsADConfig"
                                    ]
                                }
                            }
                        },
                        {
                            "Sid": "AllowPassRoleToEC2",
                            "Effect": "Allow",
                            "Action": "iam:PassRole",
                            "Resource": "arn:*:iam::*:role/AWSSupport-ValidateFSxWindowsADConfig-*",
                            "Condition": {
                                "StringEquals": {
                                    "iam:PassedToService": [
                                        "ec2.amazonaws.com"
                                    ]
                                }
                            }
                        },
                        {
                            "Effect": "Allow",
                            "Action": [
                                "s3:GetEncryptionConfiguration",
                                "s3:GetBucketPublicAccessBlock",
                                "s3:GetAccountPublicAccessBlock",
                                "s3:GetBucketPolicyStatus",
                                "s3:GetBucketAcl",
                                "s3:GetBucketLocation"
                            ],
                            "Resource": "*"
                        }
                    ]
                }
```

------

 **지침** 

다음 단계에 따라 자동화를 구성합니다.

1. Systems Manager[https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ValidateFSxWindowsADConfig/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ValidateFSxWindowsADConfig/description)의 문서로 이동합니다.

1. **Execute automation(자동화 실행)**을 선택합니다.

1. 장애가 발생하거나 잘못 구성된 기존 Amazon FSx를 사용하여 자체 관리형 AD를 검증하려면 다음 파라미터를 입력합니다.
   + **AutomationAssumeRole(선택 사항):**

     Systems Manager Automation이 사용자를 대신하여 작업을 수행할 수 있도록 허용하는 (IAM) 역할의 Amazon 리소스 이름 AWS Identity and Access Management (ARN)입니다. 역할이 지정되지 않은 경우 Systems Manager Automation은이 실행서를 시작하는 사용자의 권한을 사용합니다.
   + **FSxId(조건부):**

     Amazon FSx for Windows File Server ID입니다. 이는 장애가 발생하거나 잘못 구성된 기존 Amazon FSx를 검증하는 데 필요합니다.
   + **SecretArn(필수):**

     Amazon FSx 서비스 계정 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 ARN입니다. 형식의 키/값 페어를 사용하여 사용자 이름과 암호를 저장해야 합니다`{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}`. CloudFormation 스택은이 ARN에 대해 수행할 권한이 있는 검증 인스턴스`GetSecretValue`를 생성합니다.
   + **FSxSecurityGroupId(필수):**

     Amazon FSx for Windows File Server의 보안 그룹 ID입니다.
   + **BucketName(필수):**

     검증 결과를 업로드할 Amazon S3 버킷입니다. 버킷이 서버 측 암호화(SSE)로 구성되어 있고 버킷 정책이 로그에 액세스할 필요가 없는 당사자에게 불필요한 읽기/쓰기 권한을 부여하지 않는지 확인합니다. 또한 Amazon EC2 Windows 인스턴스에 Amazon S3 버킷에 대한 필수 액세스 권한이 있는지 확인합니다.  
![\[Input parameters form for AWS Systems Manager managed Windows Server EC2 instance validation.\]](http://docs.aws.amazon.com/ko_kr/systems-manager-automation-runbooks/latest/userguide/images/awssupport-validate-fsxwindows-adconfig_input_parameters1.png)

1. 새 Amazon FSx 생성에 대한 자체 관리형 AD 구성을 검증하려면 다음 파라미터를 입력합니다.
   + **AutomationAssumeRole(선택 사항):**

     Systems Manager Automation이 사용자를 대신하여 작업을 수행할 수 있도록 허용하는 (IAM) 역할의 Amazon 리소스 이름 AWS Identity and Access Management (ARN)입니다. 역할이 지정되지 않은 경우 Systems Manager Automation은이 실행서를 시작하는 사용자의 권한을 사용합니다.
   + **SecretArn(필수):**

     Amazon FSx 서비스 계정 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 ARN입니다. 형식의 키/값 페어를 사용하여 사용자 이름과 암호를 저장해야 합니다`{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}`. CloudFormation 스택은이 ARN에 대해 수행할 권한이 있는 검증 인스턴스`GetSecretValue`를 생성합니다.
   + **FSxSecurityGroupId(필수):**

     Amazon FSx for Windows File Server의 보안 그룹 ID입니다.
   + **BucketName(필수):**

     검증 결과를 업로드할 Amazon S3 버킷입니다. 버킷이 서버 측 암호화(SSE)로 구성되어 있고 버킷 정책이 로그에 액세스할 필요가 없는 당사자에게 불필요한 읽기/쓰기 권한을 부여하지 않는지 확인합니다. 또한 Amazon EC2 Windows 인스턴스에 Amazon S3 버킷에 대한 필수 액세스 권한이 있는지 확인합니다.
   + **FSxPreferredSubnetId(조건부):**

     Amazon FSx for Windows File Server 기본 설정 서브넷입니다.
   + **DomainName(조건부):**

     자체 관리형 Microsoft AD 도메인의 정규화된 도메인 이름입니다.
   + **DnsIpAddresses(조건부):**

     자체 관리형 AD 도메인에서 최대 2개의 DNS 서버 또는 도메인 컨트롤러 IP 주소 목록입니다. 최대 2개의 IPs 쉼표로 구분하여 입력합니다.
   + **FSxAdminsGroup(조건부):**

     Amazon FSx for Windows File Server 위임된 파일 시스템 관리자 그룹입니다. 기본 이름은 `Domain Admins`입니다.
   + **FSxOrganizationalUnit(조건부):**

     파일 시스템에 조인할 조직 단위(OU)입니다. OU의 고유 경로 이름을 제공합니다. 예시: `OU=org,DC=example,DC=com`.  
![\[Form fields for configuring Amazon FSx for Windows File Server and related AWS 서비스.\]](http://docs.aws.amazon.com/ko_kr/systems-manager-automation-runbooks/latest/userguide/images/awssupport-validate-fsxwindows-adconfig_input_parameters2.png)

1. **실행**을 선택합니다.

1. 자동화가 시작됩니다.

1. 문서는 다음 단계를 수행합니다.
   + **CheckBucketPublicStatus(aws:executeScript):**

     대상 Amazon S3 버킷이 객체에 대한 읽기 및/또는 쓰기 퍼블릭 액세스 권한을 부여할 가능성이 있는지 확인합니다.
   + **BranchOnInputParameters(aws:branch):**

     Amazon FSx ID 또는 Amazon FSx 파라미터와 같은 제공된 입력 파라미터를 분기합니다.
   + **AssertFileSystemTypeIsWindows(aws:assertAwsResourceProperty):**

     Amazon FSx ID가 제공된 경우는 파일 시스템 유형이 Amazon FSx for Windows File Server인지 확인합니다.
   + **GetValidationInputs(aws:executeScript):**

     Amazon EC2 인스턴스를 생성하기 위해 CloudFormation 템플릿에 필요한 자체 관리형 Microsoft AD 구성을 반환합니다.
   + **BranchOnInstanceId(aws:branch):**

     제공된 입력에 분기합니다`InstanceId`. 이 제공되면 검증 스크립트`InstanceId`는 자동화의 대상 Amazon EC2 인스턴스에서 실행됩니다`step:RunValidationScript`.
   + **CreateEC2InstanceStack(aws:createStack):**

     `AmazonFSxADValidation` 도구가 실행될 CloudFormation 를 사용하여 기본 서브넷에 Amazon EC2 인스턴스를 생성합니다.
   + **DescribeStackResources(aws:executeAwsApi):**

     임시 Amazon EC2 인스턴스 ID를 가져오는 CloudFormation 스택에 대해 설명합니다.
   + **WaitForEC2InstanceToBeManaged(aws:waitForAwsResourceProperty):**

     SSM Run Command를 사용하여 검증 스크립트를 실행하기 위해 Systems Manager에서 Amazon EC2 인스턴스를 관리할 때까지 기다립니다.
   + **GetAmazonFSxADValidationAttachment(aws:executeAwsApi):**

     실행서 첨부 파일에서 `AmazonFSxADValidation` 도구 URL을 가져옵니다.
   + **RunValidationScript(aws:runCommand):**

     임시 Amazon EC2 인스턴스에서 `AmazonFSxADValidation` 도구를 실행하고 `BucketName` 파라미터에 지정된 Amazon S3 버킷에 결과를 저장합니다.
   + **DescribeErrorsFromStackEvents(aws:executeScript):**

     실행서가 스택을 생성하지 못하는 경우 CloudFormation 스택 이벤트를 설명합니다.
   + **BranchOnRetainCloudFormationStack(aws:branch):**

     `RetainCloudFormationStack` 및 `InstanceId` 파라미터를 분기하여 CloudFormation 스택을 삭제해야 하는지 여부를 결정합니다.
   + **DeleteCloudFormationStack(aws:deleteStack):**

      CloudFormation 스택을 삭제합니다.

1. 완료되면 출력 섹션에서 실행 결과를 검토합니다.  
![\[Output showing instance details, CloudFormation stack ID, and validation script results with errors.\]](http://docs.aws.amazon.com/ko_kr/systems-manager-automation-runbooks/latest/userguide/images/awssupport-validate-fsxwindows-adconfig_outputs.png)

   실행서는 검증 스크립트 실행 결과를 Amazon S3 버킷에 업로드합니다.

 **참조** 

Systems Manager Automation
+ [이 자동화 실행(콘솔)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ValidateFSxWindowsADConfig/description)
+ [자동화 실행](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Automation 설정](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support Automation Workflows 랜딩 페이지](https://aws.amazon.com/premiumsupport/technology/saw/)

AWS 서비스 설명서
+ [What is Amazon FSx for Windows File Server?](https://docs.aws.amazon.com//fsx/latest/WindowsGuide/what-is.html)
+ [Amazon FSx for Windows File Server에 대한 자체 관리형 AD 구성 검증](https://docs.aws.amazon.com//fsx/latest/WindowsGuide/validate-ad-config.html)