城岸直希(42)59この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。Serviceを利用すると、CLB/NLBを簡単に作成することができます。Balancer(NLB)を使ってみるですが、特別な理由がない限りはL7の機能が強化されたALBを利用したい場面が多いのではないでしょうか。Controllerを使ってALBを作成する方法を紹介したいと思います。今回構築する環境のイメージ今回は以下の作業を実施します。ControllerによりALBを作成し、サンプルアプリケーションに対しパスベースルーティングができることを確認します。やっていきましょう!EKSクラスタ構築まずはEKSクラスタを構築します。今回はeksctlを利用しサクッと構築していきます。--node-type=t2.medium2つのWorkerノードをクラスタ化した状態からスタートします。kubectlでの実行結果は以下のようになります。ControllerがALBに使用されるサブネットを自動検出できるようにパブリックサブネットにタグkubernetes.io/role/elbを付与します。ControllerとはIngressリソースがEKSに登録されたタイミングでALBを作成するモジュールです。ControllerはEKSクラスタにPodとして起動させます。コントローラはAPIサーバーと通信し、要件を満たすIngressリソースを見つけるとALBの作成を開始します。Workerノードへのポリシー追加WorkerノードにALBを作成するための権限を付与します。IAMよりポリシーを作成し、WorkerノードのIAMロールに作成したポリシーをアタッチします。Controllerで利用するServiceAccountを作成し、そのServiceAccountに対しRoleをバインドします。Controllerのデプロイローカルにマニュフェストファイルをダウンロードします。alb-ingress-controller.yaml–cluster-nameの部分を今回作成したクラスタ名に変更した後、マニュフェストをapplyします。ControllerのPodが作成されます。24mサンプルアプリケーションのデプロイパスベースルーティングを確認するため簡単なアプリケーションを作成します。作成したアプリケーションはECR経由でEKSにデプロイします。ECR作成ECRを作成しECRにログインします。XXXXXXアプリケーション作成httpレスポンスとしてPod名を返却するWebサーバーを作成します。/target1のリクエストに対応するアプリケーションを作成します。nil))}ビルド用のDockerfileを作成します。"/go/src/server.go"]タグtarget1でビルドし、ECRにPushします。XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/eks-test-app:target1/target2のリクエストに対応するアプリケーションも同様に作成し、タグtarget2でビルド後、ECRにデプロイします。マニュフェスト作成アプリケーションをデプロイするためのマニュフェストを作成します。マニュフェストにはtarget1,target2のリクエストに対応するDeploymentおよびServiceを定義します。Deploymentで指定するDockerImageには先ほど作成したアプリケーションを指定し、Podの環境変数にはPOD_NAMEを設定します。"test-app-target2"アプリケーションのデプロイアプリケーションをデプロイします。1mALB作成ingressのマニュフェストを作成します。ALBはパスベースでターゲットを切り替える設定とします。80マニュフェストをapplyします。ingress.yamlしばらくするとALBおよびターゲットグループが作成されます。]}最後に正しくルーティングができているか確認してみましょう。Controllerを使ってEKSからALBを作成する方法を紹介しました。Controllerを利用するとCFnやTerraformを使わずALBを作成することができます。Kubernetesのマニュフェストという統一されたフォーマットでリソースを作成することで、リソースの管理/運用もしやすくなるのではないでしょうか。Brokerあたりもうまく利用することで、初期構築以外ではCFnやTerraformを利用しない!そんな時代がくるかもしれませんね。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。本が出ていたので読んでみたところよかったので紹介させていただきます。使いたいときの注意点を書きました。新井成一64最近Sphinxつかってドキュメントを書いてるのですがなかなかイケています。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健232こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。