강의

멘토링

커뮤니티

Programming

/

Devops & Infra

99%J型エンジニアとのAWS EKSとGitLab CI / CDベースの完璧な征服

理論的な内容だけを学習するより、現業CI/CD業務の全体的な大きな枠組みを直接構成してみながら、本質を見る能力を育てることができる講義です。

  • Meiko
강의자료
실습 중심
eks
AWS
Kubernetes
gitlab
CI/CD

学習した受講者のレビュー

受講後に得られること

  • Gitlab CI / CDパイプラインの構成に必要なコンポーネントを提供することをそのまま書かずに直接カスタマイズしてプロジェクトに適用する方法

  • キューバネティス環境でプロジェクト単位で気にする重要な環境変数の値を.envではなくIRSAで安全かつスマートにセキュリティを向上させる方法

  • キューバネティス環境でプロジェクトのログ記録を監視し、特定のログが発生したときにスラック通知を送信する方法

  • キューバネティス環境でノードのリソースを監視し、しきい値を超えるとスラック通知を送信する方法

  • Nest.jsプロジェクトにCI / CDを適用する方法

  • パイプライン監視


自己紹介

こんにちは。

デブオプス、インフラ、クラウドパート初講義を制作することになったMeikoといわれています。

現在、EKSクラスタとGitlabが統合されたクラウドネイティブ環境で実サービスを展開する環境を構築、管理、運営する業務、そしてDevOps組織の拡張に備えた業務要請統合計画を立て、プラットフォームエンジニアリング面の自動化業務を しています。


講義に関する注意事項(技術を理解する最速の方法は直接実装してみること)

私が考える核心理論を除いた残りの説明は最小化し、実習中心に進みます。

レシピだけを伝えて終了するのではなく、自分で作ったアーキテクチャ構成図やシーケンス図をもとに、インフラストラクチャの構造と動作フローの本質をできるだけ簡単に理解できるように講義を準備しました。

EKSプロビジョニング、EKS Best Practiceドキュメントに基づいて構成することに焦点を当てました。

AWS、K8S、Git、Docker についての知識や実用的な経験がない場合は、少し後退することができます。

また、AWS サービスを通じて実践を進めるため、やむを得ず課金が発生するしかありません。

ぜひ講義紹介映像をご覧になってから受講の有無を判断していただければ幸いです。


講義の受講にヘルパーとして役立つ、自ら作ったノッションテンプレートを提供

さまざまなCLIツールのインストール、Gitlab、Slack、DB、Domainの購入など、練習前にインストールや準備が必要なことも多く、取り扱う内容も多いでしょう。
だから!パワーJ性向を持つ人として講義を受講する際にヘルパーとして役立つノッションテンプレートを用意しました!

それぞれのテンプレートをコピーしてプライベートに使用してください。

(講義資料を参照)

上記のテンプレートと一緒に講義を聞き、一度整理しながらインフラストラクチャの作業を計画しましょう!

そして今後、それぞれ個人のブログにまとめて、自分だけの知識で作ってみることをおすすめします。

講義を見ながら練習をする前に、どこまで準備が必要なのか、指定された該当チケットが完了処理になったら、AWSインフラストラクチャを構築できるように準備しました。


練習の順序

  1. 練習に必要な必要なツールのインストールと設定を進めます。

  2. AWS Elastic Kubernetes Service (EKS)クラスターと必要な AWS service を eksctl コマンドで提供された yaml ファイルを実行しながら迅速にプロビジョニングする 練習を進めます。

    1. AWS コンソールでの作成は最小限に抑えられました。

  3. kubectl、helm、aws-cliなどのコア命令を習得しながらクラスタに不可欠な設定を進める

  4. Gitlab Pipeline カスタム

    1. Gitlab Runner(shared runnerを使用)

    2. Gitlab AutoDevOps

    3. Gitlab AutoDeploy Image

    4. Gitlab Kubernetes Agen t

  5. NestJS プロジェクトを 4 番で構成したGitlab Pipelineを通じて直接provisioning しEKSにデプロイ

  6. NestJS プロジェクトでIRSA と AWS Secrets Managerによるセキュリティを強化した環境変数を扱う実践


