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で、先ほど作成したALBDNSを挿入する



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

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

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





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

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









付録:

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

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




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

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





























内部DNScurlコマンドで確認してみる






0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...