고정 내부 IP 주소 예약
이 페이지에서는 Virtual Private Cloud(VPC) 네트워크에서 고정 내부 IPv4 또는 IPv6 주소를 예약하고 관리하는 방법을 설명합니다.
고정 내부 IP 주소는 서브넷에 구성된 IP 주소 범위에서 내부 IP 주소를 예약한 후 필요에 따라 예약한 내부 IP 주소를 리소스에 할당하는 기능을 제공합니다. 내부 IP 주소를 예약하면 해당 주소는 동적 할당 풀에서 제거되며 자동 할당에 사용되지 않습니다. 고정 내부 IP 주소를 예약하려면 승인된 사용자만 고정 내부 IP 주소를 예약할 수 있도록 특정한 Identity and Access Management(IAM) 권한을 사용해야 합니다.
고정 내부 IP 주소를 예약하는 기능을 이용하면 언제나 같은 리소스에 같은 IP 주소를 사용할 수 있습니다. 리소스를 삭제하고 다시 만들어야 하는 경우도 마찬가지입니다.
내부 IP 주소 대신 고정 외부 IP 주소를 예약하려면 고정 외부 IP 주소 예약을 참조하세요.
시작하기 전에
- IP 주소에 대해 알아봅니다.
- 아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스와 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드나 샘플을 실행하려면 다음과 같이 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Terraform
로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.
필요한 역할
고정 IP 주소를 예약하고 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 네트워크 관리자(
roles/compute.networkAdmin
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.이 사전 정의된 역할에는 고정 IP 주소를 예약하고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
고정 IP 주소를 예약하고 관리하려면 다음 권한이 필요합니다.
-
IP 주소에 대한
compute.addresses.create
-
IP 주소에 대한
compute.addresses.createInternal
- 네트워크에 대한
compute.networks.list
- 서브넷에 대한
compute.subnetworks.use
- 서브넷에 대한
compute.subnetworks.list
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
제한사항
기존 리소스의 내부 IPv4 주소를 할당 해제하거나 변경할 수 없습니다. 예를 들어 실행 중이거나 중지된 VM 인스턴스에 새 고정 내부 IP 주소를 할당할 수는 없습니다. 하지만 리소스의 임시 내부 IP 주소를 고정 내부 IP 주소로 승격해 리소스를 삭제해도 주소가 계속 예약되도록 할 수는 있습니다.
예약할 수 있는 고정 내부 IP 주소 수는 프로젝트 할당량을 초과할 수 없습니다. 자세한 내용은 VPC 문서의 프로젝트별 할당량을 참조하세요.
한 번에 하나의 리소스만 고정 내부 IP 주소를 사용할 수 있습니다.
고정 내부 IP 주소 예약은 VPC 네트워크에서만 지원됩니다. 레거시 모드 네트워크에서는 지원되지 않습니다.
리소스를 삭제해도 고정 내부 IP 주소는 자동으로 해제되지 않습니다. 더 이상 필요하지 않은 고정 내부 IP 주소는 수동으로 해제해야 합니다.
고정 IP 주소 이름을 변경할 수 없습니다.
고정 내부 IP 주소는 리전입니다. 즉, 예약된 리전으로 제한됩니다. 예를 들어
Region A
에 예약된 고정 내부 IP 주소가 있으면Region A
의 IP 주소만 사용할 수 있습니다.
새 고정 내부 IPv4 또는 IPv6 주소 예약
새 고정 내부 IP 주소를 예약하려면 먼저 VPC 네트워크와 서브넷을 만들어야 합니다.
새 고정 내부 IPv6 주소를 예약하려면 VPC 네트워크에 ULA 내부 IPv6 범위가 사용 설정되어 있어야 합니다. 또한
INTERNAL
IPv6 액세스 유형의 이중 스택 서브넷이 있어야 합니다.독립형 내부 IP 주소를 예약하려면 다음 단계를 완료합니다.
콘솔
- Google Cloud 콘솔에서 IP 주소 페이지로 이동합니다.
- 내부 고정 IP 주소 예약을 클릭합니다. 이 버튼을 보려면 작업 더보기 메뉴를 클릭해야 할 수 있습니다.
- 이름 필드에 IP 주소 이름을 입력합니다.
- IP 버전 목록에서 필요한 IP 버전을 선택합니다.
- 고정 내부 IPv4 주소를 예약하려면 IPv4를 선택합니다.
- 고정 내부 IPv6 주소를 예약하려면 IPv6를 선택합니다.
- 네트워크 및 서브네트워크 목록에서 각각 VPC 네트워크와 서브넷을 선택합니다.
- IP 주소를 예약할 방법을 지정합니다.
- IPv4 주소의 경우 예약할 고정 내부 IPv4 주소를 지정하려면 고정 IP 주소에서 직접 선택을 선택한 후 커스텀 IP 주소를 입력합니다. 그렇지 않으면 시스템이 서브넷에서 고정 내부 IPv4 주소를 자동으로 할당합니다.
- IPv6 주소의 경우 시스템이 서브넷의 내부 IPv6 주소 범위에서 고정 내부 IPv6 주소를 자동으로 할당합니다.
선택사항: 다른 프런트엔드에서 고정 내부 IPv4 주소를 공유하려면 목적 목록에서 공유를 선택합니다. 기본 선택 항목은 비공유입니다.
예약을 클릭합니다.
gcloud
내부 IPv4 주소를 예약하려면
compute addresses create
명령어를 사용합니다.gcloud compute addresses create ADDRESS_NAMES \ --region REGION --subnet SUBNETWORK \ --addresses IP_ADDRESS
다음을 바꿉니다.
ADDRESS_NAMES
: 만들려는[--purpose=SHARED_LOADBALANCER_VIP]
주소 하나 이상의 이름입니다. 주소가 여러 개인 경우 모든 주소를 공백으로 구분하여 목록으로 지정합니다(예:example-address-1 example-address-2 example-address-3
).REGION
: 이 요청의 리전입니다.SUBNETWORK
는 이 내부 IP 주소의 서브넷입니다.IP_ADDRESS
: 예약할 IP 주소로, 서브넷의 기본 IP 범위 내에 있어야 합니다. 지정하지 않으면 IP 주소는 서브넷에서 자동으로 할당됩니다.
내부 IPv6 주소를 예약하려면
compute addresses create
명령어를 사용합니다.IPV6
를--ip-version
의 값으로 지정합니다.gcloud compute addresses create ADDRESS_NAMES \ --region REGION --subnet SUBNETWORK \ --ip-version IPV6
다음을 바꿉니다.
ADDRESS_NAMES
: 예약하려는 주소 하나 이상의 이름입니다. 주소가 여러 개인 경우 모든 주소를 공백으로 구분하여 목록으로 지정합니다(예:example-address-1 example-address-2 example-address-3
).REGION
: 이 요청의 리전입니다.SUBNETWORK
: 이 내부 IP 주소의 서브넷입니다.
내부 IPv4 예약과 달리 내부 IPv6 예약은 서브네트워크에서 특정 IP 주소를 예약하지 않습니다. 대신
/96
내부 IPv6 주소는 서브넷의/64
내부 IPv6 주소 범위에서 자동으로 할당됩니다.
예시
서브넷에서 자동으로 할당된 내부 IPv4 주소를 예약합니다.
gcloud compute addresses create example-address-1 \ --region us-central1 \ --subnet subnet-1
서브넷에서 특정 내부 IPv4 주소를 예약합니다.
gcloud compute addresses create example-address-1 \ --region us-central1 \ --subnet subnet-1 \ --addresses 10.128.0.12
서브넷에서 고정 내부 IPv6 주소를 예약합니다.
gcloud compute addresses create example-address-1 \ --region us-central1 \ --subnet subnet-1 \ --ip-version IPV6
IPv4 주소 이름을 2개 이상 전달하여 IPv4 주소를 여러 개 만듭니다. 모든 주소는 동일한 서브넷에 예약됩니다.
gcloud compute addresses create example-address-1 example-address-2 \ --region us-central1 \ --subnet subnet-1 \ --addresses 10.128.0.12,10.128.0.13
Terraform
Terraform 모듈을 사용하여 내부 IP 주소를 만들 수 있습니다.
다음 예시에는 Terraform 인수에 변경 가능한 예시 값이 있습니다. 이 예시에서는 2개의 특정 내부 IP 주소를 만듭니다.
다음 예시에서는 동적으로 할당된 내부 IP 주소 2개를 만듭니다.
API
addresses.insert
메서드를 사용합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
IPv4 및 IPv6 주소 모두 요청 본문에는
INTERNAL
이어야 하는addressType
필드, 주소의name
, IP 주소가 속하는subnetwork
가 포함되어야 합니다. 요청 본문에는 내부 IP 주소의purpose
가 선택적으로 포함될 수 있습니다.또한 내부 IPv4 주소의 경우 시스템에서 자동으로 IP 주소를 할당하게 하거나
address
를 사용하여 내부 IPv4 주소를 지정할 수 있습니다. IPv4 주소는 서브넷의 기본 IP 주소 범위에 속해야 합니다.{ "addressType": "INTERNAL", "name": "IPV4_ADDRESS_NAME", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK", "address": "IPV4_ADDRESS" "purpose": "GCE_ENDPOINT" }
예를 들면 다음과 같습니다.
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses { "addressType": "INTERNAL", "name": "example-ipv4-address-1", "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet", "address": "10.128.0.12" "purpose": "GCE_ENDPOINT" }
내부 IPv6 주소의 경우
ipVersion
도IPV6
로 지정해야 합니다. 시스템이 서브넷의 내부 IPv6 주소 범위에서 고정 내부 IPv6 주소를 자동으로 할당합니다.{ "addressType": "INTERNAL", "name": "IPV6_ADDRESS_NAME", "ipVersion": "IPV6", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK", "purpose": "GCE_ENDPOINT" }
예를 들면 다음과 같습니다.
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses { "addressType": "INTERNAL", "name": "example-ipv6-address-1", "ipVersion": "IPV6" "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet", "purpose": "GCE_ENDPOINT" }
Cloud Interconnect를 통해 HA VPN의 고정 내부 IP 주소 범위 예약
Cloud Interconnect를 통해 HA VPN에서 사용할 고정 내부 IP 주소 범위를 예약할 수 있습니다.
고정 내부 IP 주소를 만들 때
--purpose=IPSEC_INTERCONNECT
플래그와 프리픽스 길이(--prefix-length
)를 26~29로 지정해야 합니다.예약한 리전 내부 IPv4 주소는 Cloud Interconnect에서 사용하는 HA VPN 게이트웨이에 적용됩니다.
자세한 내용은 HA VPN 게이트웨이에 내부 IP 주소 범위 할당을 참조하세요.
내부 IPv4 또는 IPv6 주소가 임시 또는 고정 주소인지 확인
고정 및 임시 내부 IP 주소는 대부분의 상황에서 모양과 동작이 동일합니다. 그러나 고정 내부 IP 주소를 사용하면 리소스를 삭제하고 다시 만드는 경우에도 동일한 리소스에 같은 IP 주소를 사용할 수 있습니다. 일반적으로 임시 IP 주소는 리소스를 중지하거나 삭제할 때 해제됩니다.
주소가 고정 주소 또는 임시 주소인지 확인하려면 다음을 수행합니다.
Google Cloud 콘솔에서 IP 주소 페이지로 이동합니다.
목록에서 주소를 찾고 유형 열에서 IP 주소 유형을 확인합니다.
사용 중인 임시 내부 IPv4 또는 IPv6 주소를 고정 주소로 승격
사용 중인 임시 내부 IP 주소가 있다면 해당 주소를 고정 내부 IP 주소로 승격해 직접 삭제하지 않는 한 프로젝트에 남아 있게 할 수 있습니다.
임시 내부 IP 주소를 고정 내부 IP 주소로 승격하려면 다음 단계를 완료합니다.
콘솔
- Google Cloud 콘솔에서 IP 주소 페이지로 이동합니다.
- 내부 IP 주소를 클릭합니다.
- 선택사항: 필터 필드에서 임시 IP 주소를 검색하려면
ephemeral
을 입력한 다음 드롭다운 목록에서 임시:유형을 선택합니다. - 승격할 내부 IP 주소를 선택합니다.
- 선택한 IP 주소의 표시 행 끝에 있는 추가 작업 메뉴 ( )에서 고정 IP 주소로 승격을 선택합니다.
- 새로운 고정 IP 주소 이름을 입력한 후 예약을 클릭합니다.
gcloud
기존 임시 내부 IPv6 주소를 승격하기 전에 해당 IP 주소 값을 알아야 합니다. Google Cloud CLI를 사용하여
describe
요청을 리소스에 보내 IP 주소 값을 가져옵니다.IPv4 주소가 있는 인스턴스의 경우 다음 명령어를 사용합니다.
gcloud compute instances describe INSTANCE_NAME --zone ZONE | grep "networkIP"
IPv6 주소가 있는 인스턴스의 경우 다음 명령어를 사용합니다.
gcloud compute instances describe INSTANCE_NAME --zone ZONE | grep "ipv6Address"
리전 전달 규칙의 경우 다음 명령어를 사용합니다.
gcloud compute forwarding-rules describe FORWARDING_RULE_NAME --region REGION | grep "IPAddress"
전역 전달 규칙의 경우에는
--region
플래그 대신--global
플래그를 사용합니다.
주소를 승격합니다.
기존 내부 IPv4 주소 한 개 이상을 승격하려면
compute addresses create
명령어를 사용하고--addresses
플래그에 승격할 명시적 내부 IP 주소를 입력합니다.gcloud compute addresses create IPV4_ADDRESS_NAMES \ --addresses IPV4_ADDRESSES \ --region REGION \ --prefix-length PREFIX_LENGTH \ --subnet SUBNETWORK
다음을 바꿉니다.
IPV4_ADDRESS_NAMES
: IPv4 주소 이름입니다. 주소가 여러 개인 경우 모든 주소 이름을 공백으로 구분하여 목록으로 지정합니다(예:example-address-name-1 example-address-name-2 example-address-name-3
). IP 주소 선언과 동일한 순서로 이름을 선언합니다. 예를 들어 주소 이름을example-address-name-1 example-address-name-2 example-address-name-3
으로 지정하고 IPv4 주소를192.0.2.0 192.0.2.1 192.0.2.2
로 지정한다고 가정해 보겠습니다. 이 시나리오에서 Compute Engine은 이름과 주소를 다음과 같은 방식으로 매핑합니다.example-address-name-1
:192.0.2.0
example-address-name-2
:192.0.2.1
example-address-name-3
:192.0.2.2
IPV4_ADDRESSES
: 승격할 IPv4 주소입니다. 주소가 여러 개인 경우 모든 주소를 공백으로 구분하여 목록으로 지정합니다(예:192.0.2.0 192.0.2.1 192.0.2.2
).REGION
: 이 주소를 예약할 리전입니다.PREFIX_LENGTH
: (선택사항) IPv4 주소 범위의 프리픽스 길이입니다. 값은 7~31 사이의 정수여야 합니다. 주소 범위를 지정하는 경우에만 이 필드를 포함합니다. 지정된 IPv4 주소가 단일 IP 주소인 경우 이 필드를 제외합니다.SUBNETWORK
: 이 요청의 서브네트워크입니다.
기존 내부 IPv6 주소 하나 이상을 승격하려면
compute addresses create
명령어를 사용하고--addresses
플래그에 명시적 내부 IPv6 주소를 입력합니다.gcloud compute addresses create IPV6_ADDRESS_NAMES \ --addresses IPV6_ADDRESSES \ --region REGION \ --prefix-length PREFIX_LENGTH \ --subnet SUBNETWORK
다음을 바꿉니다.
IPV6_ADDRESS_NAMES
: 주소 이름입니다. IPv6 주소 선언과 동일한 순서로 이름을 선언합니다. 이 경우IPV6_ADDRESS_NAME_1
은IPV6_ADDRESS_1
에 해당하고IPV6_ADDRESS_NAME_2
는IPV6_ADDRESS_2
에 해당합니다.IPV6_ADDRESS_1,[IPV6_ADDRESS_2,...]
: CIDR 형식의 승격할 IPv6 주소입니다.PREFIX_LENGTH_1,[PREFIX_LENGTH_2,...]
: IPv6 주소의 프리픽스 길이입니다.REGION
: 이 주소를 예약할 리전입니다.SUBNETWORK
: 이 요청의 서브네트워크입니다.
내부 IPv6 주소는 고정 내부 IPv6 주소로 승격된 후에도 기존 인스턴스에 연결되어 있습니다. 새로 승격된 고정 내부 IPv6 주소를 다른 리소스에 할당하려면 먼저 기존 인스턴스에서 고정 내부 IPv6 주소를 할당 해제합니다.
API
addresses.insert
메서드를 사용합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
IPv4 및 IPv6 주소 모두 요청 본문에는
INTERNAL
이어야 하는addressType
, 주소의name
, 승격할address
, IP 주소가 속하는subnetwork
가 포함되어야 합니다. 또한 IPv6 주소의 경우 요청 본문에 값이96
인prefixLength
를 포함해야 합니다.내부 IPv4 주소 승격을 위한 요청 본문은 다음과 같습니다.
{ "name": "ADDRESS_NAME", "addressType": "INTERNAL", "address": "IP_ADDRESS", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" }
예를 들면 다음과 같습니다.
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses { "name": "example-IPv4-address-1", "addressType": "INTERNAL", "address": "10.128.0.2", "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet" }
내부 IPv6 주소 승격을 위한 요청 본문은 다음과 같습니다.
{ "name": "ADDRESS_NAME", "addressType": "INTERNAL", "address": "IP_ADDRESS", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" "prefixLength": 96 }
예를 들면 다음과 같습니다.
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-central1/addresses { "name": "example-IPv6-address-1", "addressType": "INTERNAL", "address": "fd20:0:0::", "subnetwork": "regions/us-central1/subnetworks/my-custom-subnet" "prefixLength": 96 }
공유 VPC에 고정 내부 IPv4 또는 IPv6 주소 사용
공유 VPC 네트워크의 공유 서브넷에 예약 고정 내부 IP 주소를 만들 수 있습니다. IP 주소 객체 자체는 이를 사용하는 리소스와 동일한 서비스 프로젝트에서 생성되며, 객체 값을 공유 VPC 네트워크의 선택된 공유 서브넷에서 사용 가능한 IP 주소 범위에서 가져오더라도 마찬가지입니다. 이 사용 사례에 대한 자세한 내용은 다음 리소스를 참조하세요.
- 공유 VPC 개요의 IP 주소 섹션
- 공유 VPC 프로비저닝의 고정 내부 IPv4 또는 IPv6 주소 예약 섹션
고정 내부 IPv4 또는 IPv6 주소 나열
기존 고정 내부 IP 주소를 모두 보려면 다음 단계를 완료합니다.
콘솔
Google Cloud 콘솔에서 IP 주소 페이지로 이동합니다.
내부 IP 주소를 클릭합니다.
gcloud
gcloud compute addresses list
명령어를 사용합니다.gcloud compute addresses list
API
addresses.list
메서드를 사용합니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
다음을 바꿉니다.
PROJECT_ID
: 이 요청의 프로젝트 IDREGION
: 요청의 리전 이름
모든 리전의 모든 주소를 나열하려면
addresses.aggregatedList
메서드를 사용합니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/addresses
고정 내부 IPv4 또는 IPv6 주소 해제
고정 내부 IP 주소가 더 이상 필요하지 않으면 IP 주소 리소스를 삭제하여 IP 주소를 해제할 수 있습니다.
Google Cloud 콘솔을 사용하는 경우 다른 리소스에서 사용되고 있지 않은 고정 IP 주소만 해제할 수 있습니다.
gcloud CLI 또는 API를 사용하는 경우에는 다른 리소스에서 사용 중인지 여부에 관계없이 IP 주소를 해제할 수 있습니다.
리소스에서 IP 주소를 사용하지 않는 경우 사용 가능한 내부 IP 주소 풀로 IP 주소가 반환됩니다.
리소스에서 IP 주소를 사용하고 있는 경우 IP 주소는 리소스가 삭제될 때까지 리소스에 연결되어 있습니다.
고정 내부 IPv4 또는 IPv6 주소를 해제하려면 다음 단계를 완료합니다.
콘솔
- Google Cloud 콘솔에서 IP 주소 페이지로 이동합니다.
- 내부 IP 주소 탭을 선택합니다.
- 선택사항: 필터 필드에
static
을 입력한 후 드롭다운 목록에서 정적 : 유형을 선택합니다. - 해제하려는 고정 내부 IP 주소를 선택합니다.
고정 주소 해제를 클릭한 후 대화상자에서 해제를 클릭하여 이 작업을 확인합니다.
이 옵션이 표시되지 않으면 상단 메뉴 바에서 작업 더보기 메뉴(
)를 클릭한 후 목록에서 고정 주소 해제를 선택합니다.
gcloud
compute addresses delete
명령어를 사용합니다.gcloud compute addresses delete ADDRESS_NAME \ --region REGION
다음을 바꿉니다.
ADDRESS_NAME
: 삭제할 주소의 이름REGION
: 주소가 속한 리전
예를 들면 다음과 같습니다.
gcloud compute addresses delete example-address-to-delete \ --region us-west1
API
addresses.delete
메서드를 사용합니다.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
이 예시에서는
us-west1
리전의 주소를 삭제합니다.DELETE https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-west1/addresses/example-address-to-delete
다음 단계
- VM의 고정 내부 IP 주소 구성 방법 알아보기
고정 내부 IPv4 주소를 사용하는 내부 부하 분산기를 만듭니다.
IP 주소에 대해 자세히 알아보기
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-11-21(UTC)