1. notrogue

    Posted

    notrogue
Changes in title
+Cloud ComposerとCloudNATで、Airflow WorkerのIPアドレスを固定する
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,35 @@
+
+# やりたいこと
+Cloud ComposerのAirflow WorkerからのアクセスをIPアドレス固定したい。
+
+# 手順
+
+ComposerのworkerはGKE上で動いているので、[GKEでのCloudNAT](https://cloud.google.com/nat/docs/gke-example)と同じような手順で出来ます。
+
+1. VPC・サブネット作る([GKEでのCloudNAT](https://cloud.google.com/nat/docs/gke-example)のStep1)
+2. CloudNATを設定([GKEでのCloudNATのStep6](https://cloud.google.com/nat/docs/gke-example#step_6_create_a_nat_configuration_using) )
+3. [プライベート IP Cloud Composer 環境](https://cloud.google.com/composer/docs/concepts/private-ip?hl=ja)を作る
+ 1. Airflowコマンドを使ったりSSHでworkerに入りたい人は、後述の「GKEマスタへのアクセス」の設定が必要
+
+
+## 細かい注意点
+### ComposerのVPCネイティブとプライベートIP環境は**ベータ**
+ ので、Composer環境作る時にベータ機能を有効にする必要があります(下図)
+![スクリーンショット 2019-10-30 8.24.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311203/58c90b2d-9d6b-e325-7ac9-2ed6da0a1d5f.png)
+
+
+### Airflowコマンドを使いたい・Airflow workerに入りたい
+Composerではgcloud composer environments runで[Airflowのコマンドを実行出来ます](https://cloud.google.com/composer/docs/how-to/accessing/airflow-cli?hl=ja#running_airflow_cli_commands)(※)。
+※ 全部のコマンドが実行出来るわけではないです
+
+プライベートIP環境で実行するには、Composer環境を作る時に「外部 IP アドレスを使用して GKE マスターにアクセスする」の設定が[必要](https://cloud.google.com/composer/docs/concepts/private-ip?hl=ja#cluster)です(下図の項目)。
+アクセス元のIPアドレスの範囲を設定してあげてください。
+
+kubectlコマンドでAirflow workerに入ったりしたい時にも必要です。
+
+![スクリーンショット 2019-10-30 8.24.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311203/1e9bd6ec-7017-f4a4-39b0-65d8620cd4c7.png)
+
+## 補足
+普通のComposer環境ではなく、プライベートIP環境(パブリックIP(external IP)持たない環境)なのは、Cloud NATがパブリックIPを持たないインスタンスからしか[使えない](https://cloud.google.com/nat/docs/overview#nat-not-performed)ためです。
+>If your VM has an external IP address, then packets sent from the primary IP address of that interface do not use Cloud NAT.
+