강의

멘토링

로드맵

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

こんにちは
です。

65

受講生

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% 受講後に作成

    Với tư cách là người tìm việc, tôi đã nghiên cứu lý thuyết ở một mức độ nào đó, nhưng lo lắng về việc thiếu kinh nghiệm thực hiện thực tế, nhưng tôi đã học được rất nhiều điều qua bài giảng này. Đặc biệt, thật tuyệt vời khi được trải nghiệm quy trình tổng thể từ việc xây dựng cụm EKS đến định cấu hình quy trình Gitlab và xây dựng hệ thống giám sát.

    • meik0
      知識共有者

      Xin chào, cảm ơn bạn đã xem xét! Chúng tôi rất vui khi có thể mang đến cho bạn cơ hội tích lũy kinh nghiệm triển khai thực tế!! Trong khi nghe bài giảng, nếu bạn có thêm bất kỳ câu hỏi nào hoặc nếu có điều gì bạn muốn chúng tôi trình bày chi tiết hơn, vui lòng gửi phản hồi cho chúng tôi. Chúng tôi sẽ tiếp tục phấn đấu để tạo ra nội dung bài giảng tốt hơn. Cảm ơn!

  • 1302님의 프로필 이미지
    1302

    受講レビュー 7

    平均評価 5.0

    5

    60% 受講後に作成

    Thật tuyệt vời khi có thể học hỏi thông qua thực hành thực tế đồng thời bao quát các công nghệ chính thường được sử dụng trong thực tế. Đó là sự trợ giúp đắc lực trong việc chuẩn bị cho công việc vì tôi có thể học các kỹ năng cần thiết trong thực tế, chẳng hạn như tăng cường bảo mật thông qua IRSA và thiết lập giám sát bằng cách sử dụng ngăn xếp PLG. Mẫu Notion mà bạn cung cấp cũng rất hữu ích trong việc tổ chức việc học của tôi và tôi nghĩ rằng tôi sẽ tham khảo nó thường xuyên trong tương lai. Tôi nghĩ nó có giá trị vì nó cho phép tôi tích lũy kinh nghiệm trong môi trường đám mây thực tế. Rất khuyến khích cho bất kỳ ai quan tâm đến DevOps!

    • meik0
      知識共有者

      Tôi rất vui vì nó đã giúp ích rất nhiều cho bạn trong quá trình chuẩn bị công việc! Tôi rất vui vì bạn cũng thấy mẫu Notion hữu ích. Chúng tôi dự định tiếp tục cung cấp các bài giảng theo cách này trong tương lai. Chúng tôi sẽ cố gắng hết sức để tạo ra những bài giảng tiếp theo có ý nghĩa hơn. Cảm ơn bạn!

  • kimuyjoong2two님의 프로필 이미지
    kimuyjoong2two

    受講レビュー 9

    平均評価 4.6

    4

    100% 受講後に作成

    Tôi thích rằng các tài liệu bài giảng được cung cấp trong Notion. Tuy nhiên, điều đáng thất vọng là giá hơi cao so với thời gian giảng.

    • meik0
      知識共有者

      노션으로 제공해드린 게 마음에 드셔서 다행이네요 감사합니다. 강의 가격 같은 경우는 gitlab cicd와 k8s를 실무 느낌으로 함께 다루는 강의가 없어 경쟁력이 있다고 판단했었습니다. 다음에 계획 중인 istio 강의는 좀 낮춰서 올려보겠습니다.

  • ericserra4918님의 프로필 이미지
    ericserra4918

    受講レビュー 99

    平均評価 4.9

    5

    30% 受講後に作成

    Tôi rất thích khi được thấy quá trình chuẩn bị cẩn thận cho cấu hình AWS EKS. Tôi hy vọng giáo viên sẽ tạo ra một khóa học mới về bảo mật AWS bao gồm AWS Network Firewall trong các khóa học tiếp theo. Chúc giáo viên thành công!!!

    • meik0
      知識共有者

      Xin chào! Cảm ơn bạn rất nhiều vì đánh giá chân thành của bạn! Istio hiện đang chuẩn bị các bài giảng tiếp theo! Tôi hy vọng điều này sẽ giúp ích trong tương lai. Tôi cũng sẽ cho bạn biết về bảo mật AWS mà bạn đã đề cập khi tôi trải nghiệm nó trong thực tế và chia sẻ nó với bạn. Cảm ơn.

¥11,945

似ている講座

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