まず、クラスタに基本的な設定と基本的なオープンソースプロジェクト( Loki、Grafana、Prometheus、Istioなど)を直接展開してから、 AnsibleTerraformなどのIACの概念と実践を進めてみると、なぜ便利なのか、なぜ使用するのかがわかります。 (今回の講義がうまくいけば(?)引き続き後続の深化講義を作ろうと思います)


Slackにパイプライン監視通知を送信する


扱えるAWSサービス


アーキテクチャ構成図


パイプラインフロー


上記のように、EKSクラスターとパイプラインの構築だけでなく、Cubernetes環境での重要な監視も構成し、CubernetisからIAMをどのように注入するか、およびトラフィックフローについても説明します。

講義を聞いたら、デブオプスの仕事の流れについて深く理解することができます。


今回の講義で取り上げない内容



実際の運用で必要なAutoScaling設定、バックアップ戦略、HPAの構成と動作原理、そしてアプリケーション負荷テストについては、本講義の目標であるクラスターを良好な構造に構成し、運用段階の前に必須のセッティングまで試すことを達成するために取り上げず、次の深化講義で取り上げようとします。


また、インフラストラクチャのプロビジョニングと設定の設定に必要なIACであるテラフォームやアンサーブルも使用しません。


最後に、コスト面と実践の複雑さを考慮して、以下のAWSサービスは使用しません。高価ではないものもありますが、できるだけ不可欠なサービスだけを考慮しました。

  1. Bastion-Host(EC2)をパブリックサブネットに配置し、そのインスタンスにSSH接続してクラスターにアクセスすることは正しいですが、インフラストラクチャの構成に焦点を当てているため、不要と判断して構成せずに、ローカルでIAMを介してクラスターコントロールプレーンのAPIサーバーに要求を送信するように進めます。

  1. DBはRDSを使用せずにSuperbaseが提供する無料のDB(Postgres)を使用します

    1. このDBエンドポイントに関する情報をenvではなく、AWS Secrets ManagerにSecretとして1つだけ作成し、アプリケーション・パードが浮かんだときに値を受け取り、使用する方法の実習を行います。

  2. RegistryもECRを使用せず、Gitlab Registryを使用します。

このようなことを学びます。

Gitlab CI/CD パイプラインのカスタマイズについて

Gitlabが基本的に提供するコンポーネント(Gitlab auto devops、auto deploy)をそのまま使用せずに直接カスタマイズして、要件に合わせてパイプラインを構成できる方法について学習し、適用してみる実習ができます。

キューバネティスの監視と通知システムの構築に関する内容

クバネティス環境のObsabilityの代表的なPLG stack ( Prometheus, Loki, Grafana )をセッティングしてみます。

EFS CSIドライバを使用してAmazon EFS(EFS)Persistent Volume(PV)に設定した後、 Persistent Volume Claim(PVC)を介して作成されたPVにバインドしデータの損失を防ぐための練習をすることができます。

プロジェクト内のエラーまたは重要なログを監視し、すぐに対応が必要なようにスラック通知を設定、ノードのコンピューティングリソースを監視します。 設定したしきい値を超えると、スラック通知設定などの実習ができます。

環境変数管理をenvファイルではなく秘密値を安全に管理する方法について

まず、AWS で重要な内容である長期認証情報一時的な認証情報について学習します。

AWS SecretsManager秘密を作成し、キューバネティスリソースの 1 つであるService Accountを活用して、最小特権の原則を適用し、パード固有の役割を安全に分離する 練習ができます。


受講前の注意

練習環境

  • オペレーティングシステムとバージョン(OS):MacOS M2 Pro 14


  • IDE: Webstorm

  • インフラストラクチャ環境: AWS、AWS EKS、GItlab

学習資料

  • 提供する学習資料の種類:Notionテンプレートに講義資料を提供する

  • 分量と容量:各セクションでデータを提供する

選手の知識と注意事項

  • AWS、NestJS、k8s、docker

    基本的な理解


  • AWSを使用しているので、練習後にリソースをうまく削除して課金に注意してください


  • コードの不正な配布と複製を禁止します。学習資料も著作権があり、個人的な学習目的以外の使用を禁じます。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Gitlab CI / CDパイプラインをプロジェクトに適用したい人

  • インフラストラクチャの文書化に多くの時間を費やすために、より効率的に時間を費やしたい開発者

  • 現業でよく使われるCI/CDパイプライン構築が何なのか気になる人

  • 手動展開体験による自動展開のニーズを持つ人

  • 既存のCI/CD環境改善を通じて会社に貢献したい人

