2021年1月10日日曜日

ECS(コンテナ間連携について)

nginxとSpringBoot(tomcat)のコンテナを連携した設計を行ってみる。


①内部ALBを用意する
②Route53を用意
  - 内部用の新規ホストを用意:test.localにする
  - CNAME:①で登録したALBを記載する 

イメージ:
[nginx: リバースプロキシ①]
——>[内部ALB]——>[springboot:Java]




1)以下の公式ページからソースを落としてきてdockerを作成する。

①ソースをダウンロードする。

git clone https://github.com/spring-guides/gs-spring-boot-docker.git


②ビルドを行う

./mvnw package && java -jar target/gs-spring-boot-docker-0.1.0.jar

mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar)


③dockerを作成する。

docker build -t springio/gs-spring-boot-docker .


参照先:

https://spring.pleiades.io/guides/gs/spring-boot-docker/



2)作成したらECRにpushする。



3)Springboot用のターゲットグループを作成しておく

  ->8080ポートで作成しておく











4)ALBの作成を行う

ターゲットグループを先ほど作成した、springbootをして指定する


5)Route53の設定

CNAMEで、先ほど作成したALBのDNSを挿入する



■ECSのサービス作成について:

6)ロードバランシングの設定について、上記で作成したロードバランサーの指定と

ターゲットグループをspringbootにする。





作成したnginxのコンテナからアクセスしてみると

springbootで作成したHello Dockerが表示されているのが確認できた。









付録:

nginxのリバースプロキシーのコンフィグ設定になる。

パス指定を間違えると、ECSのコンテナの作成がNGになるので注意する




springbootでパスを変更いしたい場合:

以下を変更すれば、良さそう





























内部DNSをcurlコマンドで確認してみる






0 件のコメント:

コメントを投稿

Lambda + SSM Run Commandで、数十台のEC2のuserdata結果を一括確認する

コードを1枚貼って、テストイベントを実行するだけで、 全台の確認結果が返ってくる手順です。 [ゴール] Nameタグが web-* / api-* / batch-* のEC2すべてに確認コマンドを流し、 NGの台だけ を結果に表示します。確認対象のuserdata(Ubu...