다음을 통해 공유


에이전트 기반 실험을 위한 Private Link 구성(미리 보기)

이 문서에서는 Azure Chaos Studio 에이전트 기반 실험(미리 보기)을 위해 Azure Private Link를 구성하는 데 필요한 단계를 설명합니다. 현재 사용자 환경은 프라이빗 엔드포인트 기능의 공개 미리 보기의 일부로 사용하도록 설정된 프라이빗 엔드포인트 지원을 기반으로 합니다. 이 기능은 GA(일반 공급) 수준으로 향상되면서 시간이 지남에 따라 이러한 환경도 더욱 발전할 것으로 예상됩니다. 현재 미리 보기로 제공됩니다.


필수 조건

참고 항목

대상 리소스가 Azure Portal을 사용하여 만들어진 경우 Chaos Agent VM(가상 머신) 확장이 호스트 VM에 자동으로 설치됩니다. Azure CLI를 사용하여 대상이 사용하도록 설정된 경우 Chaos Studio 설명서에 따라 먼저 VM에 VM 확장을 설치합니다. 프라이빗 엔드포인트 설정을 완료할 때까지 VM 확장은 비정상 상태를 보고합니다. 이 동작이 예상됩니다.


제한 사항

  • 에이전트 기반 실험 전용 Private Link를 만들고 사용하려면 2023-10-27-preview REST API를 사용해야 합니다. 2024년 상반기까지 GA 안정 REST API에서는 에이전트 기반 실험을 위한 Private Link가 지원되지 않습니다.
  • 이 흐름의 전체적인 엔드투엔드 환경에는 CLI를 사용해야 합니다. 현재의 엔드투엔드 환경은 Azure Portal에서 구현할 수 없습니다.
  • CSPA(Chaos Studio Private Accesses) 리소스 종류는 Chaos 대상:CSPA 리소스(프라이빗 엔드포인트에 대한 추상화)의 엄격한 1:1 매핑을 갖습니다. 모든 고객이 기대하는 환경을 유지할 수 있도록 구독당 5개의 CSPA 리소스만 만들도록 허용합니다.

Chaos Studio Private Access 리소스 만들기

에이전트 기반 카오스 실험에 프라이빗 엔드포인트를 사용하려면 Chaos Studio Private Accesses라는 새 리소스 종류를 만들어야 합니다. CSPA는 프라이빗 엔드포인트가 생성되는 리소스입니다.

현재 이 리소스는 CLI에서만 만들 수 있습니다. 이 리소스 종류를 만드는 방법은 다음 코드 예를 참조하세요.

az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://centraluseuap.management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>?api-version=2023-10-27-preview" --body ' 

{ 

   "location": "<resourceLocation>", 

   "properties": { 

       "id": "<CSPAResourceName>", 

       "name": "<CSPAResourceName>", 

       "location": "<resourceLocation>", 

       "type": "Microsoft.Chaos/privateAccesses", 

       "resourceId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>" 

   } 

}'
속성 필수 Type 설명
subscriptionID True 문자열 Azure 구독 ID를 나타내는 GUID.
resourceGroupName True 문자열 Azure 리소스 그룹을 나타내는 문자열.
CSPAResourceName True 문자열 Chaos Studio Private Access 리소스에 제공하려는 이름을 나타내는 문자열
resourceLocation True 문자열 리소스를 호스트할 위치(Chaos Studio의 지원 지역이어야 함)입니다.

가상 네트워크, 서브넷 및 프라이빗 엔드포인트를 만듭니다.

아직 설정하지 않은 경우 실험에 대해 원하는 가상 네트워크, 서브넷 및 엔드포인트를 설정합니다.

동일한 VM의 가상 네트워크에 연결해야 합니다. 가상 네트워크, 서브넷, 프라이빗 엔드포인트를 만드는 방법의 예를 제공하는 스크린샷. 스크린샷에 표시된 대로 리소스 종류Microsoft.Chaos/privateAccesses로 설정해야 합니다.

프라이빗 엔드포인트 만들기의 리소스 탭을 보여 주는 스크린샷.

프라이빗 엔드포인트 만들기의 Virtual Network 탭을 보여 주는 스크린샷.

에이전트 호스트 VM을 CSPA 리소스에 매핑합니다.

GetTarget 호출을 통해 대상 Resource ID를 찾습니다.

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}?api-version=2023-10-27-preview

GET 명령은 큰 응답을 반환합니다. 이 응답을 참고하세요. 이 응답을 사용하고 PUT Target 명령을 실행하기 전에 이를 수정하여 두 리소스를 매핑합니다.


이 응답을 사용하여 PUT Target 명령을 호출합니다. PUT 명령을 실행하기 전에 명령 본문에 두 개의 필드를 추가해야 합니다.

추가 필드는 다음과 같습니다.

"privateAccessId": "subscriptions/<subID>/...
"allowPublicAccess": false

},

PUT Target 명령이 어떤 모양이어야 하는지와 작성해야 할 필드에 대한 예 블록은 다음과 같습니다.

참고 항목

이전 GET 명령의 본문을 복사합니다. privateAccessIDallowPublicAccess 필드를 수동으로 추가해야 합니다.


az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>/providers/Microsoft.Compute/virtualMachines/<VMSSname>/providers/Microsoft.Chaos/targets/Microsoft-Agent?api-version=2023-10-27-preview " --body ' {
    "id": "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/microsoft.compute/virtualmachines/<VMSSName>/providers/Microsoft.Chaos/targets/Microsoft-Agent",
    "type": "Microsoft.Chaos/targets",
    "name": "Microsoft-Agent",
    "location": "<resourceLocation>",
    "properties": {
        "agentProfileId": "<from target resource>",
        "identities": [
            {
                "type": "AzureManagedIdentity",
                "clientId": "<clientID>",
                "tenantId": "<tenantID>"
            }
        ],
        "agentTenantId": "CHAOSSTUDIO",
        "privateAccessId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAresourceName>",
        "allowPublicAccess": false
    }} '

참고 항목

PrivateAccessID 값은 이전 섹션인 Chaos Studio Private Access 리소스 만들기에서 CSPA 리소스를 만드는 데 사용한 resourceID 값과 정확히 일치해야 합니다.

VM에서 Azure Chaos Agent 서비스를 다시 시작합니다.

호스트에 필요한 모든 변경을 한 후 VM에서 Azure Chaos Agent 서비스를 다시 시작합니다.

Windows

Windows VM을 다시 시작하는 방법을 보여 주는 스크린샷.

Linux

Linux의 경우 CLI에서 다음 명령을 실행합니다.

Systemctl restart azure-chaos-agent

Linux VM을 다시 시작하는 방법을 보여 주는 스크린샷.

프라이빗 엔드포인트를 사용하여 에이전트 기반 실험을 실행합니다.

다시 시작한 후 Azure Chaos Agent는 에이전트 통신 데이터 평면 서비스와 통신할 수 있어야 하며 데이터 평면에 대한 에이전트 등록이 성공해야 합니다. 등록이 성공적으로 완료되면 에이전트는 하트비트로 상태를 표시할 수 있습니다. 그런 다음 프라이빗 엔드포인트를 사용하여 Azure Chaos Agent 기반 실험을 실행할 수 있습니다.