AWS 기술 블로그

VPC 내 프라이빗 서비스에 AWS DevOps Agent를 안전하게 연결하기

이 글은 2026년 4월 1일 AWS DevOps & Developer Productivity 블로그에 게시된 Securely connect AWS DevOps Agent to private services in your VPCs(Alexandra Huides, Jordan Merrick, Mohak Kohli, Tipu Qureshi 공저)를 한국어로 번역∙편집한 글입니다. 원문 게시 이후 서비스가 업데이트됨에 따라, 콘솔 화면 구성·연결 상태값·DNS 해석 옵션 등은 현행 AWS DevOps Agent 사용자 가이드 기준으로 갱신했습니다. 이에 따라 일부 내용은 원문과 다를 수 있습니다.

AWS DevOps Agent는 인시던트를 해결하고 사전에 예방하며, 애플리케이션 안정성과 성능을 최적화하고, AWS·멀티클라우드·온프레미스 환경 전반에 골쳐 온디맨드 SRE 작업을 수행하는, 언제든 함께 일할 수 있는 운영 팀 동료입니다. 기존 옵저버빌리티 도구와 통합되어 텔레메트리, 코드, 배포 데이터를 상관 분석함으로써 평균 복구 시간(MTTR, Mean Time To Repair)을 단축하고 운영 우수성을 실현합니다.

많은 조직이 커스텀 Model Context Protocol(MCP) 도구 및 그 밖의 통합을 통해 AWS DevOps Agent를 확장하고, 프라이빗 패키지 레지스트리, 셀프 호스팅 옵저버빌리티 플랫폼, 내부 문서 API, GitHub Enterprise 및 GitLab 같은 소스 제어 인스턴스 등 내부 시스템에 에이전트가 접근할 수 있도록 합니다. 이러한 서비스는 퍼블릭 인터넷 접근이 없는 Amazon Virtual Private Cloud(Amazon VPC) 내부에서 실행되는 경우가 많아, AWS DevOps Agent가 기본적으로는 이들에 도달할 수 없습니다.

AWS DevOps Agent의 프라이빗 연결(Private Connections) 기능을 사용하면 Agent Space를 VPC 또는 내부 네트워크에서 실행되는 서비스에 퍼블릭 인터넷에 노출하지 않고 안전하게 연결할 수 있습니다. 프라이빗 연결은 MCP 서버, 셀프 호스팅 Grafana 또는 Splunk 인스턴스, 소스 제어 시스템 등 프라이빗 엔드포인트에 도달해야 하는 모든 통합에서 사용할 수 있습니다.

이 글에서는 프라이빗 연결의 작동 방식, 보안 설계, 그리고 AWS Management Console과 AWS Command Line Interface(AWS CLI)를 사용한 설정 방법을 자세히 살펴봅니다.

프라이빗 연결의 작동 방식

프라이빗 연결은 AWS DevOps Agent와 VPC 내 대상 리소스 사이에 안전한 네트워크 경로를 생성합니다. 내부적으로 AWS DevOps Agent는 Amazon VPC Lattice를 사용하여 이 안전하고 프라이빗한 연결 경로를 구축합니다. VPC Lattice는 기반 네트워크 인프라를 관리할 필요 없이 VPC, 계정, 컴퓨팅 유형 간 애플리케이션 통신을 연결·보안·모니터링할 수 있는 애플리케이션 네트워킹 서비스입니다.

프라이빗 연결을 생성하면 다음 과정이 수행됩니다:

  1. 대상 서비스에 네트워크 연결이 있는 VPC, 서브넷, 그리고 (선택적으로) 보안 그룹을 제공합니다.
  2. AWS DevOps Agent가 서비스 관리형 리소스 게이트웨이를 생성하고, 지정한 서브넷에 탄력적 네트워크 인터페이스(ENI)를 프로비저닝합니다.
  3. 에이전트는 리소스 게이트웨이를 사용하여 프라이빗 네트워크 경로를 통해 대상 서비스의 IP 주소 또는 DNS 이름으로 트래픽을 라우팅합니다.

