네트워크 연결 만들기 및 관리

이 페이지에서는 소비자 네트워크 관리자가 Private Service Connect 네트워크 연결을 만들고 관리하는 방법을 설명합니다. 네트워크 연결을 사용하면 서비스 프로듀서 VPC 네트워크에서 소비자 VPC 네트워크에 대한 연결을 시작할 수 있습니다.

시작하기 전에

  • 프로젝트에서 Compute Engine API사용 설정해야 합니다.
  • 네트워크 연결에 연결할 수 있는 프로젝트를 수동으로 지정하려면 프로젝트 ID를 알아야 합니다.

역할

네트워크 연결을 만들고, 보고, 삭제하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트의 Compute 네트워크 관리자(roles/compute.networkAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

서브넷 만들기

네트워크 연결을 만들 때 단일 일반 서브넷을 할당합니다. 이 서브넷은 네트워크 연결과 동일한 리전에 있어야 합니다. 하나의 서브넷을 여러 네트워크 연결에서 공유할 수 있습니다.

네트워크 연결이 Private Service Connect 인터페이스의 연결을 허용하면 Google Cloud가 서브넷의 기본 IP 주소 범위의 IP 주소를 인터페이스에 할당합니다. 서브넷이 이중 스택인 경우 프로듀서가 생성 시 Google Cloud에서 연결된 Private Service Connect 인터페이스에 IPv4 주소만 할당할지 아니면 IPv4와 IPv6 주소 둘 다 할당할지 여부를 지정할 수 있습니다.

서브넷 만들기에 대한 자세한 내용은 VPC 네트워크 만들기 및 관리를 참조하세요.

네트워크 연결 만들기

네트워크 연결은 Private Service Connect 인터페이스 연결의 소비자 측을 나타내는 리전별 리소스입니다. 가상 머신(VM) 인스턴스를 성공적으로 만들려면 연결된 Private Service Connect 인터페이스의 VM과 동일한 리전에 네트워크 연결이 있어야 합니다.

네트워크 연결의 연결 정책에 따라 네트워크 연결이 Private Service Connect 인터페이스에서 연결을 수락할 수 있는지 여부가 결정됩니다.

서브넷, 허용 목록, 거부 목록, 네트워크 연결 설명을 업데이트할 수 있습니다.

수동으로 연결을 수락하는 네트워크 연결 만들기

연결을 수동으로 수락하는 네트워크 연결을 만들 수 있습니다. 이 유형의 연결을 만들기 전에 수락할 프로젝트의 ID를 알아야 합니다.

콘솔

  1. Google Cloud Console에서 Private Service Connect로 이동합니다.

    Private Service Connect로 이동

  2. 네트워크 연결을 클릭합니다.

  3. 네트워크 연결 만들기를 클릭합니다.

  4. 이름을 입력합니다.

  5. 네트워크를 선택합니다.

  6. 리전을 선택합니다.

  7. 서브네트워크를 선택합니다.

  8. 선택한 프로젝트에 연결 허용을 클릭합니다.

  9. 허용되는 프로젝트 추가를 클릭한 후 연결을 수락할 각 프로젝트의 ID를 입력합니다.

  10. 선택사항: 거부된 프로젝트 추가를 클릭한 후 연결을 명시적으로 거부하려는 각 프로젝트의 ID를 입력합니다.

  11. 네트워크 연결 만들기를 클릭합니다.

gcloud

network-attachments create 명령어를 사용합니다.

gcloud compute network-attachments create ATTACHMENT_NAME \
    --region=REGION \
    --connection-preference=ACCEPT_MANUAL \
    --producer-accept-list=ACCEPTED_PROJECTS \
    --producer-reject-list=REJECTED_PROJECTS \
    --subnets=SUBNET_NAME

다음을 바꿉니다.

  • ATTACHMENT_NAME: 네트워크 연결의 이름입니다.
  • REGION: 네트워크 연결의 리전입니다.
  • ACCEPTED_PROJECTS: 이 네트워크 연결에 연결할 수 있는 프로젝트의 ID입니다. 쉼표로 구분된 목록으로 여러 값을 포함할 수 있습니다.
  • REJECTED_PROJECTS: 이 네트워크 연결에 연결할 수 없는 프로젝트의 ID입니다. 쉼표로 구분된 목록으로 여러 값을 포함할 수 있습니다.
  • SUBNET_NAME: 이 네트워크 연결과 연결할 서브넷의 이름입니다.

API

networkAttachments.insert 메서드에 대해 POST 요청을 실행합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments
{
  "connectionPreference": "ACCEPT_MANUAL",
  "name": "ATTACHMENT_NAME",
  "producerAcceptLists": [
    "ACCEPTED_PROJECT_LIST"
  ],
  "producerRejectLists": [
    "REJECTED_PROJECT_LIST"
  ],
  "subnetworks": [
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
  ]
}

다음을 바꿉니다.

  • PROJECT_ID: 네트워크 연결을 만들 프로젝트의 ID입니다.
  • REGION: 네트워크 연결의 리전입니다.
  • ATTACHMENT_NAME: 네트워크 연결의 이름입니다.
  • ACCEPTED_PROJECT_LIST: 이 네트워크 연결에 연결할 수 있는 프로젝트의 ID입니다. "id-one", "id-two" 형식으로 ID를 여러 개 포함할 수 있습니다.
  • REJECTED_PROJECT_LIST: 이 네트워크 연결에 연결할 수 없는 프로젝트의 ID입니다. "id-one", "id-two" 형식으로 ID를 여러 개 포함할 수 있습니다.
  • SUBNET_NAME: 네트워크 연결에 지정할 서브넷의 이름입니다.

연결을 자동으로 허용하는 네트워크 연결 만들기

네트워크 연결을 참조하는 Private Service Connect 인터페이스에서 연결을 자동으로 허용하는 네트워크 연결을 만들 수 있습니다.

콘솔

  1. Google Cloud Console에서 Private Service Connect로 이동합니다.

    Private Service Connect로 이동

  2. 네트워크 연결을 클릭합니다.

  3. 네트워크 연결 만들기를 클릭합니다.

  4. 이름을 입력합니다.

  5. 네트워크를 선택합니다.

  6. 리전을 선택합니다.

  7. 서브네트워크를 선택합니다.

  8. 모든 프로젝트의 연결 자동 허용을 클릭합니다.

  9. 네트워크 연결 만들기를 클릭합니다.

gcloud

network-attachments create 명령어를 사용합니다.

gcloud compute network-attachments create ATTACHMENT_NAME \
    --region=REGION \
    --connection-preference=ACCEPT_AUTOMATIC \
    --subnets=SUBNET_NAME

다음을 바꿉니다.

  • ATTACHMENT_NAME: 네트워크 연결의 이름입니다.
  • REGION: 네트워크 연결의 리전입니다.
  • SUBNET_NAME: 이 네트워크 연결과 연결할 서브넷의 이름입니다.

API

networkAttachments.insert 메서드에 대해 POST 요청을 실행합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments
{
  "connectionPreference": "ACCEPT_AUTOMATIC",
  "name": "ATTACHMENT_NAME",
  "subnetworks": [
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
  ]
}

다음을 바꿉니다.

  • PROJECT_ID: 네트워크 연결을 만들 프로젝트의 ID입니다.
  • REGION: 네트워크 연결의 리전입니다.
  • ATTACHMENT_NAME: 네트워크 연결의 이름입니다.
  • SUBNET_NAME: 네트워크 연결에 지정할 서브넷의 이름입니다.

네트워크 연결 나열

콘솔

  1. Google Cloud Console에서 Private Service Connect로 이동합니다.

    Private Service Connect로 이동

  2. 네트워크 연결을 클릭합니다.

gcloud

  • 프로젝트의 모든 네트워크 연결을 나열하려면 network-attachments list 명령어를 사용합니다.

    gcloud compute network-attachments list
    
  • 특정 리전의 네트워크 연결을 나열하려면 network-attachments list 명령어를 사용하고 리전을 지정합니다.

    gcloud compute network-attachments list
       --regions=REGIONS
    

    REGIONS를 네트워크 연결을 나열할 리전으로 바꿉니다. 쉼표로 구분된 목록으로 여러 리전을 포함할 수 있습니다.

API

특정 리전의 네트워크 연결을 나열하려면 networkAttachments.list 메서드GET 요청을 수행합니다.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • REGION: 네트워크 연결의 리전입니다.

네트워크 연결 설명

연결된 Private Service Connect 인터페이스 연결을 포함하여 네트워크 연결의 세부정보를 확인할 수 있습니다. 각 연결마다 Private Service Connect 인터페이스의 할당된 IP 주소를 볼 수 있습니다.

콘솔

  1. Google Cloud Console에서 Private Service Connect로 이동합니다.

    Private Service Connect로 이동

  2. 네트워크 연결을 클릭합니다.

  3. 네트워크 연결을 선택하여 세부정보 및 연결된 프로젝트 목록을 확인합니다.

  4. 프로젝트에 대해 개별 Private Service Connect 인터페이스 연결을 보려면 프로젝트 이름을 클릭합니다.

    프로젝트의 연결 상태에 따라 반드시 해당 프로젝트에서 Private Service Connect 인터페이스 연결의 상태가 결정되지는 않습니다. 예를 들어 한 프로젝트의 연결을 수락한 후 이 프로젝트를 거부 목록에 추가하면 프로젝트 상태가 거부됨이지만 기존 연결은 열린 상태로 유지됩니다. 이 프로젝트에서 새 연결은 거부됩니다.

gcloud

network-attachments describe 명령어를 사용합니다.

gcloud compute network-attachments describe ATTACHMENT_NAME \
    --region=REGION

다음을 바꿉니다.

  • ATTACHMENT_NAME: 설명할 네트워크 연결의 이름입니다.
  • REGION: 네트워크 연결의 리전입니다.

API

네트워크 연결을 설명하고 세부정보를 보려면 networkAttachments.get 메서드에 대해 GET 요청을 실행합니다.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • REGION: 네트워크 연결의 리전입니다.
  • ATTACHMENT_NAME: 네트워크 연결의 이름입니다.

네트워크 연결 업데이트

서브넷, 설명을 바꿔서 네트워크 연결을 업데이트하거나, 연결을 수동으로 수락하도록 생성된 네트워크 연결의 경우 허용 또는 거부 목록을 수정하여 업데이트할 수 있습니다. 다른 필드를 업데이트해야 하는 경우 네트워크 연결을 삭제한 후 새 연결을 만듭니다.

네트워크 연결의 서브넷을 바꿀 경우에는 기존 연결이 영향을 받지 않습니다. 업데이트 후 생성된 연결은 새 서브넷의 IP 주소를 사용합니다.

네트워크 연결의 허용 또는 거부 목록을 바꿀 경우에는 기존 연결이 영향을 받지 않습니다. 업데이트 후에 생성된 연결은 업데이트된 목록에 따라 허용 또는 거부됩니다.

콘솔

  1. Google Cloud Console에서 Private Service Connect로 이동합니다.

    Private Service Connect로 이동

  2. 네트워크 연결을 클릭합니다.

  3. 업데이트하려는 네트워크 연결을 클릭한 후 수정을 클릭합니다.

  4. 네트워크 연결의 서브네트워크를 바꾸려면 서브네트워크를 클릭한 후 새 서브네트워크를 선택합니다.

  5. 허용 목록을 업데이트하려면 다음을 수행합니다.

    1. 프로젝트를 허용 목록에 추가하려면 수락된 프로젝트 추가를 클릭한 후 수락할 프로젝트의 프로젝트 ID 또는 프로젝트 번호를 입력합니다.
    2. 허용 목록에서 프로젝트를 삭제하려면 프로젝트 위에 포인터를 가져가고 수락된 프로젝트 삭제를 클릭합니다.
  6. 거부 목록을 업데이트하려면 다음을 수행합니다.

    1. 프로젝트를 거부 목록에 추가하려면 거부된 프로젝트 추가를 클릭한 후 거부할 프로젝트의 프로젝트 ID 또는 프로젝트 번호를 입력합니다.
    2. 거부 목록에서 프로젝트를 삭제하려면 프로젝트 위에 포인터를 가져가고 거부된 프로젝트 삭제를 클릭합니다.
  7. 네트워크 연결 업데이트를 클릭합니다.

gcloud

network-attachments update 명령어를 사용합니다. 네트워크 연결을 식별하는 데 사용되는, 리전을 제외하고, 여기에 나열된 필드 중 하나 이상을 업데이트할 수 있습니다. 네트워크 연결의 허용 또는 거부 목록을 업데이트할 경우 동시에 전체 목록을 바꿔야 합니다.

gcloud compute network-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --subnets=SUBNET \
    --producer-accept-list=ACCEPTED_PROJECTS \
    --producer-reject-list=REJECTED_PROJECTS \
    --description=DESCRIPTION

다음을 바꿉니다.

  • ATTACHMENT_NAME: 네트워크 연결의 이름입니다.
  • REGION: 네트워크 연결의 리전입니다. 이 플래그는 네트워크 연결을 식별하기 위해 사용됩니다. 네트워크 연결의 리전을 업데이트할 수 없습니다.
  • SUBNET: 이 네트워크 연결과 연결할 서브넷의 이름입니다.
  • ACCEPTED_PROJECTS: 이 네트워크 연결에 연결할 수 있는 프로젝트의 ID입니다. 쉼표로 구분된 목록으로 여러 값을 포함할 수 있습니다. 여기에서 지정하는 목록은 기존 허용 목록을 대체합니다.
  • REJECTED_PROJECTS: 이 네트워크 연결에 연결할 수 없는 프로젝트의 ID입니다. 쉼표로 구분된 목록으로 여러 값을 포함할 수 있습니다. 여기에서 지정하는 목록은 기존 거부 목록을 대체합니다.
  • DESCRIPTION: 네트워크 연결에 대한 설명입니다.

API

  1. 업데이트할 네트워크 연결을 설명하는 API 요청을 보냅니다.
  2. 네트워크 연결의 fingerprint 필드 값을 확인합니다.
  3. networkAttachments.patch 메서드에 대해 PATCH 요청을 실행합니다. 요청 본문에서 fingerprint를 제외한 바꾸지 않을 모든 필드를 생략합니다.

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
    {
      "fingerprint": "FINGERPRINT",
      "producerAcceptLists": [
        "ACCEPTED_PROJECT_LIST"
      ],
      "producerRejectLists": [
        "REJECTED_PROJECT_LIST"
      ],
      "subnetworks": [
        "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
      ],
      "description": "DESCRIPTION"
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • REGION: 네트워크 연결의 리전입니다.
    • ATTACHMENT_NAME: 네트워크 연결의 이름입니다.
    • FINGERPRINT: 2단계에서 찾은 디지털 지문 필드의 값입니다.
    • ACCEPTED_PROJECT_LIST: 이 네트워크 연결에 연결할 수 있는 프로젝트의 ID입니다. "id-one", "id-two" 형식으로 ID를 여러 개 포함할 수 있습니다. 이 목록을 업데이트하면 이전의 수락된 프로젝트 목록이 대체됩니다.
    • REJECTED_PROJECT_LIST: 이 네트워크 연결에 연결할 수 없는 프로젝트의 ID입니다. "id-one", "id-two" 형식으로 ID를 여러 개 포함할 수 있습니다. 이 목록을 업데이트하면 이전의 거부된 프로젝트 목록이 대체됩니다.
    • SUBNET_NAME: 네트워크 연결에 지정할 새 서브넷의 이름입니다.
    • DESCRIPTION: 네트워크 연결에 대해 업데이트된 설명입니다.

네트워크 연결 삭제

연결이 없는 경우 네트워크 연결을 삭제할 수 있습니다. 연결이 있는 네트워크 연결을 삭제하려면 프로듀서가 먼저 연결된 Private Service Connect 인터페이스를 삭제해야 합니다.

네트워크 연결을 삭제한 후 동일한 이름으로 새 연결을 만들 경우 Google Cloud에서 이러한 네트워크 연결은 2개의 개별 리소스로 취급됩니다.

콘솔

  1. Google Cloud Console에서 Private Service Connect로 이동합니다.

    Private Service Connect로 이동

  2. 네트워크 연결을 클릭합니다.

  3. 네트워크 연결을 선택한 다음 삭제를 클릭합니다.

  4. 삭제를 다시 클릭하여 확인합니다.

gcloud

network-attachments delete 명령어를 사용합니다.

gcloud compute network-attachments delete ATTACHMENT_NAME \
    --region=REGION

다음을 바꿉니다.

  • ATTACHMENT_NAME: 설명할 네트워크 연결의 이름입니다.
  • REGION: 네트워크 연결의 리전입니다.

API

networkAttachments.delete 메서드에 대해 DELETE 요청을 실행합니다.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • REGION: 네트워크 연결의 리전입니다.
  • ATTACHMENT_NAME: 네트워크 연결의 이름입니다.

다음 단계