

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

# AWS DevOps Agent CLI 온보딩 가이드
<a name="getting-started-with-aws-devops-agent-cli-onboarding-guide"></a>

## 개요
<a name="overview"></a>

 AWS DevOps 에이전트를 사용하면 AWS 인프라를 모니터링하고 관리할 수 있습니다. 이 가이드에서는 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 up AWS DevOps 에이전트를 설정하는 방법을 안내합니다. IAM 역할을 생성하고, 에이전트 공간을 설정하고, AWS 계정을 연결합니다. 또한 운영자 앱을 활성화하고 선택적으로 타사 통합을 연결합니다. 이 안내서를 완료하는 데 약 20분이 걸립니다.

AWS DevOps 에이전트는 미국 동부(버지니아 북부), 미국 서부(오레곤), 아시아 태평양(시드니), 아시아 태평양(도쿄), 유럽(프랑크푸르트) 및 유럽(아일랜드)의 6개 AWS 리전에서 사용할 수 있습니다. 지원되는 리전에 대한 자세한 내용은 섹션을 참조하세요[지원되는 리전:](about-aws-devops-agent-supported-regions.md).

## 사전 조건
<a name="prerequisites"></a>

시작하기 전에 다음 사항을 갖췄는지 확인하세요.
+ AWS CLI 버전 2 설치 및 구성
+  AWS 모니터링 계정에 대한 인증
+  AWS Identity and Access Management(IAM) 역할을 생성하고 정책을 연결할 수 있는 권한
+ 모니터링 AWS 계정으로 사용할 계정
+  AWS CLI 및 JSON 구문에 대한 지식

이 가이드 전체에서 다음 자리 표시자 값을 사용자의 값으로 바꿉니다.
+ `<MONITORING_ACCOUNT_ID>` - 모니터링(기본) AWS 계정의 12자리 계정 ID
+ `<EXTERNAL_ACCOUNT_ID>` - 모니터링할 보조 AWS 계정의 12자리 계정 ID(4단계에서 사용됨)
+ `<REGION>` - 에이전트 공간의 AWS 리전 코드(예: `us-east-1` 또는 `eu-central-1`)
+ `<AGENT_SPACE_ID>` - `create-agent-space` 명령에서 반환되는 에이전트 공간 식별자입니다.

## IAM 역할 설정
<a name="iam-roles-setup"></a>

### 1. DevOps 에이전트 스페이스 역할 생성
<a name="1-create-the-devops-agent-space-role"></a>

다음 명령을 실행하여 IAM 신뢰 정책을 생성합니다.

```
cat > devops-agentspace-trust-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "aidevops.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "<MONITORING_ACCOUNT_ID>"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/*"
        }
      }
    }
  ]
}
EOF
```

IAM 역할을 생성합니다.

```
aws iam create-role \
  --region <REGION> \
  --role-name DevOpsAgentRole-AgentSpace \
  --assume-role-policy-document file://devops-agentspace-trust-policy.json
```

다음 명령을 실행하여 역할 ARN을 저장합니다.

```
aws iam get-role --role-name DevOpsAgentRole-AgentSpace --query 'Role.Arn' --output text
```

 AWS 관리형 정책을 연결합니다.

```
aws iam attach-role-policy \
  --role-name DevOpsAgentRole-AgentSpace \
  --policy-arn arn:aws:iam::aws:policy/AIDevOpsAgentAccessPolicy
```

Resource Explorer 서비스 연결 역할 생성을 허용하는 인라인 정책을 생성하고 연결합니다.

```
cat > devops-agentspace-additional-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateServiceLinkedRoles",
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": [
        "arn:aws:iam::<MONITORING_ACCOUNT_ID>:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer"
      ]
    }
  ]
}
EOF

aws iam put-role-policy \
  --role-name DevOpsAgentRole-AgentSpace \
  --policy-name AllowCreateServiceLinkedRoles \
  --policy-document file://devops-agentspace-additional-policy.json
```

### 2. 운영자 앱 IAM 역할 생성
<a name="2-create-the-operator-app-iam-role"></a>

다음 명령을 실행하여 IAM 신뢰 정책을 생성합니다.

```
cat > devops-operator-trust-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "aidevops.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ],
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "<MONITORING_ACCOUNT_ID>"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/*"
        }
      }
    }
  ]
}
EOF
```

IAM 역할을 생성합니다.

```
aws iam create-role \
  --role-name DevOpsAgentRole-WebappAdmin \
  --assume-role-policy-document file://devops-operator-trust-policy.json \
  --region <REGION>
```

