기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Terraform을 사용하여 AWS DevOps 에이전트 시작하기
개요
이 가이드에서는 Terraform을 사용하여 AWS DevOps 에이전트 리소스를 생성하고 배포하는 방법을 보여줍니다. Terraform 구성은 에이전트 공간, IAM 역할, 운영자 앱 및 AWS 계정 연결 생성을 자동화합니다.
Terraform 접근 방식은 필요한 모든 리소스를 코드형 인프라로 정의하여 CLI 온보딩 가이드에 설명된 수동 단계를 자동화합니다.
AWS DevOps 에이전트는 미국 동부(버지니아 북부), 미국 서부(오레곤), 아시아 태평양(시드니), 아시아 태평양(도쿄), 유럽(프랑크푸르트) 및 유럽(아일랜드)의 6개 AWS 리전에서 사용할 수 있습니다. 지원되는 리전에 대한 자세한 내용은 섹션을 참조하세요지원되는 리전:.
사전 조건
시작하기 전에 다음 항목이 준비되었는지 확인합니다.
Terraform >= 1.0 설치됨
AWS 적절한 자격 증명으로 CLI 설치 및 구성
모니터링(기본) AWS 계정에 대한 하나의 계정
(선택 사항) 교차 AWS 계정 모니터링을 설정하려는 경우 두 번째 계정
(파트 4의 경우)
awscc공급자 버전 1.98.0 이상.awscc_devopsagent_asset및awscc_devopsagent_trigger리소스가 해당 버전에 추가되었습니다. 구성에서 버전을 확인하려면를 실행합니다terraform providers.
이 가이드에서 다루는 내용
이 가이드는 네 부분으로 나뉩니다.
1부 - 운영자 앱과 모니터링 계정의 AWS 연결을 사용하여 에이전트 공간을 배포합니다. 이 부분을 완료한 후 에이전트는 해당 계정의 문제를 모니터링할 수 있습니다.
2부(선택 사항) - 서비스 계정에 대한 소스 AWS 연결을 추가하고 교차 계정 IAM 역할과 에코 Lambda를 해당 계정에 배포합니다. 이렇게 하면 에이전트 공간이 계정 전체에서 리소스를 모니터링할 수 있습니다.
3부(선택 사항) - 타사 서비스(Dynatrace, ServiceNow, Splunk, New Relic, GitLab, PagerDuty)를 등록하고 에이전트 공간과 연결합니다.
4부(선택 사항) - 에이전트 공간에 스킬, 사용자 지정 에이전트 및 예약된 트리거를 추가하여 에이전트가 사용자 지정 지식을 보유하고 예약된 트리거가 해당 사용자 지정 에이전트를 자동으로 실행합니다.
생성할 리소스
1부: 계정 모니터링
IAM 역할(
DevOpsAgentRole-AgentSpace-*) - 계정을 모니터링하기 위해 DevOps 에이전트 서비스에서 수임합니다.AIDevOpsAgentAccessPolicy관리형 정책과 Resource Explorer 서비스 연결 역할 생성을 허용하는 인라인 정책을 포함합니다.existing_agentspace_role_arn가 설정되지 않은 경우에만 생성됩니다.IAM 역할(
DevOpsAgentRole-WebappAdmin-*) - 에이전트 작업에 대한AIDevOpsOperatorAppAccessPolicy관리형 정책이 있는 운영자 앱 역할입니다.existing_operator_role_arn가 설정되지 않은 경우에만 생성됩니다.에이전트 공간(구성 가능한 이름) -
awscc_devopsagent_agent_space리소스를 사용하여 생성된 중앙 에이전트 공간입니다. 운영자 앱 구성을 포함합니다.연결(AWS 모니터) -
awscc_devopsagent_association리소스를 사용하여 모니터링 계정을 에이전트 스페이스에 연결합니다.연결(AWS 소스) - (선택 사항) 교차 계정 모니터링을 위해 서비스 계정을 에이전트 스페이스에 연결합니다.
2부: 서비스 계정(선택 사항)
IAM 역할(
DevOpsAgentRole-SecondaryAccount-TF) - 이름이 고정된 교차 계정 역할입니다. 모니터링 계정의 에이전트 공간에서 신뢰합니다.AIDevOpsAgentAccessPolicy관리형 정책과 Resource Explorer 서비스 연결 역할 생성을 허용하는 인라인 정책을 포함합니다.Lambda 함수(
echo-service-tf) - 입력 이벤트를 에코백하는 간단한 예제 서비스입니다.
4부: 자산 및 트리거(선택 사항)
이 구성은 다음 리소스를 생성합니다.
스킬(
rds-performance-investigation) -asset_type가 인awscc_devopsagent_asset리소스를 사용하여 생성된 관련 시 에이전트가 로드하는 스킬입니다skill.사용자 지정 에이전트(
rds-firefighter) -가 인awscc_devopsagent_asset리소스를 사용하여 생성된 스킬이 연결된 특정 워크플로로 에이전트의 범위를asset_type지정합니다custom_agent.트리거(
TIME_BASED) -awscc_devopsagent_trigger리소스를 사용하여 생성된 일정에 따라 사용자 지정 에이전트를 실행합니다.
설정
1단계: 샘플 리포지토리 복제
git clone https://github.com/aws-samples/sample-aws-devops-agent-terraform.git cd sample-aws-devops-agent-terraform
2단계: 변수 구성
예제 변수 파일을 복사하고 환경에 맞게 사용자 지정합니다.
cp terraform.tfvars.example terraform.tfvars
에이전트 스페이스 이름 및 설명terraform.tfvars으로를 편집합니다.
agent_space_name = "MyCompanyAgentSpace" agent_space_description = "DevOps Agent Space for monitoring production workloads"
1부: 에이전트 공간 배포
이 섹션에서는 모니터링 계정에 에이전트 공간, IAM 역할, 운영자 앱 및 AWS 연결을 생성합니다.
1단계: 자동화를 사용하여 배포(권장)
간소화된 설정을 위해 제공된 배포 스크립트를 사용합니다.
./deploy.sh
이 스크립트는 자동으로 다음을 수행합니다.
사전 조건 확인(Terraform, AWS CLI, 자격 증명)
필요한 경우 예제
terraform.tfvars에서 생성Terraform 초기화, 검증, 계획 및 적용
또는 수동 제어를 선호하는 경우:
terraform init terraform plan terraform apply
배포를 확인하라는 메시지가 yes 표시되면를 입력합니다.
2단계: 출력 기록
배포가 완료되면 Terraform이 출력을 인쇄합니다. 나중에 사용할 수 있도록 다음 값을 기록합니다.
Outputs: agent_space_id = "abc123" agent_space_arn = "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/abc123" agent_space_name = "MyCompanyAgentSpace" devops_agentspace_role_arn = "arn:aws:iam::<MONITORING_ACCOUNT_ID>:role/DevOpsAgentRole-AgentSpace-a1b2c3d4" devops_operator_role_arn = "arn:aws:iam::<MONITORING_ACCOUNT_ID>:role/DevOpsAgentRole-WebappAdmin-a1b2c3d4" primary_account_id = "<MONITORING_ACCOUNT_ID>" primary_account_association_id = "assoc-xyz"
2부를 완료하려는 경우 agent_space_arn 값을 저장합니다. 서비스 계정 리소스를 구성하는 데 필요합니다.
3단계: 배포 확인
배포 후 확인 스크립트를 실행합니다.
./post-deploy.sh
또는 AWS CLI를 사용하여 에이전트 공간이 성공적으로 생성되었는지 확인합니다.
aws devops-agent get-agent-space \ --agent-space-id <AGENT_SPACE_ID> \ --region <REGION>
이 시점에서 에이전트 공간은 운영자 앱이 활성화되고 모니터링 계정이 연결된 상태로 배포됩니다. 에이전트는이 계정의 문제를 모니터링할 수 있습니다.
2부(선택 사항): 교차 계정 모니터링 추가
이 섹션에서는 에이전트 공간이 두 번째 AWS 계정(서비스 계정)의 리소스를 모니터링할 수 있도록 설정을 확장합니다. 여기에는 다음 두 가지 작업이 포함됩니다.
서비스 계정을 가리키는 소스 AWS 연결 추가.
교차 계정 IAM 역할과 에코 Lambda 함수를 서비스 계정에 배포합니다.
중요
계속하기 전에 1부를 완료해야 합니다. 서비스 계정 리소스에는 파트 1 배포 출력agent_space_arn의가 필요합니다.
1단계: 서비스 계정 ID 구성
에서 서비스 계정 ID를 terraform.tfvars설정합니다.
service_account_id = "<YOUR_SERVICE_ACCOUNT_ID>"
2단계: 에이전트 공간 ARN 설정
1부 출력(2단계)에서 agent_space_arn 값을 복사하고에서 설정합니다terraform.tfvars.
agent_space_arn = "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/<SPACE_ID>"
서비스 계정 리소스는이 값을 사용하여 보조 계정 역할에 대한 신뢰 정책의 범위를 지정합니다. 이러한 리소스는이 값이 설정된 경우에만 생성됩니다.
3단계: `aws.service` 공급자 구성
에서 서비스 계정의 자격 증명으로 aws.service 공급자 별칭을 main.tf구성합니다. 명명된 프로필 또는 수임 역할을 사용할 수 있습니다.
프로필 사용:
provider "aws" { alias = "service" region = var.aws_region profile = "your-service-account-profile" }
또는 수임 역할 사용:
provider "aws" { alias = "service" region = var.aws_region assume_role { role_arn = "arn:aws:iam::<SERVICE_ACCOUNT_ID>:role/OrganizationAccountAccessRole" } }
4단계: 배포
업데이트된 구성을 적용합니다.
terraform apply
이렇게 하면 서비스 계정에 다음 리소스가 생성됩니다.
모니터링 계정의 에이전트 공간을 신뢰하는 IAM 역할(
DevOpsAgentRole-SecondaryAccount-TF)에코 Lambda 함수(
echo-service-tf)를 예제 서비스로 사용
또한 서비스 계정을 연결하는 소스 AWS 연결을 모니터링 계정에 생성합니다.
5단계: 배포 확인
에코 서비스를 테스트하여 Lambda 함수가 성공적으로 배포되었는지 확인합니다.
aws lambda invoke \ --function-name echo-service-tf \ --payload '{"test": "hello world"}' \ --profile <your-service-account-profile> \ --region <REGION> \ response.json cat response.json
3부(선택 사항): 타사 통합 등록
이 섹션에서는 외부 서비스(Dynatrace, ServiceNow, Splunk, New Relic, GitLab, PagerDuty)를 에이전트 공간에 등록합니다. 이러한 통합을 통해 AWS DevOps Agent는 조사 중에 원격 측정, 인시던트 데이터 및 소스 제어 정보에 액세스할 수 있습니다.
별도의 IntegrationsStack 단계와 에이전트 공간 ID의 수동 연결이 필요한 AWS CDK 샘플과 달리 이러한 리소스는 에이전트 공간을 직접 참조하며 1부terraform apply와 동일한에 배포할 수 있습니다.
지원되는 통합
| 서비스 | 서비스 유형 | 인증 |
|---|---|---|
| Dynatrace | dynatrace |
OAuth 클라이언트 자격 증명 |
| ServiceNow | servicenow |
OAuth 클라이언트 자격 증명 |
| Splunk | mcpserversplunk |
Bearer 토큰 |
| New Relic | mcpservernewrelic |
API 키 |
| GitLab | gitlab |
액세스 토큰 |
| PagerDuty | pagerduty |
OAuth 클라이언트 자격 증명 |
참고
Datadog은 Terraform 구성에 포함되지 않습니다. Datadog을 연결하려면에 설명된 대로 대화형 사용자 OAuth 권한 부여(브라우저 로그인 및 동의)가 필요하며DataDog 연결, 이는 Terraform에서 자동화할 수 없습니다. 콘솔의 기능 공급자 페이지를 통해 Datadog을 수동으로 등록합니다.
1단계: 통합 자격 증명 구성
에 integrations 블록을 추가하고 원하는 서비스만 terraform.tfvars채웁니다. 다음 예제에서는 Dynatrace 통합을 보여줍니다.
integrations = { dynatrace = { account_urn = "<DYNATRACE_ACCOUNT_URN>" client_id = "<DYNATRACE_CLIENT_ID>" client_name = "<DYNATRACE_CLIENT_NAME>" client_secret = "<DYNATRACE_CLIENT_SECRET>" env_id = "<DYNATRACE_ENVIRONMENT_ID>" resources = ["<DYNATRACE_RESOURCE_1>"] } }
각 통합의 전체 형태는 샘플 terraform.tfvars.example 리포지토리의 섹션을 참조하세요.
ServiceNow 요구 사항: 항상 짧은 인스턴스 이름으로 instance_id 명시적으로 설정합니다(예: 전체가 "ven04972" 아님instance_url). instance_id를 생략하면 연결이 로 폴백되고 instance_urlDevOps 에이전트 API는를 사용하여 이를 거부합니다400 GeneralServiceException: instanceId '<url>' does not match the registered ServiceNow instance.
보안: integrations 변수는 로 표시sensitive되므로 값이 계획에서 수정되고 출력이 적용됩니다. 실제 자격 증명을에 커밋하지 마십시오terraform.tfvars. 프로덕션의 경우 일반 텍스트가 아닌 AWS Secrets Manager 또는 AWS Systems Manager Parameter Store(예: data 소스 사용)에서 보안 암호를 소싱합니다.
2단계: 배포
구성을 적용합니다.
terraform apply
이렇게 하면 활성화된 각 통합에 대한 서비스 등록 및 연결이 생성됩니다.
3단계: 출력 검토
배포가 완료되면 통합 출력은 활성화된 각 서비스를 등록된 IDs.
integration_service_ids = { "dynatrace" = "service-abc123" } integration_association_ids = { "dynatrace" = "assoc-xyz789" }
각 서비스에 대한 자격 증명 구성에 대한 자세한 내용은 다음을 참조하세요.
4부(선택 사항): 스킬, 사용자 지정 에이전트 및 예약된 트리거 추가
이 섹션에서는 1부에서 생성한 에이전트 공간에 세 개의 리소스를 추가합니다. 관련될 때 에이전트가 로드하는 스킬과 에이전트의 범위를 특정 워크플로로 지정하는 사용자 지정 에이전트를 추가합니다. 또한 사용자 지정 에이전트를 자동으로 실행하는 예약된 트리거를 추가합니다. 이러한 리소스는 awscc_devopsagent_asset 및 awscc_devopsagent_trigger 리소스를 사용합니다.
이러한 리소스에는 AWS 계정에 추가 요금이 발생할 수 있습니다. 작업을 마쳤을 때 제거하려면이 가이드의 끝에 있는 정리 섹션을 따르세요.
이 예제에서는 skill 및 custom_agent 자산 유형을 사용합니다. 동일한 awscc_devopsagent_asset 리소스가 memory_store, agents_md및와 같은 모든 자산 유형을 생성합니다attachment. 다른 유형을 사용하려면 asset_type 인수를 변경하고 유형에 필요한 메타데이터를 제공합니다. 자산 유형, 필수 메타데이터 및 속성 참조의 전체 목록은 섹션을 참조하세요자산 관리.
중요
계속하기 전에 1부를 완료해야 합니다. 이러한 리소스에는 1부 배포의 에이전트 공간 ID가 필요합니다.
1단계: 구성 추가
다음 콘텐츠를 가진 assets.tf이라는 파일을 생성합니다: 시간 기반 트리거의 작업은 자산 ID별로 사용자 지정 에이전트를 형식으로 참조합니다custom:<assetId>. 구성은 사용자 지정 에이전트의 asset_id 속성에서 이를 자동으로 연결합니다. 사용자 지정 에이전트의 skills 목록은 이름 대신 자산 IDs도 사용하므로 스킬의 asset_id 속성을 참조합니다. 또한 Terraform에 암시적 종속성을 제공하므로 Terraform을 연결하는 에이전트보다 먼저 스킬이 생성됩니다.
metadata 및 action 인수는 문자열로 전달되는 JSON 문서이므로이 예제에서는를 사용합니다jsonencode.
variable "agent_space_id" { type = string description = "The agent space ID from the Part 1 output" } # A skill the agent loads when relevant resource "awscc_devopsagent_asset" "example_skill" { agent_space_id = var.agent_space_id asset_type = "skill" metadata = jsonencode({ name = "rds-performance-investigation" description = "Investigation procedures for RDS performance issues." agent_types = ["GENERIC"] }) files = [{ path = "SKILL.md" content_text = <<-EOT # RDS Performance Investigation Use this skill when investigating database latency, connection errors, or query timeouts. EOT }] } # A custom agent with attached skills that a trigger can invoke resource "awscc_devopsagent_asset" "example_custom_agent" { agent_space_id = var.agent_space_id asset_type = "custom_agent" metadata = jsonencode({ name = "rds-firefighter" skills = [awscc_devopsagent_asset.example_skill.asset_id] }) files = [{ path = "AGENT.md" content_text = <<-EOT # RDS Firefighter Custom agent for RDS incidents. EOT }] } # A time-based trigger that runs the custom agent on a schedule resource "awscc_devopsagent_trigger" "daily" { agent_space_id = var.agent_space_id type = "TIME_BASED" condition = { schedule = { expression = "rate(1 day)" } } action = jsonencode({ actionType = "create:task" task = { agent = "custom:${awscc_devopsagent_asset.example_custom_agent.asset_id}" } }) status = "Active" } output "skill_asset_id" { description = "The skill asset ID" value = awscc_devopsagent_asset.example_skill.asset_id } output "custom_agent_asset_id" { description = "The custom agent asset ID" value = awscc_devopsagent_asset.example_custom_agent.asset_id } output "trigger_id" { description = "The trigger ID" value = awscc_devopsagent_trigger.daily.trigger_id }
이를 샘플 리포지토리에 추가하는 경우 agent_space_id 변수를 선언하는 대신 에이전트 공간 리소스를 직접 참조할 수 있습니다.
2단계: 배포
1부 출력의 agent_space_id 값을 terraform.tfvars사용하여에서 에이전트 공간 ID를 설정합니다.
agent_space_id = "<AGENT_SPACE_ID>"
구성을 적용합니다.
terraform apply
트리거의 , agent_space_id, agent_space_id 및 asset_type 인수와 마찬가지로 자산의 type condition및 action 인수는 생성 전용입니다. 둘 중 하나를 변경하면 리소스가 대체됩니다. 트리거의 status (Active 또는 Inactive)를 업데이트하여 삭제하지 않고 트리거를 일시 중지Inactive하도록 설정할 수 있습니다.
3단계: 배포 확인
자산과 트리거가 생성되었는지 확인하려면 다음 AWS CLI 명령을 실행합니다.
aws devops-agent list-assets \ --agent-space-id <AGENT_SPACE_ID> \ --region <REGION> aws devops-agent list-triggers \ --agent-space-id <AGENT_SPACE_ID> \ --region <REGION>
기존 IAM 역할 사용(선택 사항)
기본적으로 Terraform 구성은 에이전트 공간 및 운영자 앱에 대한 새 IAM 역할을 생성합니다. 필요한 정책이 포함된 IAM 역할이 이미 있는 경우 역할 생성을 건너뛰고 대신 기존 역할 ARNs을 제공할 수 있습니다.
요구 사항
기존 역할은 다음 요구 사항을 충족해야 합니다.
에이전트 스페이스 역할
신뢰 정책은가를 사용하여 역할을 수임
aidevops.amazonaws.com하도록 허용합니다.sts:AssumeRoleAIDevOpsAgentAccessPolicy관리형 정책이 연결되어 있음(선택 사항) Resource Explorer 서비스 연결 역할 생성을 허용하는 인라인 정책이 있습니다.
운영자 앱 역할
신뢰 정책은가
sts:AssumeRole및를 사용하여 역할을 수임aidevops.amazonaws.com하도록 허용합니다.sts:TagSessionAIDevOpsOperatorAppAccessPolicy관리형 정책이 연결되어 있음
구성
에서 역할 ARN을 하나 또는 둘 다 terraform.tfvars설정합니다. ARNs
existing_agentspace_role_arn = "arn:aws:iam::ACCOUNT_ID:role/YourAgentSpaceRole" existing_operator_role_arn = "arn:aws:iam::ACCOUNT_ID:role/YourOperatorRole"
이러한 값을 설정하면의 해당 역할 리소스를 iam.tf 건너뜁니다. 이 접근 방식은 완전히 이전 버전과 호환됩니다. 값이 비어 있는 기존 구성(기본값)은 현재 역할 생성 동작을 유지합니다.
문제 해결
IAM 전파 지연
구성에는 IAM 역할 생성과 에이전트 공간 생성
time_sleep사이에 30초가 포함됩니다. DevOps 에이전트 서비스는 에이전트 스페이스 생성 중에 운영자 역할의 신뢰 정책을 검증하며, IAM이 완전히 전파되지 않은 경우 실패할 수 있습니다. 그래도 신뢰 정책 오류가 계속 표시되면 잠시 기다렸다가terraform apply다시 실행합니다. IAM 역할이 이미 존재하고 적용이 중단된 위치를 선택합니다.
ServiceNow instanceId does not match 오류
service_now통합 블록에서를 전체가 아닌 짧은 인스턴스 이름(예:"ven04972")으로instance_id명시적으로 설정합니다instance_url. 위 3부의 참고 사항을 참조하세요.
Dynatrace 연결 status: invalid
가
terraform apply성공했지만 결과 연결이status = "invalid"(aws devops-agent get-association또는 콘솔을 사용하여 볼 수 있음)를 보고하는 경우 이는 Dynatrace가 OAuth 클라이언트 자격 증명을 거부했음을 나타냅니다. Terraform 구성 문제가 아닌 Dynatrace 계정에account_urn대해client_secret, 및client_id를 다시 확인합니다.
권한 오류
자격 AWS 증명에 역할 및 정책을 생성하는 데 필요한 IAM 권한이 있는지 확인합니다.
신뢰 정책 조건이 계정 ID와 일치하는지 확인합니다.
교차 계정 배포 실패
aws.service공급자는 서비스 계정의 자격 증명으로 구성되어야 합니다. 명명된 프로필 또는 수임 역할 블록을 사용합니다.agent_space_arn값이 파트 1 출력의 ARN과 일치하는지 확인합니다.
Terraform 리소스 유형을 찾을 수 없음
awscc공급자 버전~> 1.0이상이 있는지 확인합니다.awscc_devopsagent_agent_space및awscc_devopsagent_association리소스에는 AWS Cloud Control 공급자가 필요합니다.파트 4에서 사용되는
awscc_devopsagent_asset및awscc_devopsagent_trigger리소스에는awscc공급자 버전 1.98.0 이상이 필요합니다. 를 실행terraform providers하여 버전을 확인하고 버전 제약 조건을 설정한terraform init -upgrade후를 실행합니다.
정리
4부를 완료한 경우 먼저 스킬, 사용자 지정 에이전트 및 트리거를 제거합니다. 이러한 리소스를 별도의 스택에 배치하는 AWS CDK 가이드와 달리 assets.tf는 동일한 Terraform 구성의 일부이므로 일반는 에이전트 공간과 함께 에이전트 공간을 terraform destroy 제거합니다. 를 삭제assets.tf하고 변경 사항을 적용하여 파트 4 리소스만 제거합니다.
rm assets.tf terraform apply
파일을 유지하려면 대신 세 개의 리소스를 대상으로 지정합니다.
terraform destroy \ -target=awscc_devopsagent_trigger.daily \ -target=awscc_devopsagent_asset.example_custom_agent \ -target=awscc_devopsagent_asset.example_skill
이러한 리소스만 제거하면 에이전트 공간이 그대로 유지됩니다. 다른 사람과 공유하거나 1부에서 생성하지 않은 에이전트 공간에 4부를 적용한 경우이 작업을 수행합니다.
그런 다음 다른 모든 항목을 제거하려면 2부를 배포한 경우 역순으로 삭제합니다.
./cleanup.sh
또는 수동으로 다음을 수행합니다.
terraform destroy
경고: 그러면 에이전트 공간과 모든 관련 데이터가 영구적으로 삭제됩니다. 계속하기 전에 중요한 정보를 백업했는지 확인합니다.
보안 고려 사항
Terraform 구성은
aidevops.amazonaws.com서비스 보안 주체만 해당 역할을 수임하도록 허용하는 신뢰 정책을 사용하여 IAM 역할을 생성합니다.신뢰 정책에는 특정 AWS 계정 및 에이전트 공간 ARN에 대한 액세스를 제한하는 조건이 포함됩니다.
모든 정책은 최소 권한 원칙을 따릅니다. 조직의 보안 요구 사항에 따라 IAM 정책을 검토하고 사용자 지정합니다.
교차 계정 역할(
DevOpsAgentRole-SecondaryAccount-TF)은 고정된 이름을 사용하며 특정 에이전트 공간 ARN으로 범위가 지정됩니다.
다음 단계
Terraform을 사용하여 AWS DevOps 에이전트를 배포한 후:
DevOps 에이전트 AWS 사용 설명서에서 DevOps 에이전트 기능의 전체 범위에 대해 알아봅니다.
자동화된 인프라 관리를 위해 Terraform 배포를 CI/CD 파이프라인에 통합하는 것이 좋습니다.
추가 리소스
Terraform 레지스트리의 awscc_devopsagent_agent_space
리소스 Terraform 레지스트리의 awscc_devopsagent_association
리소스 Terraform 레지스트리의 awscc_devopsagent_private_connection
리소스 Terraform 레지스트리의 awscc_devopsagent_asset
리소스 Terraform 레지스트리의 awscc_devopsagent_trigger
리소스