리소스 게이트웨이는 AWS DevOps Agent가 완전 관리하며, 계정 내에서 읽기 전용 리소스로 표시됩니다. 별도의 구성이나 유지 관리가 필요 없습니다. VPC에 생성되는 유일한 리소스는 지정한 서브넷의 ENI뿐입니다. 이 ENI는 프라이빗 트래픽의 진입점 역할을 하며 서비스에 의해 전적으로 관리됩니다. 인터넷에서 들어오는 인바운드 연결은 허용하지 않으며, 사용자는 자체 보안 그룹을 통해 트래픽을 완전히 제어할 수 있습니다.

보안

프라이빗 연결은 다중 보안 계층으로 설계되어 있습니다:

  • 퍼블릭 인터넷 노출 없음: AWS DevOps Agent와 대상 서비스 간의 모든 트래픽은 AWS 네트워크 내부에서 유지됩니다. 서비스에 퍼블릭 IP 주소나 인터넷 게이트웨이가 필요하지 않습니다.
  • 서비스 제어형 리소스 게이트웨이: 서비스 관리형 리소스 게이트웨이는 계정 내에서 읽기 전용입니다. AWS DevOps Agent만 사용할 수 있으며, 다른 서비스나 보안 주체는 이를 통해 트래픽을 라우팅할 수 없습니다. 모든 VPC Lattice API 호출을 기록하는 AWS CloudTrail 로그에서 이를 확인할 수 있습니다.
  • 사용자 소유의 보안 그룹, 사용자 정의 규칙: ENI에서 발생하는 아웃바운드 트래픽은 사용자가 소유하고 관리하는 보안 그룹을 통해 제어합니다. DevOps Agent의 트래픽은 프라이빗 연결 리소스 게이트웨이 ENI에 연결된 보안 그룹의 아웃바운드 규칙과 대상의 인바운드 규칙을 따릅니다.
  • 최소 권한의 서비스 연결 역할: AWS DevOps Agent는 서비스 연결 역할을 사용하여 리소스 게이트웨이를 관리합니다. 이 역할은 AWSAIDevOpsManaged로 태그된 리소스로만 범위가 제한되며, 계정 내 다른 리소스에는 접근할 수 없습니다.
  • DNS 지원: DNS 이름으로 서비스를 참조할 수 있습니다. 해석 방식은 연결 생성 시 선택합니다. Public 모드는 퍼블릭 DNS로 해석하므로 퍼블릭 레코드가 있어야 하고(프라이빗 IP를 가리켜도 됩니다), In VPC 모드는 VPC 컨텍스트에서 해석하므로 프라이빗 호스팅 영역에만 존재하는 이름도 퍼블릭 레코드 없이 동작합니다.

자체 리소스 구성을 관리할 계획이라면, 조직의 서비스 제어 정책(SCP)에서 VPC Lattice 작업을 허용하는지 확인하십시오.

아키텍처

다음 다이어그램(그림 1)은 프라이빗 연결의 네트워크 경로를 보여줍니다:

그림 1: AWS DevOps Agent 프라이빗 연결

이 아키텍처에서:

  1. AWS DevOps Agent가 대상 서비스에 요청을 시작합니다.
  2. 요청이 서비스 관리형 리소스 게이트웨이를 통해 라우팅됩니다.
  3. VPC 내 ENI가 트래픽을 수신하여 대상 서비스의 IP 주소 또는 DNS 이름으로 전달합니다.
  4. 보안 그룹이 ENI를 통해 허용되는 트래픽을 제어합니다.
  5. 대상 서비스 관점에서 요청은 VPC 내 ENI의 프라이빗 IP 주소에서 발생한 것으로 표시됩니다.

사전 요구 사항

프라이빗 연결을 생성하기 전에 다음 항목을 확인하세요:

항목 설명
활성 Agent Space 계정에 기존 Agent Space가 필요합니다. 없는 경우 Getting started with AWS DevOps Agent를 참조하십시오.
프라이빗 도달 가능 대상 서비스 MCP 서버, 옵저버빌리티 플랫폼 또는 기타 서비스가 리소스 게이트웨이가 배포되는 VPC에서 알려진 프라이빗 IP 주소 또는 DNS 이름으로 도달 가능해야 합니다. 서비스는 동일 VPC, 피어링된 VPC, 또는 온프레미스에서 실행될 수 있으며, 리소스 게이트웨이 서브넷에서 라우팅 가능하면 됩니다. 연결 생성 시 지정할 수 있는 TCP 포트에서 서비스가 수신 대기해야 합니다.
VPC의 서브넷 리소스 게이트웨이 ENI가 생성될 가용 영역당 하나의 서브넷을 식별합니다. 고가용성을 위해 여러 가용 영역의 서브넷을 선택하는 것을 권장합니다. 이 서브넷은 대상 서비스에 대한 네트워크 연결이 있어야 합니다.
(선택) 보안 그룹 특정 규칙으로 트래픽을 제어하려면 ENI에 연결할 보안 그룹 ID를 최대 5개까지 준비합니다. 보안 그룹을 선택하지 않으면 기본 보안 그룹이 새로 생성됩니다.

프라이빗 연결은 계정 수준 리소스입니다. 프라이빗 연결을 생성하면 동일 호스트에 도달해야 하는 여러 통합 및 Agent Space에서 재사용할 수 있습니다.

프라이빗 연결 생성

AWS Management Console 또는 AWS CLI를 사용하여 프라이빗 연결을 생성할 수 있습니다.

AWS Console 사용

1단계: AWS DevOps Agent 콘솔을 엽니다. 탐색 창에서 Capability providers를 선택합니다:

그림 2: DevOps Agent Capability Providers

2단계: Private connections를 선택합니다.

그림 3: DevOps Agent 프라이빗 연결

3단계: Create a new connection을 선택합니다.

그림 4: DevOps Agent – 새 연결 생성

4단계: 프라이빗 연결을 구성합니다:

연결 세부 정보(Connection details):

  • Name: 연결에 대한 설명적 이름을 입력합니다.

리소스 위치(Resource location):

  • VPC where your resource is located: 리소스가 있는 VPC 또는 리소스에 접근할 수 있는 VPC를 선택합니다.
  • Subnets: 관리형 리소스 게이트웨이 ENI를 호스팅할 VPC의 가용 영역당 하나의 서브넷을 선택합니다.
  • IP address type: 프라이빗 연결이 사용할 IP 주소 체계로 IPv4, IPv6 또는 듀얼 스택 중 하나를 선택합니다. (이 예제에서는 듀얼 스택을 선택했습니다.)

그림 5: DevOps Agent – 프라이빗 연결 구성

접근 제어(Access control):

  • (선택) Security groups: ENI에 연결할 기존 보안 그룹을 최대 5개까지 선택합니다. 선택하지 않으면 기본 보안 그룹이 새로 생성됩니다.
  • (선택) Port ranges: 대상 애플리케이션이 수신 대기하는 TCP 포트를 지정합니다(예: 443 또는 8080-8090). 최대 11개의 포트 범위를 지정할 수 있습니다. 지정하지 않으면 모든 포트가 허용됩니다.

