by shigemk2

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

GCP

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

terraform-google-workload-identity

workload identityをterraform管理するふうのやつだけど違う registry.terraform.io

terraform-google-service-accounts

サービスアカウントの管理 IAMのバインディングも管理 github.com

gcloud projects get-iam-policy

GCP

はい。 gcloud projects get-iam-policy example-project-id-1 --filter "bindings.members=(serviceAccount:xxxxxx@xxxxxx.iam.gserviceaccount.com)" cloud.google.com

terraform-google-modules/network firewall-rules

terraform-google-modules/networkのsubmodule firewall-rulesでcompute_firewallは管理できる。そんな難しくなかった。 registry.terraform.io registry.terraform.io

terraform-google-modules compute_instance

このサブモジュールを利用して作成されるリソースのタイプはgoogle_compute_instance_from_templateなので、google_compute_instanceじゃない。 google_compute_instanceを使いたい時はモジュール使わない方が良さそう github.com registry.terraform.io

Terraform zipmap

見て覚える感じ 二つのlistを合わせて一つのmapを作る > zipmap(["a", "b"], [1, 2]) { "a" = 1 "b" = 2 } Each pair of elements with the same index from the two lists will be used as the key and value of an element in the resulting map. If the s…