AWS プログラミング

NLBのターゲットグループを外部向けALBのプライベートIPに設定する

投稿日:

外部向け(インターネット向け)に作成したALBには、

ネットワークインターフェースによって内部的にプライベートIPアドレスが割り振られます。

 

今回はNLBのターゲットグループに、外部向けALBのプライベートIPを指定する方法をTerraformでまとめます。

用途としては、1つの外部向けALBに対してインターネットからとVPC内部からの両方の通信を実現したかったためです。

 

ALB作成

まずはインターネット向けALBを作成します。

ここのターゲットグループやセキュリティグループ、パスパターン等は任意のものに変更ください。

 

alb.tf

 

ポイントとしては、セキュリティグループを本ALB専用のものとして作成することです。

 

理由は、後ほどこのALBに付与されたネットワークインターフェースがどれか判別するために、

セキュリティグループのIDを使用するからです。

 

NLB作成

次に、今回のメインであるNLBを作成します。

ここでは内部向けの通信を可能にするために作成を行うので、NLB自体も内部向けとして作成します。

 

nlb.tf

 

ネットワークインターフェースをDataSourceで取得してNLBのターゲットグループに指定します。

 

地味なポイントとして、

ターゲットグループのリソース(aws_lb_target_group)はデフォルトでは、ターゲットのタイプをインスタンスとして設定されています。

 

今回はネットワークインターフェースのIPアドレスを指定したいので、

 

target_type = "ip"

 

としています。これを入れないとエラーになります。

 

また、filterで使用している「data.aws_caller_identity.self.account_id」は自身のAWSアカウントIDです。

account.tf

 

以上で完了です。

必要に応じてインスタンスの指定やセキュリティグループの指定を環境に合わせれば動くと思います。

 

Terraformを学びたい方へ

Terraformをきちんと学びたい方はUdemyのLearn DevOps: Infrastructure Automation With Terraform がとてもおすすめです。コスパ最高です。

よければ参考にしてみてください。

 

 

 

よく読まれている記事

1

  現在5年目のエンジニアで26歳です。 今回は20代の現役エンジニアとして、自分も含め転職について考えている方に向けて20代エンジニア転職に完全特化したおすすめのサービスを3つ紹介していき ...

2

これからエンジニアになりたい、プログラミングを使えるようになりたいという方に向けて 山のようにあるプログラミングスクールの中から、特におすすめなスクールをタイプ別に逆引きで3つ紹介します。 &nbsp ...

3

みなさんはを使っていますでしょうか。   本記事を見ていただいているということは、   プログラミングの勉強でを使うことに興味がある、 もしくはこれから動画を購入したいけどどれを買 ...

-AWS, プログラミング
-, , ,

Copyright© クラインの備忘壺 , 2020 All Rights Reserved.