서비스 대상 세부 정보(Service target details):

  • Host address: 대상 리소스 또는 서비스의 IP 주소 또는 DNS 이름입니다(예: mcp.internal.example.com 또는 10.0.1.50). 서비스는 선택한 VPC에서 도달 가능해야 합니다. DNS 이름을 입력한 경우, 어떻게 해석되는지는 다음 단계의 DNS 해석 모드에 따라 달라집니다.
  • DNS resolution: 호스트 주소의 DNS 이름을 해석하는 방식을 선택합니다.
    • Public(기본값) — 퍼블릭 DNS로 해석합니다. DNS 이름을 호스트 주소로 입력했다면 퍼블릭으로 해석 가능해야 합니다. 호스트네임에 퍼블릭 DNS 레코드가 있는 경우(프라이빗 IP를 가리켜도 됩니다) 이 모드를 사용합니다. 호스트 주소로 IP를 지정했다면 이 설정은 영향이 없습니다.
    • In VPC — VPC 컨텍스트에서 해석하므로, 프라이빗 호스팅 영역에만 존재하는 호스트네임도 퍼블릭 DNS 레코드 없이 정상 해석됩니다. 대상 서비스의 호스트네임이 VPC 내부 전용일 때 사용합니다.
  • (선택) Certificate public key: 프라이빗 인증 기관(CA)이 호스트 주소의 TLS 인증서를 발급한 경우에만 입력합니다. PEM 인코딩된 전체 인증서 체인을 리프(서버) 인증서 → 중간 CA 인증서 → 루트 CA 인증서 순서대로 나열합니다. 체인이 불완전하면 연결이 실패합니다. 이후 AWS DevOps Agent가 TLS 연결을 검증하고 신뢰합니다.

그림 6: DevOps Agent – 프라이빗 연결 구성(계속)

Create Connection을 선택합니다.

연결 상태가 Create in progress로 변경됩니다. 이 프로세스는 최대 10분이 소요될 수 있습니다. 상태가 Completed로 변경되면 네트워크 경로가 준비된 것입니다.

그림 7: 프라이빗 연결이 성공적으로 생성됨

상태가 Create failed로 변경되면, 지정한 서브넷에 사용 가능한 IP 주소가 있는지, 계정이 VPC Lattice 서비스 할당량에 도달하지 않았는지, 서비스 연결 역할의 리소스 생성을 방해하는 제한적인 IAM 정책이 없는지 확인하십시오.

AWS CLI 사용

다음 명령을 실행하여 프라이빗 연결을 생성합니다. 값을 사용자 환경에 맞게 교체십시오.

aws devops-agent create-private-connection \
    --name my-test-private-connection \
    --mode '{
        "serviceManaged": {
            "hostAddress": "mymcpserver.test.skipv5.net",
            "resourceGatewayConfig": {
                "create": {
                    "vpcId": "vpc-00ef99bef2632b9ac",
                    "subnetIds": [
                        "subnet-034f636837473de13",
                        "subnet-00bdfb9edf7cc1ca7"
                    ],
                    "securityGroupIds": [
                        "sg-082788aaec0517905"
                    ]
                }
            }
        }
    }'

응답에는 연결 이름과 CREATE_IN_PROGRESS 상태가 포함됩니다:

{
    "name": " my-test-private-connection",
    "status": "CREATE_IN_PROGRESS",
    "resourceGatewayId": "rgw-0f7415325b107a945",
    "hostAddress": "mymcpserver.test.skipv5.net",
    "vpcId": "vpc-00ef99bef2632b9ac"
}

dnsResolution 필드로 hostAddress의 DNS 이름 해석 방식을 제어할 수 있습니다. 유효한 값은 PUBLIC(생략 시 기본값)과 IN_VPC이며, 프라이빗 호스팅 영역의 이름처럼 VPC 내부에서만 해석되는 호스트 주소에는 IN_VPC를 사용합니다. hostAddress에 IP 주소를 지정한 경우 이 필드는 영향이 없습니다.

연결 상태를 확인하려면 describe-private-connection 명령을 사용합니다:

aws devops-agent describe-private-connection \
    --name my-test-private-connection

상태가 Active이면 프라이빗 연결을 사용할 준비가 된 것입니다.

연결 확인

