タグは次の Google Cloud ロード バランシング リソースに適用できます。
- バックエンド バケット
- バックエンド サービス
- 転送ルール
- ヘルスチェック
- インスタンス グループ(ゾーン単位)
- ネットワーク エンドポイント グループ
- SSL ポリシー
- SSL 証明書
- ターゲット インスタンス
- ターゲット プール
- ターゲット gRPC プロキシ
- ターゲット HTTP(S) プロキシ
- ターゲット SSL プロキシ
- ターゲット TCP プロキシ
- URL マップ
タグについて
タグは、Google Cloud内のリソースに適用できる Key-Value ペアです。タグを使用すると、リソースに特定のタグが付加されているかどうかに基づいて、条件付きでポリシーの許可や拒否を行うことができます。たとえば、リソースに特定のタグがあるかどうかに基づいて、Identity and Access Management(IAM)のロールを条件付きで付与できます。タグの詳細については、タグの概要をご覧ください。
タグは、タグと Google Cloud リソースを結びつけるタグ バインディング リソースを作成することによって、リソースに適用されます。
自動化と課金のためにロード バランシング リソースをグループ化するには、ラベルを使用します。タグとラベルは互いに独立しているので、リソースにタグとラベルの両方を使用できます。必要な権限
タグの管理に必要な権限を取得するため、次の IAM ロールを付与するように管理者に依頼してください。
-
タグが適用されているリソースに対するタグ閲覧者(
roles/resourcemanager.tagViewer) -
組織レベルでタグを表示および管理する: 組織に対する組織閲覧者(
roles/resourcemanager.organizationViewer) -
タグの定義を作成、更新、削除する: タグの作成、更新、削除を行うリソースに対する Tag Administrator(
roles/resourcemanager.tagAdmin) -
リソースにタグを適用する、リソースからタグを削除する: タグの値、タグの値を適用または削除するリソースに対する Tag User(
roles/resourcemanager.tagUser)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限をカスタムロールや他の事前定義ロールから取得できる場合もあります。
ロード バランシング リソースにタグを添付するには、Compute ネットワーク管理者のロール(roles/compute.networkAdmin)と Compute セキュリティ管理者のロールが必要です(roles/compute.securityAdmin)。
タグキーとタグ値を作成する
タグを適用する前に、タグを作成してその値を構成する必要があります。タグキーとタグ値を作成する方法については、タグの作成とタグ値の追加をご覧ください。
リソースの作成時にタグを追加する
タグは、バックエンド サービスまたはバックエンド バケットの作成時に追加できます。リソースの作成時にタグを追加すると、リソースの重要なメタデータをすぐに提供できるだけでなく、整理、費用追跡、ポリシーの自動適用にも役立ちます。
gcloud
リソースの作成時にタグをリソースに付加するには、それぞれの create コマンドで --resource-manager-tags フラグを追加します。たとえば、バックエンド バケットにタグを付加するには、次のコマンドを使用します。
gcloud compute backend-buckets create BACKEND_BUCKET_NAME \
--gcs-bucket-name=BUCKET_NAME \
--resource-manager-tags=tagKeys/TAGKEY_ID=tagValues/TAGVALUE_ID
次のように置き換えます。
BACKEND_BUCKET_NAME: バックエンド バケットの名前BUCKET_NAME: ストレージ バケットの名前TAGKEY_ID: タグキー番号の数値 IDTAGVALUE_ID: 付加されているタグ値の永続的な数値 ID(例:4567890123)
複数のタグを指定する場合は、タグをカンマで区切ります(例: TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2)。
既存のリソースにタグを追加する
既存のロード バランシング リソースにタグを追加する手順は次のとおりです。
gcloud
タグ バインディング リソースにタグを付加するには、gcloud resource-manager tags bindings create コマンドを使用してタグ バインディング リソースを作成する必要があります。
gcloud resource-manager tags bindings create \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID \
--location=LOCATION
次のように置き換えます。
TAGVALUE_NAME: 適用されるタグ値の永続 ID または名前空間名(例:tagValues/567890123456)。-
RESOURCE_ID: リソースの完全な ID。リソースのタイプ(//compute.googleapis.com/)を識別するための API ドメイン名が含まれます。次に例を示します。
projects/7890123456のターゲット HTTP プロキシなど、グローバル リソースのリソース ID は次のとおりです。//compute.googleapis.com/projects/7890123456/global/targetHttpProxies/{resource-id}projects/7890123456のリージョン バックエンド サービスなど、リージョン リソースのリソース ID は次のとおりです。//compute.googleapis.com/projects/7890123456/regions/REGION/backendServices/{resource-id}projects/7890123456のネットワーク エンドポイント グループなど、ゾーンリソースのリソース ID は次のとおりです。//compute.googleapis.com/projects/7890123456/zones/ZONE/networkEndpointGroups/{resource-id}
LOCATION: リソースのロケーション。フォルダやプロジェクトなどのグローバル リソースにタグを適用する場合は、このフラグを省略します。リージョン リソースまたはゾーンリソースにタグを適用する場合は、us-central1(リージョン)やus-central1-a(ゾーン)などのロケーションを指定する必要があります。
リソースに適用されたタグを一覧表示する
ロード バランシング リソースに直接適用されているか、またはロード バランシング リソースによって継承されたタグ バインディングのリストを表示できます。
gcloud
リソースに適用されたタグ バインディングのリストを取得するには、gcloud resource-manager tags bindings list コマンドを使用します。
gcloud resource-manager tags bindings list \
--parent=RESOURCE_ID \
--location=LOCATION
次のように置き換えます。
-
RESOURCE_ID: リソースの完全な ID。リソースのタイプ(//compute.googleapis.com/)を識別するための API ドメイン名が含まれます。次に例を示します。
projects/7890123456のターゲット HTTP プロキシなど、グローバル リソースのリソース ID は次のとおりです。//compute.googleapis.com/projects/7890123456/global/targetHttpProxies/{resource-id}projects/7890123456のリージョン バックエンド サービスなど、リージョン リソースのリソース ID は次のとおりです。//compute.googleapis.com/projects/7890123456/regions/REGION/backendServices/{resource-id}projects/7890123456のネットワーク エンドポイント グループなど、ゾーンリソースのリソース ID は次のとおりです。//compute.googleapis.com/projects/7890123456/zones/ZONE/networkEndpointGroups/{resource-id}
LOCATION: リソースのロケーション。フォルダやプロジェクトなどのグローバル リソースに適用されているタグを表示する場合は、このフラグを省略します。リージョン リソースまたはゾーンリソースに適用されているタグを表示する場合は、us-central1(リージョン)やus-central1-a(ゾーン) などのロケーションを指定する必要があります。
次のようなレスポンスが返されます。
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource:
//compute.googleapis.com/projects/7890123456/regions/REGION/targetHttpProxies/{resource-id}
リソースからタグを取り外す
ロード バランシング リソースに直接適用されたタグを解除できます。継承されたタグは、同じキーと別の値を持つタグを適用することでオーバーライドできますが、削除することはできません。
gcloud
タグ バインディングを削除するには、gcloud resource-manager tags bindings delete コマンドを使用します。
gcloud resource-manager tags bindings delete \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID \
--location=LOCATION
次のように置き換えます。
TAGVALUE_NAME: 適用されるタグ値の永続 ID または名前空間名(例:tagValues/567890123456)。-
RESOURCE_ID: リソースの完全な ID。リソースのタイプ(//compute.googleapis.com/)を識別するための API ドメイン名が含まれます。次に例を示します。
projects/7890123456のターゲット HTTP プロキシなど、グローバル リソースのリソース ID は次のとおりです。//compute.googleapis.com/projects/7890123456/global/targetHttpProxies/{resource-id}projects/7890123456のリージョン バックエンド サービスなど、リージョン リソースのリソース ID は次のとおりです。//compute.googleapis.com/projects/7890123456/regions/REGION/backendServices/{resource-id}projects/7890123456のネットワーク エンドポイント グループなど、ゾーンリソースのリソース ID は次のとおりです。//compute.googleapis.com/projects/7890123456/zones/ZONE/networkEndpointGroups/{resource-id}
LOCATION: リソースのロケーション。フォルダやプロジェクトなどのグローバル リソースにタグを適用する場合は、このフラグを省略します。リージョン リソースまたはゾーンリソースにタグを適用する場合は、us-central1(リージョン)やus-central1-a(ゾーン)などのロケーションを指定する必要があります。
タグキーとタグ値を削除する
タグキーまたは値の定義を削除する場合は、ロード バランシング リソースからタグの適用を解除します。タグ定義自体を削除する前に、既存のタグの適用(タグ バインディング)を削除する必要があります。タグキーとタグ値を削除するには、タグの削除をご覧ください。
Identity and Access Management の条件とタグ
タグと IAM Conditions を使用すると、階層内のユーザーに条件付きでロール バインディングを付与できます。条件付きロール バインディングを含む IAM ポリシーが適用されている場合、リソースに適用されたタグを変更または削除すると、そのリソースへのユーザー アクセスを削除できます。詳細については、Identity and Access Management の条件とタグをご覧ください。
次のステップ
- タグをサポートするその他のサービス確認する。
- タグとアクセス制御で、IAM でタグを使用する方法を確認する。