다음 명령을 실행하여 역할 ARN을 저장합니다.

```
aws iam get-role --role-name DevOpsAgentRole-WebappAdmin --query 'Role.Arn' --output text
```

 AWS 관리형 운영자 앱 정책을 연결합니다.

```
aws iam attach-role-policy \
  --role-name DevOpsAgentRole-WebappAdmin \
  --policy-arn arn:aws:iam::aws:policy/AIDevOpsOperatorAppAccessPolicy
```

이 관리형 정책은 운영자 앱에 에이전트 공간 기능에 액세스할 수 있는 권한을 부여합니다. 이러한 기능에는 조사, 권장 사항, 지식 관리, 채팅 및 AWS 지원 통합이 포함됩니다. 이 정책은 `aws:PrincipalTag/AgentSpaceId` 조건을 사용하여 특정 에이전트 공간에 대한 액세스 범위를 지정합니다. 전체 작업 목록에 대한 자세한 내용은 섹션을 참조하세요[DevOps 에이전트 IAM 권한](aws-devops-agent-security-devops-agent-iam-permissions.md).

## 온보딩 단계
<a name="onboarding-steps"></a>

### 1. 에이전트 공간 생성
<a name="1-create-an-agent-space"></a>

다음 명령을 실행하여 에이전트 공간을 생성합니다.

```
aws devops-agent create-agent-space \
  --name "MyAgentSpace" \
  --description "AgentSpace for monitoring my application" \
  --region <REGION>
```

선택적으로 암호화`--kms-key-arn`에 고객 관리형 AWS KMS 키를 사용하도록를 지정합니다. `--tags`를 사용하여 리소스 태그를 추가하고 에이전트 응답 `--locale` 언어를 설정할 수도 있습니다.

응답`agentSpaceId`에서를 저장합니다(에 위치`agentSpace.agentSpaceId`).

나중에 에이전트 공간을 나열하려면 다음 명령을 실행합니다.

```
aws devops-agent list-agent-spaces \
  --region <REGION>
```

### 2. AWS 계정 연결
<a name="2-associate-your-aws-account"></a>

 AWS 계정을 연결하여 토폴로지 검색을 켭니다. `accountType`를 다음 값 중 하나로 설정합니다.
+ `monitor` - 에이전트 공간이 있는 기본 계정입니다. 이 계정은 에이전트를 호스팅하며 토폴로지 검색에 사용됩니다.
+ `source` - 에이전트가 모니터링하는 추가 계정입니다. 4단계에서 외부 계정을 연결할 때이 유형을 사용합니다.

```
aws devops-agent associate-service \
  --agent-space-id <AGENT_SPACE_ID> \
  --service-id aws \
  --configuration '{
    "aws": {
      "assumableRoleArn": "arn:aws:iam::<MONITORING_ACCOUNT_ID>:role/DevOpsAgentRole-AgentSpace",
      "accountId": "<MONITORING_ACCOUNT_ID>",
      "accountType": "monitor"
    }
  }' \
  --region <REGION>
```

### 3. 연산자 앱 활성화
<a name="3-enable-the-operator-app"></a>

인증 흐름은 IAM, IAM Identity Center(IDC) 또는 외부 ID 제공업체(IdP)를 사용할 수 있습니다. 다음 명령을 실행하여 에이전트 공간에 운영자 앱을 활성화합니다.

```
aws devops-agent enable-operator-app \
  --agent-space-id <AGENT_SPACE_ID> \
  --auth-flow iam \
  --operator-app-role-arn "arn:aws:iam::<MONITORING_ACCOUNT_ID>:role/DevOpsAgentRole-WebappAdmin" \
  --region <REGION>
```

IAM Identity Center 인증의 경우 `--auth-flow idc`를 사용하고를 제공합니다`--idc-instance-arn`. 외부 자격 증명 공급자의 경우를 `--auth-flow idp` 사용하고 `--issuer-url`, 및 `--idp-client-id`를 제공합니다`--idp-client-secret`. 자세한 내용은 [IAM Identity Center 인증 설정](aws-devops-agent-security-setting-up-iam-identity-center-authentication.md) 및 [외부 ID 제공업체(IdP) 인증 설정](aws-devops-agent-security-setting-up-external-identity-provider-idp-authentication.md) 섹션을 참조하세요.

**참고:** 이전에 계정의 다른 에이전트 공간에 대한 운영자 앱 역할을 생성한 경우 해당 역할 ARN을 재사용할 수 있습니다.