프라이빗 연결이 Active 상태에 도달한 후, AWS DevOps Agent가 대상 서비스에 도달할 수 있는지 확인합니다:

  1. AWS DevOps Agent 콘솔을 열고 Agent Space로 이동합니다.
  2. 새 채팅 세션을 시작합니다. (Launch web app 클릭)
  3. 프라이빗 연결로 연결된 통합을 사용하는 명령을 실행합니다. 예를 들어, MCP 도구가 내부 지식 베이스에 대한 접근을 제공하는 경우, 해당 지식 베이스가 필요한 질문을 에이전트에게 합니다.
  4. 에이전트가 프라이빗 서비스에서 결과를 반환하는지 확인합니다.

연결이 실패하면 다음을 확인하세요:

  • 보안 그룹 규칙: ENI에 연결된 보안 그룹이 서비스가 수신 대기하는 포트에서 아웃바운드 트래픽을 허용하는지 확인합니다. 또한 서비스의 보안 그룹이 ENI 보안 그룹에서의 인바운드 트래픽을 허용하는지 확인합니다.
  • 서브넷 연결성: 선택한 서브넷이 서비스에 도달 가능한지 확인합니다. 서비스가 다른 서브넷에서 실행되는 경우, 라우트 테이블이 두 서브넷 간 트래픽을 허용하는지 확인합니다.
  • 서비스 가용성: 서비스가 실행 중이며 예상 포트에서 연결을 수락하는지 확인합니다.

예제: 셀프 호스팅 Grafana 인스턴스 연결

프라이빗 연결의 가장 일반적인 사용 사례 중 하나는 AWS DevOps Agent를 셀프 호스팅 Grafana 인스턴스에 연결하는 것입니다. 많은 팀이 메트릭, 로그, 트레이스를 시각화하기 위해 퍼블릭 엔드포인트 없이 VPC 내부에서 Grafana를 실행합니다. 기본 제공 Grafana 통합과 프라이빗 연결을 통해, 에이전트에게 대시보드, 알림, 데이터 소스에 대한 읽기 전용 접근 권한을 부여할 수 있습니다 – 온콜 엔지니어가 인시던트 중에 의존하는 것과 동일한 옵저버빌리티 데이터입니다.

AWS DevOps Agent는 공식 오픈 소스 Grafana MCP 서버를 사용자 대신 호스팅하는 전용 Grafana 통합을 제공하므로, 별도의 MCP 서버 인프라를 배포하거나 관리할 필요가 없습니다. 이 통합은 Grafana Cloud, Grafana Enterprise, 셀프 호스팅 Grafana OSS(v9.1 이상)를 지원합니다.

퍼블릭으로 접근할 수 없는 셀프 호스팅 인스턴스의 경우, Grafana 통합에 프라이빗 연결을 결합하여 에이전트가 프라이빗 네트워크를 통해 인스턴스에 접근하도록 합니다.

1단계: Grafana 서비스 계정 생성

Grafana 인스턴스에서 Viewer 역할 권한을 가진 서비스 계정을 생성합니다. 이를 통해 AWS DevOps Agent에게 대시보드, 알림 규칙, 데이터 소스에 대한 읽기 전용 접근 권한이 부여됩니다. 서비스 계정에 대한 액세스 토큰을 생성하고 다음 단계를 위해 저장합니다.

2단계: Grafana 인스턴스에 대한 프라이빗 연결 생성

Grafana 인스턴스가 프라이빗 서브넷에서 실행되므로, AWS DevOps Agent가 이에 도달할 수 있도록 먼저 프라이빗 연결을 생성합니다.

AWS Console 사용:

이 블로그의 프라이빗 연결 생성 섹션의 단계를 따르되, Grafana 인스턴스의 주소를 호스트 주소로 사용합니다.

AWS CLI 사용:

aws devops-agent create-private-connection \
    --name grafana-connection \
    --mode '{
        "serviceManaged": {
            "hostAddress": "grafana.internal.example.com",
            "resourceGatewayConfig": {
                "create": {
                    "vpcId": "vpc-0123456789abcdef0",
                    "subnetIds": [
                        "subnet-0123456789abcdef0",
                        "subnet-0123456789abcdef1"
                    ],
                    "portRanges": ["443"]
                }
            }
        }
    }'

