by shigemk2

当面は技術的なことしか書かない

GCP

cert-managerについて

Issuer 証明書発行者 複数namespaceにまたがって発行したい場合はClusterIssuerを使う Certificate 証明書 ACME Automate Certificate Management Environmentの略 cert-manager.io zenn.dev

コンテナ イメージ内のアプリを GKE クラスタにデプロイする

GCP

やること Hello World アプリを作成 Cloud Build を使用して、アプリをコンテナイメージにパッケージ化 Google Kubernetes Engine(GKE)でクラスタを作成 コンテナ イメージをクラスタにデプロイ YAMLの設定をデプロイ cloud.google.com

まっさらなプロジェクトでterraform-google-memorystoreでredisを立てる時のメモ

v6.0.0 module "redis_test_00001" { source = "terraform-google-modules/memorystore/google" version = "6.0.0" enable_apis = false name = "redis_test_00001" project = data.google_project.current.project_id connect_mode = "PRIVATE_SERVICE_ACCE…

An IP range in the local network (xxxxxxxxxxx) allocated by resource (xxxxxxxxxxxx) overlaps with an IP range (xxxxxxxxxxxx) in an active peer of the peer network.”

ピアリング接続を作成しようとしたらエラーが出た。 「注: ピアリングした VPC ネットワーク内のサブネットの IP 範囲は重複してはなりません。」 って注意されているんだから、ピアリングしたVPCネットワークでサブネットのIPが重複していたらダメだよね。 …

Existing secondary range cannot be modified

サブネットワークのセカンダリ ipv4 レンジをTerraformで更新しようとしたら失敗するやつ github.com 更新ができないなら削除して追加をTerraformの内々で実行すればいいんだろうけど、このIssueが起票されてから数年間ずっと緑が続いているのを考えると、諦…

gcloud container describe

GCP

GKEのクラスターとかノードプールとかのdescribe cloud.google.com cloud.google.com

terraform-google-memorystore

importするときはredis_versionは指定しなくてもいい read_replica_modeはtierがSTANDARD_HAの時に必要なパラメータだけど、空文字列で指定してもいい registry.terraform.io github.com

terraform-google-kubernetes-engine beta-private-cluster min_master_version

Minimum master kubernetes version ってあるけど、HCLを見るとrelease_channelがUNSPECIFIEDの場合はmaster_versionを見てて、master_versionはリージョン指定ありならkubernetes_versionか最新のバージョンを取得しようとしてる。ドキュメントが書かれてい…

Backup for GKE

GCP

ワークロードのバックアップと復元の機能 割と最近できたようでベータ版 APIとBackup for GKE エージェントが動く Terraformではgke_backup_agent_configで設定する cloud.google.com

compute_address vs compute_global_address

リージョン付きなのがcompute_addressで、リージョンなしなのがcompute_global_address registry.terraform.io registry.terraform.io

gcloud alpha bq datasets describe

GCP

これもalpha BigQuery cloud.google.com

gcloud alpha redis instances describe

GCP

memorystoreのredis instanceのdescribe。alphaで、memcacheも同じ。 cloud.google.com

terraform-google-memorystoreのread_replicas_mode

read_replicas_mode - (Optional) Optional. Read replica mode. Can only be specified when trying to create the instance. If not set, Memorystore Redis backend will default to READ_REPLICAS_DISABLED. HCL見てみると、tierがSTANDARD_HAが指定され…

gcloud container clusters describe

GCP

gcloud container clusters describe - describe an existing cluster for running containers 特にないですね 出力結果は200行を超えるYAMLだった cloud.google.com

Terraform を使用するためのベスト プラクティス importしない

マジか、と思ったけど、GKEなんかは特に感じる 可能であれば、(terraform import を使用して)既存のリソースをインポートすることは避けてください。手動で作成したリソースの来歴や構成を完全に把握することは困難です。代わりに Terraform を使用して新…

gcloud compute ssh

GCP

AWSでいうところのSSMとかいらないんだね cloud.google.com

自動作成されるファイアウォールルール

GCP

自動生成されるやつ cloud.google.com

gcloud compute firewall-rules list

GCP

formatのtable gcloud compute firewall-rules list --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, den…

kms decrypters encrypters

decryptersとかencryptersとかカンマ区切り文字列のlistとか改行できないしいけてないよなあとか思ってたけど複数keyに権限割り振りたいとか要望あるからそうせざるをえなさそうだったhttps://t.co/CXNOdvl9iF— shigemk2 (@shigemk2) 2022年7月21日 list str…

terraform-google-modules/kms

やっていることはこの辺 Simple Cloud KMS module that allows managing a keyring, zero or more keys in the keyring, and IAM role bindings on individual keys. The resources/services/activations/deletions that this module will create/trigger ar…

terraform-google-kms

サービスアカウントにどっちかの権限が必要 Cloud KMS Admin: roles/cloudkms.admin Owner: roles/owner github.com

google_storage_bucket

ロケーション指定しなくていいんだね 変更不可能だからかな $ terraform import google_storage_bucket.image-store image-store-bucket $ terraform import google_storage_bucket.image-store tf-test-project/image-store-bucket registry.terraform.io

terraform-google-memorystore

GCPのmemorystoreをいい感じに作ってくれるやつ github.com

Terraform backend GCS 暗号化

GOOGLE_ENCRYPTION_KEYは環境変数でtfvarsではない 設定の中でdataは使えないから、例えばcarlpett/terraform-provider-sopsを使って暗号化した情報を参照させる方法は使えない customer-supplied-keysは本当にcustomer-supplied-keysなので独自の暗号鍵を自…

google_container_cluster.primary.addons_config[0].http_load_balancing is empty list of object

21.2.0。 モジュールを利用したgoogle_container_node_poolのterraform importで以下エラーが出る。 google_container_cluster.primary.addons_config[0].horizontal_pod_autoscaling is empty list of object http_load_balancingとhorizontal_pod_autoscal…

google_pubsub_subscription_iam_member google_pubsub_topic_iam_member

topicとかsubscriptionに火もづくIAMポリシー google_pubsub_subscription_iam_member: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the subscription are preserved. registry.terraform.…

max_ports_per_vm

cloud natのterraformにない max_ports_per_vm (Optional) Maximum number of ports allocated to a VM from this NAT. This field can only be set when enableDynamicPortAllocation is enabled. とな registry.terraform.io モジュールは対応中 github.com…

pub/sub権限

GCP

roles/editorであらかたなんとかなりそうな感じ cloud.google.com

google-beta

google providerのβ版 workload identity系のところでprovider google-betaになる registry.terraform.io registry.terraform.io 初見だとどこに書いていいかわからないかもしれないけどこの辺に書く resource "google_iam_workload_identity_pool" "this" {…

IAM permissions reference

GCP

割とroleの一覧。 cloud.google.com