### 4. (선택 사항) 추가 소스 계정 연결
<a name="4-optional-associate-additional-source-accounts"></a>

 AWS DevOps Agent를 사용하여 추가 계정을 모니터링하려면 IAM 교차 계정 역할을 생성합니다.

#### 외부 계정에서 교차 계정 역할 생성
<a name="create-the-cross-account-role-in-the-external-account"></a>

외부 계정으로 전환하고 신뢰 정책을 생성합니다. `MONITORING_ACCOUNT_ID`는 2단계에서 설정한 에이전트 공간을 호스팅하는 기본 계정입니다. 이 구성을 사용하면 AWS DevOps 에이전트 서비스가 모니터링 계정을 대신하여 보조 소스 계정에서 역할을 수임할 수 있습니다.

다음 명령을 실행하여 신뢰 정책을 생성합니다.

```
cat > devops-cross-account-trust-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "aidevops.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "<MONITORING_ACCOUNT_ID>",
          "sts:ExternalId": "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/<AGENT_SPACE_ID>"
        }
      }
    }
  ]
}
EOF
```

교차 계정 IAM 역할을 생성합니다.

```
aws iam create-role \
  --role-name DevOpsAgentCrossAccountRole \
  --assume-role-policy-document file://devops-cross-account-trust-policy.json
```

다음 명령을 실행하여 역할 ARN을 저장합니다.

```
aws iam get-role --role-name DevOpsAgentCrossAccountRole --query 'Role.Arn' --output text
```

 AWS 관리형 정책을 연결합니다.

```
aws iam attach-role-policy \
  --role-name DevOpsAgentCrossAccountRole \
  --policy-arn arn:aws:iam::aws:policy/AIDevOpsAgentAccessPolicy
```

외부 계정에서 Resource Explorer 서비스 연결 역할을 생성할 수 있도록 인라인 정책을 연결합니다.

```
cat > devops-cross-account-additional-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateServiceLinkedRoles",
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": [
        "arn:aws:iam::<EXTERNAL_ACCOUNT_ID>:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer"
      ]
    }
  ]
}
EOF

aws iam put-role-policy \
  --role-name DevOpsAgentCrossAccountRole \
  --policy-name AllowCreateServiceLinkedRoles \
  --policy-document file://devops-cross-account-additional-policy.json
```

#### 외부 계정 연결
<a name="associate-the-external-account"></a>

모니터링 계정으로 다시 전환한 다음 다음 명령을 실행하여 외부 계정을 연결합니다.

```
aws devops-agent associate-service \
  --agent-space-id <AGENT_SPACE_ID> \
  --service-id aws \
  --configuration '{
    "sourceAws": {
      "accountId": "<EXTERNAL_ACCOUNT_ID>",
      "accountType": "source",
      "assumableRoleArn": "arn:aws:iam::<EXTERNAL_ACCOUNT_ID>:role/DevOpsAgentCrossAccountRole"
    }
  }' \
  --region <REGION>
```

### 5. (선택 사항) GitHub 연결
<a name="5-optional-associate-github"></a>

**참고:** CLI를 통해 연결하려면 먼저 OAuth 흐름을 사용하여 AWS DevOps 에이전트 콘솔을 통해 GitHub를 등록해야 합니다.

콘솔을 통해 GitHub를 등록하는 방법에 대한 지침은 섹션을 참조하세요[CI/CD 파이프라인에 연결](configuring-capabilities-for-aws-devops-agent-connecting-to-cicd-pipelines-index.md).

등록된 서비스를 나열합니다.

```
aws devops-agent list-services \
  --region <REGION>
```

serviceType:에 `<SERVICE_ID>` 대한를 저장합니다`github`.

콘솔에 GitHub를 등록한 후 다음 명령을 실행하여 GitHub 리포지토리를 연결합니다.

```
aws devops-agent associate-service \
  --agent-space-id <AGENT_SPACE_ID> \
  --service-id <SERVICE_ID> \
  --configuration '{
    "github": {
      "repoName": "<GITHUB_REPO_NAME>",
      "repoId": "<GITHUB_REPO_ID>",
      "owner": "<GITHUB_OWNER>",
      "ownerType": "organization"
    }
  }' \
  --region <REGION>
```

### 6. (선택 사항) ServiceNow 등록 및 연결
<a name="6-optional-register-and-associate-servicenow"></a>

먼저 ServiceNow 서비스를 OAuth 자격 증명으로 등록합니다.