계속 진행하기 전에 연결 상태가 Active에 도달할 때까지 기다립니다.

3단계: Agent Space에 Grafana 통합 추가

에이전트가 연결 방법을 알 수 있도록 Grafana 서비스를 등록하고 연결합니다.

AWS Console 사용:

Grafana 연동은 계정 수준 등록 → Agent Space 연결 두 단계로 나뉩니다. 등록은 계정 내 모든 Agent Space가 공유합니다.

먼저 계정 수준으로 등록합니다.

  1. AWS DevOps Agent 콘솔을 엽니다.
  2. Capability Providers → Registration으로 이동합니다.
  3. Available providersTelemetry 섹션에서 Grafana를 찾아 Register를 선택합니다.
  4. 다음 정보를 입력합니다.
    Service Name(필수) — Grafana 서버를 설명하는 이름. 영숫자, 하이픈, 밑줄만 사용합니다(예: my-grafana-server).
    ○ Grafana URL(필수) — Grafana 인스턴스의 전체 HTTPS URL(예: https://grafana.internal.example.com).
    ○ Service Account Access Token(필수) — 1단계에서 생성한 토큰. 일반적으로 glsa_로 시작합니다.
    ○ Description(선택) — 서버 용도를 식별할 설명.
  5. Connect to endpoint using a private connection을 선택하고, 2단계에서 만든 프라이빗 연결을 지정합니다. 이 화면에서 Create a new private connection으로 새로 만들 수도 있습니다.
  6. Next → 내용을 검토한 뒤 Register를 선택합니다. 등록되면 Capability Providers 페이지의 Currently registered 섹션에 나타납니다.

다음으로 Agent Space에 연결합니다.

  1. AWS DevOps Agent 콘솔에서 Agent Space를 선택합니다.
  2. Capabilities 탭으로 이동합니다.
  3. Telemetry 섹션에서 Add를 선택합니다.
  4. 위에서 등록한 Grafana를 선택합니다.
  5. Select tools에서 허용할 툴을 선택합니다.
  6. Next를 선택합니다.
  7. Agent actions에서 쓰기(mutative)를 허용할 툴을 선택합니다. 읽기 전용으로만 사용하고자 한다면 선택하지 않습니다.
  8. Save를 선택합니다.
  9. Close를 선택합니다.

하나의 Agent Space는 여러 Grafana 등록을 함께 사용할 수 있습니다. 다른 등록을 연결하려면 이 단계를 반복합니다.

참고Capability provider를 등록할 때 AWS DevOps Agent는 엔드포인트가 실제로 도달 가능하고 응답하는지 검증합니다. 등록을 완료하기 전에 대상 서비스가 실행 중이고 연결을 수락하는 상태여야 합니다.

AWS CLI 사용:

먼저 인스턴스 URL과 서비스 계정 토큰으로 Grafana 서비스를 등록합니다:

aws devops-agent register-service \
    --service mcpservergrafana \
    --private-connection-name grafana-connection \
    --service-details '{
        "mcpservergrafana": {
            "name": "grafana",
            "endpoint": "https://grafana.internal.example.com",
            "authorizationConfig": {
                "bearerToken": {
                    "tokenName": "grafana-sa-token",
                    "tokenValue": "<SERVICE_ACCOUNT_TOKEN>"
                }
            }
        }
    }' \
    --region us-east-1

반환된 serviceId를 저장한 다음, Grafana 서비스를 Agent Space에 연결합니다:

aws devops-agent associate-service \
    --agent-space-id <AGENT_SPACE_ID> \
    --service-id <SERVICE_ID> \
    --configuration '{
        "mcpservergrafana": {
            "endpoint": "https://grafana.internal.example.com"
        }
    }' \
    --region us-east-1