前提知識、
必要でしょうか?

  • Kubernetes

  • NestJS

  • AWS

  • Linux basic command

  • Docker

  • Git

こんにちは
です。

70

受講生

4

受講レビュー

3

回答

4.8

講座評価

1

講座

자기소개

 

백엔드 엔지니어로 근무할 때부터 자동화를 통해 업무 프로세스를 효율화하고 개선 하는 것 에 관심이 많았습니다. 업무 생산성을 향상시키고 보다 효율적인 업무 환경에 기여하다보니 데브옵스 엔지니어로 일할 수 있는 기회를 얻었습니다. 저는 좋은 사수분들 밑에서 성장하고 있습니다. 그 과정에서 얻은 경험과 지식을 함께 나누고자 강의를 찍게 되었습니다.

경력

[前] Blockchain Backend / Contract Developer

[] Blockchain Mainnet DevOps Engineer

 

カリキュラム

全体

70件 ∙ (4時間 20分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

4件

4.8

4件の受講レビュー

  • jukas5985 [DEL] 250815201525님의 프로필 이미지
    jukas5985 [DEL] 250815201525

    受講レビュー 14

    平均評価 4.9

    5

    64% 受講後に作成

    就労生として理論はある程度勉強していましたが、実際の実装経験が不足して悩みでしたが、この講義を通じて多くのことを学びました。特にEKSクラスタ構築からGitlabパイプライン構成、モニタリングシステム構築まで、全体的な流れを体験できてよかったです。

    • meik0
      知識共有者

      こんにちは、受講坪ありがとうございます! もし講義を聞きながら、さらに気になった点やもっと詳しく扱って欲しい部分があれば、いつでもフィードバックしてください。

  • 1302님의 프로필 이미지
    1302

    受講レビュー 7

    平均評価 5.0

    5

    60% 受講後に作成

    実務でよく使われる技術を核心的に取り扱いながら、実際に実習を通じて学ぶことができてよかったです。 IRSAを通じたセキュリティ強化、PLGスタックを利用したモニタリングの構築など、実務で必要なスキルを学ぶことができ、就職準備に大いに役立ちました。ご提供いただいたノッションテンプレートも学習整理に非常に有用であり、今後もよく参考になると思います。デブオプスに興味のある方に強力おすすめです!

    • meik0
      知識共有者

      就職準備に大変お役に立てたと幸いです! ノッションテンプレートも役に立つなんて気持ちいいですよ~~今後講義はずっとこのように提供していきたいと思います。より充実したフォローアップ講義を作ることができるように努力いたします!

  • kimuyjoong2two님의 프로필 이미지
    kimuyjoong2two

    受講レビュー 9

    平均評価 4.6

    4

    100% 受講後に作成

    講義資料をノッションとして提供してくれたことが良かったです。 ただ、講義時間に比べて価格が多少ある方なので、その点は残念でした。

    • meik0
      知識共有者

      Notion を提供して喜んでいただけてよかったです。ありがとうございます。講義料金については、gitlab cicd と k8s を実務的に一緒に扱う講義がないため、競争力があると判断しました。次に計画している istio 講義は、もう少し安く設定してみます。

  • ericserra4918님의 프로필 이미지
    ericserra4918

    受講レビュー 100

    平均評価 4.9

    5

    30% 受講後に作成

    AWS EKS 구성에 대해 차근차근 준비해가는 과정을 보여주셔서 좋았습니다。後続の講義として、AWS Network Firewall を含む新しい講義で AWS セキュリティについても講義してくださるとありがたいです。講師の皆さん、頑張ってください!!!

    • meik0
      知識共有者

      こんにちは! 誠心誠意のレビューを本当にありがとうございます! 今後、istio の後続講座も準備中です! 今後も役に立てば幸いです。おっしゃった AWS セキュリティについても、私が実務で経験して共有できるようになったらお伝えします。ありがとうございます。

¥12,351

似ている講座

同じ分野の他の講座を見てみましょう!