Google Cloud:タグの基礎を解説

今回はタグの概要です。タグとリソースの関係のイメージを掴むにはちょうど良い内容かと思います。
2023.03.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

タグとラベルの違い

タグの役割簡単に言うと、主に個々のリソースをグループ分けしたり、条件をつけて管理などをすることです。
タグと似たような性質をもつラベルという機能がありますが、これはリソースに付随するメタデータとなり、タグはVMなどと同じ1つのリソースとして存在する事になります。
ここではラベルは概要までに留めておきますが、比較対象としてわかりやすいためイメージ図を作成しました。

【タグとラベルの違い】

キーバリューで定義する

タグの定義はキー:バリュー形式で作成します。
→ 「env:prod」、「app1:test」、「app1:prod」...など
(env→環境という意味を表す、app1→作成中のアプリ1のこと、testやprod→そのappの環境)

タグの継承

細かい機能は沢山ありますが、ここではいくつか有用な機能についてピックアップしたいと思います。

組織レベルで定義可能

Google Cloudでは組織という全体を管理するためのリソースが存在していますが、ルート組織にタグを割り当てることで組織全体に継承することができます。
また、そのもう1段階下のフォルダに適応させることでさらに細かいタグの設定が可能になります。
また、タグは組織がなければ設定することができません。単一のプロジェクトの場合、下記のように表示されてしまいます。

組織ではページを表示できません。 この機能には組織が必要です

【タグの継承】

【画像の説明】
class-team配下にいるフォルダA,Bはenv:testを継承します。
フォルダBのみenv:prodに上書きします。
そうすると、フォルダ配下にあるプロジェクトB,Cにはenv:prodが継承されます。
しかし、フォルダBにてenv:prod削除した場合には、プロジェクトB,Cにはenv:testが継承されます。

【注意事項】
※①〜③についてはタグの継承順序を表しています。
※タグは継承されますが、階層ごとに上書きすることが可能です。
※タグは例になりますのでわかりやすいタグに置き換えて理解してください。

タグの管理

タグの制御

個々のタグについては、作成後編集(値の追加や削除など)や説明の更新を行うことができます。これにより、組織全体でタグをきめ細かく制御することができます。
ただ、全てのユーザーがこの操作をすると予期せず新しいタグが作成されてしまったり、配下のリソースに思わぬ継承をしてしまったりと、タグが増えることによる弊害が生まれてしまします。
それを阻止するものとして、タグには作成や更新、削除、リソースに添付するユーザーを制限する機能が存在します。

タグの説明を付加

また、タグには説明を付けることができ、タグに関する情報を取得するときにこの説明が表示され、作成した意図がわかりやすくなります。これにより、リソースにタグを添付するユーザーが、そのタグに対しての目的を理解することが容易になります。

キーバリューは1:1の関係

1つのタグで特定のリソースの指定されたキーに割り当てることができる値は1つだけです。
(例)env:prod env:testenvというキーに対して、prodtestがある場合には、1つのリソースに適応出来るenvキーの値はprod or testのどちらかになります。

ポリシーとの併用

ポリシーを作成する際に、タグの有無種類を指定して、それを条件として設定することができます。
また、組織ポリシーIAMポリシーの両方に対応しています。
仮にIAMポリシーを例にした場合、ロールを条件付きで付与したとして、リソースに特定のタグが設定されている場合に、その権限の付与をタグの条件のもとで拒否or許可できます。

組織でタグを使用してポリシーを設定する場合については、下記を参照ください。

タグを使用した組織のポリシーの設定

IAMでタグを使用してリソースへのアクセスを制御する方法については、下記を参照ください。

タグとアクセス制御

キーと値の削除

タグを削除する際に、そのタグがリソースに関連付けられていると削除は失敗してしまいます。タグ自体を削除する前に、タグバインディングと呼ばれる既存のタグ付けを削除する必要があります。
また、タグの思わぬ削除を回避したい場合には、タグホールドの利用を検討できます。
一部のリソースでは、リソースに接続されたタグの値ごとにタグホールド自動的に作成されます。もしユーザーがこのタグ値を削除するには、タグホールドを削除してから、実行する必要がありますので注意が必要です。

まとめ

今回はタグの概要程度の内容を解説しました。
毎回言っている気がしますが、クラウドごとタグの役割リソースとしての定義も変わってきたりするので、公式HPを見てもいまいちピンと来なかったりします。

とはいえ、タグをうまく活用できればリソースの管理だけでなく、IAMポリシーと併用して、よりセキュアな権限管理もできるという優れ物だと思います。
ただ、必ず組織が必要で、さらにその組織でタグに関するロールを持っていなければならい為、実際に触るためには管理者に依頼したり、自分でドメインをとって組織を作成したりする、などの手間がかかることは否めませんね。

最後に

前職が元パーソナルトレーナーであったため、ダイエット情報や筋トレ情報を積極的に配信したいと思っています!!IT=脳=運動=体調管理⇒全ては繋がっています。

【筋トレを継続させると身体に関わること全てが良くなる】

ズバリ、筋トレには心技体を成長させるメリットが存在すると感じています。
今回はその中でも『メンタルを鍛えられる』について根拠と偏見も交えてお伝えします。

そもそも、筋トレを1年、2年、3年...10年と毎週続けられている人は、日本人口割合的にかなり少ないのではないかと思います。
(スポーツ選手とかは除きましょう)

よくベンチプレス100kg挙げられる人が人口の1%と例えられたりしますが(実際にはわからない)、このベンチ100kg上げる人よりも筋トレを数年以上計画的に行えている人の方が少ないと私は思います。(トレーナー時代の経験則で)
また、計画的にを強調しているのは、数年、数ヶ月やったり、やらなかったりとする人は除外するためです。

ということは、日本人口の1%未満の人しか計画的な筋トレをできていないと仮定すると、何かしらの継続不可能な理由が存在するわけです。
それは『面倒くさい、時間がない、疲れる、筋トレ自体がきつい、お金がかかる...etc』、ほとんどこのような理由なのではないでしょうか?
もちろん、それぞれの理由ランキング優劣はあるかと思いますが、継続できない理由は基本的にメンタル面であることが大半かと思います。

(お金が無ければ、公園で懸垂や自宅でスクワット、足のトレーニングはジャンプスプワットで高強度なトレーニング...代案は沢山あります)

それを1年、2年、3年と計画的にかつ食事も気にして生活をするということを日常的にできれば、数年後には『最強のメンタル』が手に入るかもしれないのです。(私はまだ手に入っていない)
なぜなら、計画的な筋トレを数年続けられる人は日本人口の1%未満強者の分類に入るかも知れない、かも知れないからです!!笑(あくまでもかも知れない

さあ、今こそ最強のメンタルを手に入れるために筋トレを利用していきましょう。