응답에는 4단계에서 알림 통지를 구성하는 데 사용할 수 있는 웹훅 정보가 포함됩니다. 에이전트는 호스트 주소를 매칭하여 2단계에서 생성한 프라이빗 연결을 통해 Grafana 인스턴스로 트래픽을 라우팅합니다.

통합을 확인하려면 Agent Space에서 채팅을 시작하고 에이전트에게 “최근 Grafana 알림을 요약해줘”와 같이 요청합니다. 에이전트가 대시보드의 알림 데이터를 반환하면 프라이빗 연결과 Grafana 통합이 모두 정상적으로 작동하는 것입니다.

4단계: Grafana 웹훅 알림 활성화 (선택 사항)

Grafana가 알림을 트리거할 때 AWS DevOps Agent가 자동으로 조사를 시작하게 하려면, Grafana 인스턴스에서 웹훅 연락처(contact point)를 구성합니다. 웹훅을 Agent Space의 웹훅 URL로 지정하고 통합 설정의 인증 시크릿을 제공합니다. 알림이 트리거되면 Grafana가 에이전트에 통지를 보내고, 에이전트는 Agent Space의 다른 리소스와 함께 Grafana 데이터를 사용하여 조사를 시작합니다.

AWS DevOps Agent Grafana 통합에 대한 자세한 내용과 AWS Managed Grafana(AMG)에서도 이 통합을 사용하는 방법은 AWS DevOps Agent Grafana 통합 문서를 참조하세요.

DNS 해석 및 호스트 라우팅 작동 방식

프라이빗 연결을 생성할 때 제공하는 호스트 주소(예: my-alb.us-east-1.elb.amazonaws.com)는 VPC Lattice가 대상으로 트래픽을 라우팅하기 위해 해석하는 DNS 이름입니다. 기본값인 Public 해석 모드에서는 이 DNS 이름이 프라이빗 IP 주소로 해석되더라도 퍼블릭으로 해석 가능해야 합니다. 사내 도메인처럼 프라이빗 호스팅 영역에만 레코드가 있는 경우에는 In VPC 모드를 선택하면 퍼블릭 레코드 없이도 동작합니다. 서비스 통합을 등록하고 엔드포인트 URL(예: https://my-grafana.internal.corp)을 지정하면, 해당 URL은 TLS 연결의 Host 헤더와 Server Name Indication(SNI)에 사용되며, DNS 해석에는 사용되지 않습니다. 이러한 분리 덕분에 여러 서비스 통합을 동일한 프라이빗 연결(따라서 동일한 대상, 예: Application Load Balancer)에 연결하면서 각각 다른 엔드포인트 호스트네임을 사용할 수 있습니다. 대상은 Host 헤더를 사용하여 요청을 서로 다른 백엔드로 라우팅할 수 있습니다.

예를 들어, ALB의 DNS 이름을 호스트 주소로 하는 단일 프라이빗 연결을 생성하고, Grafana와 MCP 서버 통합을 각각 고유한 엔드포인트 URL로 별도 등록할 수 있습니다. ALB는 동일한 프라이빗 연결을 통해 두 요청을 모두 수신하고, 호스트 기반 라우팅 규칙을 사용하여 각 요청을 올바른 대상 그룹으로 전달합니다.

고급 설정: 기존 VPC Lattice 리소스 사용

조직이 이미 Amazon VPC Lattice를 사용하고 자체 리소스 구성을 관리하는 경우, 자체 관리형 모드(self-managed mode)로 프라이빗 연결을 생성할 수 있습니다. AWS DevOps Agent가 리소스 게이트웨이를 생성하는 대신, 대상 서비스를 가리키는 기존 리소스 구성의 Amazon 리소스 이름(ARN)을 제공합니다.

이 접근 방식은 다음과 같은 경우에 유용합니다:

  • 리소스 게이트웨이와 리소스 구성의 수명 주기를 완전히 제어하려는 경우
  • 여러 AWS 계정 또는 서비스 간에 리소스 구성을 공유해야 하는 경우
  • 세부 트래픽 모니터링을 위해 VPC Lattice 접근 로그가 필요한 경우
  • 허브 앤 스포크 네트워크 아키텍처를 운영하는 경우
  • 리소스 또는 서비스 접근에 대한 제로 트러스트 기반 세분화된 접근 제어가 필요한 경우

AWS Console 사용:

AWS Console에서 자체 관리형 프라이빗 연결을 생성하려면 Create a new connection을 클릭하고 다음 화면 캡처(그림 8)와 같이 Use existing resource configuration을 선택한 다음, 드롭다운 목록에서 기존 리소스 구성을 선택합니다.

그림 8: 기존 VPC Lattice 리소스를 사용한 고급 설정

AWS CLI 사용:

AWS CLI로 자체 관리형 프라이빗 연결을 생성하려면 다음과 같이 실행합니다:

aws devops-agent create-private-connection \
    --name my-advanced-connection \
    --mode '{
        "selfManaged": {
            "resourceConfigurationId": "rcfg-0123456789abcdef0"
        }
    }'