```
aws devops-agent register-service \
  --service servicenow \
  --service-details  '{
    "servicenow": {
      "instanceUrl": "<SERVICENOW_INSTANCE_URL>",
      "authorizationConfig": {
        "oAuthClientCredentials": {
            "clientName": "<SERVICENOW_CLIENT_NAME>",
            "clientId": "<SERVICENOW_CLIENT_ID>",
            "clientSecret": "<SERVICENOW_CLIENT_SECRET>"
        }
      }
    }
  }' \
  --region <REGION>
```

반환된를 저장`<SERVICE_ID>`한 다음 ServiceNow를 연결합니다.

```
aws devops-agent associate-service \
  --agent-space-id <AGENT_SPACE_ID> \
  --service-id <SERVICE_ID> \
  --configuration '{
    "servicenow": {
      "instanceUrl": "<SERVICENOW_INSTANCE_URL>"
    }
  }' \
  --region <REGION>
```

### 7. (선택 사항) Dynatrace 등록 및 연결
<a name="7-optional-register-and-associate-dynatrace"></a>

먼저 Dynatrace 서비스를 OAuth 자격 증명으로 등록합니다.

```
aws devops-agent register-service \
  --service dynatrace \
  --service-details '{
  "dynatrace": {
    "accountUrn": "<DYNATRACE_ACCOUNT_URN>",
    "authorizationConfig": {
        "oAuthClientCredentials": {
            "clientName": "<DYNATRACE_CLIENT_NAME>",
            "clientId": "<DYNATRACE_CLIENT_ID>",
            "clientSecret": "<DYNATRACE_CLIENT_SECRET>"
        }
      }
    }
  }' \
  --region <REGION>
```

반환된를 저장`<SERVICE_ID>`한 다음 Dynatrace를 연결합니다. 리소스는 선택 사항입니다. 환경은 연결할 Dynatrace 환경을 지정합니다.

```
aws devops-agent associate-service \
  --agent-space-id <AGENT_SPACE_ID> \
  --service-id <SERVICE_ID> \
  --configuration '{
    "dynatrace": {
      "envId": "<DYNATRACE_ENVIRONMENT_ID>",
      "resources": [
        "<DYNATRACE_RESOURCE_1>",
        "<DYNATRACE_RESOURCE_2>"
      ]
    }
  }' \
  --region <REGION>
```

응답에는 통합을 위한 웹후크 정보가 포함됩니다. 이 웹후크를 사용하여 Dynatrace에서 조사를 트리거할 수 있습니다. 자세한 내용은 [Dynatrace 연결](connecting-telemetry-sources-connecting-dynatrace.md) 단원을 참조하십시오.

### 8. (선택 사항) Splunk 등록 및 연결
<a name="8-optional-register-and-associate-splunk"></a>

먼저 BearerToken 자격 증명으로 Splunk 서비스를 등록합니다.

엔드포인트는 다음 형식을 사용합니다. `https://<XXX>.api.scs.splunk.com/<XXX>/mcp/v1/` 

```
aws devops-agent register-service \
  --service mcpserversplunk \
  --service-details '{
  "mcpserversplunk": {
    "name": "<SPLUNK_NAME>",
    "endpoint": "<SPLUNK_ENDPOINT>",
    "authorizationConfig": {
        "bearerToken": {
            "tokenName": "<SPLUNK_TOKEN_NAME>",
            "tokenValue": "<SPLUNK_TOKEN_VALUE>"
        }
      }
    }
  }' \
  --region <REGION>
```

반환된를 저장`<SERVICE_ID>`한 다음 Splunk를 연결합니다.

```
aws devops-agent associate-service \
  --agent-space-id <AGENT_SPACE_ID> \
  --service-id <SERVICE_ID> \
  --configuration '{
    "mcpserversplunk":  {
      "name": "<SPLUNK_NAME>",
      "endpoint": "<SPLUNK_ENDPOINT>"
    }
  }' \
  --region <REGION>
```

응답에는 통합을 위한 웹후크 정보가 포함됩니다. 이 웹후크를 사용하여 Splunk에서 조사를 트리거할 수 있습니다. 자세한 내용은 [Splunk 연결](connecting-telemetry-sources-connecting-splunk.md) 단원을 참조하십시오.

### 9. (선택 사항) New Relic 등록 및 연결
<a name="9-optional-register-and-associate-new-relic"></a>

먼저 New Relic 서비스를 API 키 자격 증명으로 등록합니다.

리전: `US` 또는 `EU`.

선택적 필드: `applicationIds`, `entityGuids`, `alertPolicyIds` 

