Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20240828_ビヨンド勉強会_42_EKS_on_FargateでWebサービスを...

 20240828_ビヨンド勉強会_42_EKS_on_FargateでWebサービスを公開するために覚えておきたいこと.pdf

nezumisannn

August 28, 2024
Tweet

More Decks by nezumisannn

Other Decks in Technology

Transcript

  1. 自己紹介 resource “my_profile” “nezumisannn” { name = “Yuki.Teraoka” nickname =

    “ねずみさん家。” company = “beyond Co., Ltd.” job = “Infra Engineer + HR” X     = “@yktr_sre” favorite = [“Terraform”,”Packer”,”ぶいすぽっ!”] }
  2. 今日覚えておきたいこと • EKSとは • Kubernetesとは • コンテナイメージ用意 ◦ Dockerイメージのビルド →

    ECRへアップロード • EKSクラスター作成 • kubectlからクラスターへ接続 • サイト公開設定 ◦ Deployment ◦ Service ◦ Ingress
  3. EKSとは • Amazon Elastic Kubernetes Service • Kubernetes の環境をセットアップ・実行するためのマネージドサービス •

    EKSを利用することで、 AWS上で容易に Kubernetesの環境を構築することが 可能
  4. EKSクラスター作成 • マネジメントコンソールからも作成可能だが eksctlを利用するのが早い • EKS上でクラスターの作成及び管理するために利用する CLIツール • CloudFormationのラッパーツール •

    コマンドラインから EKSの稼働に必要なリソースや設定を自動作成できる • インストール手順は https://eksctl.io/installation/ を参照
  5. EKSクラスター作成 • EKS ◦ クラスター • VPC ◦ VPC ◦

    サブネット ◦ ルートテーブル + ルート ◦ インターネットゲートウェイ ◦ NATGateway ◦ セキュリティグループ + インバウンドルール ◦ ElasticIP • IAM ◦ ロール • その他 ◦ Fargateプロファイル (EKSでFargateを利用するための設定情報 )
  6. Serviceの作成 $ kubectl apply -f service.yml • spec.ports.port:Serviceが接続を待ち受けるポート • spec.ports.targetPort:ターゲットのポート

    (Deployment経由で作 成されたPodがListenしているポートを指定 ) • selector:ServiceがどのPodに対応しているかを示す (app: k8s-testというラベルを持った Podにアクセスを転送する )
  7. Ingressの作成 • AWS Load Balancer Controller は公式の手順に従って helmを使ってインス トールするのが早い ◦

    https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/lbc-helm.html • helmのインストールは以下を参照 ◦ https://helm.sh/ja/docs/intro/install/