VPC Lattice 리소스 게이트웨이 및 리소스 구성 설정에 대한 자세한 내용은 Amazon VPC Lattice 사용자 가이드를 참조하세요.

정리

지속적인 비용이 발생하지 않도록, 더 이상 필요하지 않은 프라이빗 연결은 삭제합니다.

AWS Console 사용

  1. AWS DevOps Agent 콘솔을 엽니다.
  2. 탐색 창에서 Capability providers를 선택한 다음 Private connections를 선택합니다.
  3. 삭제할 프라이빗 연결을 선택합니다.
  4. Delete를 선택합니다.
  5. 삭제를 확인합니다.

AWS CLI 사용

aws devops-agent delete-private-connection \
    --name my-test-private-connection

응답은 DELETE_IN_PROGRESS 상태를 반환합니다. AWS DevOps Agent가 관리형 리소스 게이트웨이와 ENI를 VPC에서 제거합니다. 삭제가 완료되면 해당 연결은 프라이빗 연결 목록에 더 이상 표시되지 않습니다.

결론

AWS DevOps Agent의 프라이빗 연결은 여러분의 Agent Space를 VPC 내부에서 실행되는 서비스에 안전하게 연결하는 관리형 방법을 제공합니다. Amazon VPC Lattice를 사용함으로써 프라이빗 연결은 기존 보안 제어를 그대로 유지하면서 모든 트래픽을 퍼블릭 인터넷에서 차단하여, 자체 보안 그룹을 통해 네트워크 접근을 완전히 제어할 수 있도록 합니다.

시작하려면 AWS DevOps Agent 콘솔을 열고 첫 번째 프라이빗 연결을 생성하세요. 자세한 내용은 AWS DevOps Agent 사용자 가이드의 Private connections 문서를 참조하세요.

참고프라이빗 연결(Private Connections)이 정상적으로 되지 않으면 “ 트러블 슈팅” 가이드를 검토하세요.

 

Changki Lee

Changki Lee

Technical Account Manager로서, Automotive 산업 고객이 AWS 위에서 자율주행·커넥티드카 워크로드를 안정적으로 운영하고, Generative AI 기술을 성공적으로 도입할 수 있도록 돕고 있습니다. Amazon Bedrock, AgentCore 등 Gen AI 솔루션 스택과 Serverless, Mobile, IoT 영역의 실전 경험을 바탕으로 아키텍처 설계 및 프로덕션 환경 운영을 지원하고 있습니다.

Byungdoo Choi

Byungdoo Choi

Sr. Technical Account Manager이자 AI/ML Technical Field Community 멤버로서, 고객이 AWS Generative AI 기술을 성공적으로 도입하고 운영할 수 있도록 돕고 있습니다. Amazon Bedrock, AgentCore 등 AWS Gen AI solution stack 전반에 대한 실전 활용 방법과 프로덕션 환경 운영 지원을 하고 있습니다.