```
aws devops-agent register-service \
  --service mcpservernewrelic \
  --service-details '{
    "mcpservernewrelic": {
      "authorizationConfig": {
        "apiKey": {
          "apiKey": "<YOUR_NEW_RELIC_API_KEY>",
          "accountId": "<YOUR_ACCOUNT_ID>",
          "region": "US",
          "applicationIds": ["<APP_ID_1>", "<APP_ID_2>"],
          "entityGuids": ["<ENTITY_GUID_1>"],
          "alertPolicyIds": ["<POLICY_ID_1>"]
        }
      }
    }
  }' \
  --region <REGION>
```

반환된를 저장`<SERVICE_ID>`한 다음 New Relic을 연결합니다.

```
aws devops-agent associate-service \
  --agent-space-id <AGENT_SPACE_ID> \
  --service-id <SERVICE_ID> \
  --configuration '{
    "mcpservernewrelic":  {
      "accountId": "<YOUR_ACCOUNT_ID>",
      "endpoint": "https://mcp.newrelic.com/mcp/"
    }
  }' \
  --region <REGION>
```

응답에는 통합을 위한 웹후크 정보가 포함됩니다. 이 웹후크를 사용하여 New Relic에서 조사를 트리거할 수 있습니다. 자세한 내용은 [새 복제본 연결](connecting-telemetry-sources-connecting-new-relic.md) 단원을 참조하십시오.

### 10. (선택 사항) Datadog 등록 및 연결
<a name="10-optional-register-and-associate-datadog"></a>

CLI를 통해 연결하려면 먼저 OAuth 흐름을 사용하여 AWS DevOps 에이전트 콘솔을 통해 Datadog을 등록해야 합니다. 자세한 내용은 [DataDog 연결](connecting-telemetry-sources-connecting-datadog.md) 단원을 참조하십시오.

등록된 서비스를 나열합니다.

```
aws devops-agent list-services \
  --region <REGION>
```

serviceType:에 `<SERVICE_ID>` 대한를 저장합니다`mcpserverdatadog`.

그런 다음 Datadog을 연결합니다.

```
aws devops-agent associate-service \
  --agent-space-id <AGENT_SPACE_ID> \
  --service-id <SERVICE_ID> \
  --configuration '{
    "mcpserverdatadog": {
      "name": "Datadog-MCP-Server",
      "endpoint": "<DATADOG_MCP_ENDPOINT>"
    }
  }' \
  --region <REGION>
```

응답에는 통합을 위한 웹후크 정보가 포함됩니다. 이 웹후크를 사용하여 Datadog에서 조사를 트리거할 수 있습니다. 자세한 내용은 [DataDog 연결](connecting-telemetry-sources-connecting-datadog.md) 단원을 참조하십시오.

### 11. (선택 사항) 에이전트 공간 삭제
<a name="11-optional-delete-an-agent-space"></a>

에이전트 공간을 삭제하면 해당 에이전트 공간에 대한 모든 연결, 구성 및 조사 데이터가 제거됩니다. 이 작업은 실행 취소할 수 없습니다.

에이전트 공간을 삭제하려면 다음 명령을 실행합니다.

```
aws devops-agent delete-agent-space \
  --agent-space-id <AGENT_SPACE_ID> \
  --region <REGION>
```

## Verification(확인)
<a name="verification"></a>

설정을 확인하려면 다음 명령을 실행합니다.

```
# List your agent spaces
aws devops-agent list-agent-spaces \
  --region <REGION>

# Get details of a specific agent space
aws devops-agent get-agent-space \
  --agent-space-id <AGENT_SPACE_ID> \
  --region <REGION>

# List associations for an agent space
aws devops-agent list-associations \
  --agent-space-id <AGENT_SPACE_ID> \
  --region <REGION>
```

## 다음 단계
<a name="next-steps"></a>
+ 추가 통합을 연결하려면 섹션을 참조하세요[AWS DevOps Agent에 대한 기능 구성](configuring-capabilities-for-aws-devops-agent.md).
+ 에이전트 기술 및 기능에 대한 자세한 내용은 섹션을 참조하세요[DevOps 에이전트 기술](about-aws-devops-agent-devops-agent-skills.md).
+ 연산자 웹 앱을 이해하려면 섹션을 참조하세요[DevOps 에이전트 웹 앱이란 무엇입니까?](about-aws-devops-agent-what-is-a-devops-agent-web-app.md).

## 참고
<a name="notes"></a>
+ `<AGENT_SPACE_ID>`, `<MONITORING_ACCOUNT_ID>`, `<EXTERNAL_ACCOUNT_ID>``<REGION>`, 등을 실제 값으로 바꿉니다.
+ 지원되는 리전 목록은 [지원되는 리전:](about-aws-devops-agent-supported-regions.md) 섹션을 참조하세요.