Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Deploying an Amazon EKS Application using CDK8s (Japanese)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

ラボの概要

Kubernetes アプリケーションを従来の方法で作成するには、複雑な YAML ファイルを書いて管理する必要があり、ファイルの大部分がボイラープレートコードで構成されています。このプロセスには時間と手間がかかるため、デベロッパーはコアアプリケーションに専念する時間を割くことができません。これらの YAML ファイルは、時間が経つにつれて扱いにくくなり、メンテナンスが困難になります。YAML はクラスターの状態を記述するために使用できますが、YAML は論理表現や再利用可能な抽象化を処理できるプログラミング言語ではありません。そのギャップを埋めるために、さまざまなツールが作られています。

このラボでは、Cloud Development Kit for Kubernetes (cdk8s) を実際に操作してみます。現在、cdk8s は TypeScript、Python、Java、Go と連携しています。cdk8s を使用すると、純粋な Kubernetes YAML を生成して、Kubernetes アプリケーションと再利用可能な抽象化を定義できます。このラボでは、AWS Cloud Development Kit (AWS CDK) を使用して Amazon Elastic Kubernetes Service (Amazon EKS) クラスターを作成してから、cdk8s を使用してアプリケーション (サービス/デプロイ) を追加します。

このラボでは、以下のサービスを使用します。

AWS Cloud Development Kit (AWS CDK)

AWS CDK は、オープンソースのソフトウェア開発フレームワークです。AWS CDK を使用することで、使い慣れたプログラミング言語を使ってクラウドアプリケーションリソースをモデル化し、プロビジョニングできます。AWS CDK で提供される高レベルのコンポーネントによって、クラウドリソースが実績のあるデフォルト設定を使って事前設定されるため、専門知識がなくてもクラウドアプリケーションを構築できます。AWS CDK では、AWS CloudFormation を使って、再現可能な方法でリソースをプロビジョニングできます。

AWS CDK の詳細については、こちらの URL を参照してください。

AWS Cloud9

AWS Cloud9 は、ブラウザのみでコードを書き込み、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。これには、コードエディタ、デバッガー、ターミナルが含まれています。AWS Cloud9 には、JavaScript、Python、PHP などの一般的なプログラム言語に不可欠なツールがあらかじめパッケージ化されています。新しいプロジェクトを開始するにあたり、ファイルをインストールしたり、開発マシンを構成したりする必要はありません。

AWS Cloud9 の詳細については、こちらの URL を参照してください。

AWS CloudFormation

AWS CloudFormation は、クラウド環境で AWS とサードパーティーのアプリケーションリソースをモデル化し、プロビジョニングを行うための共通言語を提供します。

AWS CloudFormation の詳細については、こちらの URL を参照してください。

Amazon EKS

Amazon EKS は、AWS クラウドやオンプレミスのデータセンターで Kubernetes を実行するためのマネージド Kubernetes サービスです。クラウド上の Amazon EKS は、コンテナのスケジューリング、アプリケーションの可用性管理、クラスターデータの保存などの主要タスクを担う Kubernetes コントロールプレーンノードの可用性とスケーラビリティを自動管理します。Amazon EKS を使用すると、AWS インフラストラクチャのすべてのパフォーマンス、スケール、信頼性、可用性や、AWS ネットワーキングやセキュリティサービスとの統合性を活用できます。オンプレミスの Amazon EKS は、統合されたツールと、AWS Outposts/仮想マシン/ベアメタルサーバーへのシンプルなデプロイによって、一貫性のある完全サポートの Kubernetes ソリューションを提供します。

Amazon EKS の詳細については、こちらのリンクをクリックしてください。

AWS Identity and Access Management (IAM)

AWS Identity and Access Management (IAM) を使用すると、AWS のサービスやリソースへのアクセスを安全に管理できます。IAM を使用すると、AWS のユーザーとグループを作成して管理し、アクセス許可を使用して AWS リソースへのアクセスを許可および拒否できます。

AWS IAM の詳細については、こちらの URL を参照してください。

Cloud Development Kit for Kubernetes (CDK8s)

cdk8s は、使い慣れたプログラミング言語と豊富なオブジェクト指向 API を使用して、Kubernetes アプリケーションと再利用可能な抽象化を定義するためのオープンソースソフトウェア開発フレームワークです。cdk8s アプリケーションは、任意の Kubernetes クラスターに適用できる標準 Kubernetes マニフェストに合成されます。

Cloud Development Kit for Kubernetes の詳細については、こちらのリンクをクリックしてください。

目標

本ラボを修了すると、次のことができるようになります。

  • AWS CDK を使用して Amazon EKS クラスターを作成し、デプロイする。
  • cdk8s を使用してサービスとデプロイ作成し、デプロイする。

前提条件

このラボの前提条件は以下のとおりです。

  • Microsoft Windows、Mac OS X、Linux (Ubuntu、SuSE、または Red Hat) のいずれかが搭載されているコンピュータを使用できること。
  • Chrome や Firefox などインターネットブラウザの最新版があること。

技術知識の前提条件

このラボを完了するには、AWS マネジメントコンソールの基本的なナビゲーションに関する知識が必要です。また、テキストエディタを使用したスクリプトの編集に慣れている必要があります。Kubernetes の基本的な理解があることが推奨されています。

アイコンキー

このラボでは、ガイドの特定部分への注意を促すため、さまざまなアイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。

  • コマンド: 実行する必要があるコマンドを示します。
  • 予想される出力: コマンドまたは編集したファイルの出力を確認します。
  • 注意: 重要なヒント、コツ、ガイダンス、アドバイスを示します。
  • 追加情報: 詳細情報が記載されている場所を示します。
  • 注意: 特定の関心事または重要な情報への注意を促します。注意を読み忘れても機器やデータが破損することはないものの、特定のステップを再度行う必要が生じる場合があります。
  • 考慮事項: 少し立ち止まって、自分の環境での適用方法を検討したり、学習しているトピックに関して議論したりすることをお勧めします。
  • コピー/ペースト: スクリプトを実行したり、事前に作成されたファイルを適用したりすることがあります。このアイコンは、操作したスクリプトやファイルの内容を表示するときに使用されるコードブロックを表す
    • コードブロックの特定の部分のみをコピーする必要がある場合は、コード内に番号付きの TODO コメントがあります。
  • コンテキスト: 項目のコンテキストメニューを開くよう指示されたら、マウスを右クリックするか、他のポインティングデバイスではそれに対応するアクションを実行します。


Reviews

Start your review of Deploying an Amazon EKS Application using CDK8s (Japanese)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.