AWS Cloud Development Kit (Japanese)
Offered By: Amazon Web Services via AWS Skill Builder
Course Description
Overview
概要
このラボでは、AWS Cloud Development Kit (AWS CDK) の基礎について説明します。AWS CDK は、AWS のソフトウェア開発フレームワークで、ご希望のプログラミング言語でクラウドインフラストラクチャを定義し、AWS CloudFormation を使ってデプロイできるようにすることを目的としています。このラボでは、“Hello, CDK!” を返す AWS Lambda 関数を記述し、その前に Amazon API Gateway エンドポイントを配置することで、ユーザーが HTTP リクエストを使ってこの関数を呼び出せるようにします。
次に、AWS CDK コンストラクトの概念について説明します。ここでは、ご自身でコンストラクトの記述も行っていただきます。AWS CDK コンストラクトを使用することで、複数のインフラストラクチャリソースを再利用可能なコンポーネントにバンドルできます。こうしたコンポーネントは、他の人がそれぞれのアプリケーションで使用できるように、共有することもできます。
最後に、コンストラクトのテストおよびアプリケーションへのテスト機能の追加について詳しく見ていきます。このラボでは、すべてのアプリケーション開発タスクで AWS Cloud9 統合開発環境 (IDE) を使用します。
このラボでは、以下のサービスを使用します。
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 Lambda
AWS Lambda では、ほとんどすべての種類のアプリケーションやバックエンドサービスのコードを実行できます。管理は必要ありません。コードさえアップロードすれば、高可用性を実現しつつコードを実行およびスケーリングするために必要なことはすべて Lambda により行われます。コードは、AWS の他のサービスから自動的に呼び出されるように設定したり、任意のウェブアプリケーションまたはモバイルアプリケーションから直接呼び出すように設定したりできます。
Lambda の詳細については、こちらの URL を参照してください。
Amazon API Gateway
Amazon API Gateway はフルマネージド型サービスで、デベロッパーは規模にかかわらず、API の作成、公開、メンテナンス、モニタリング、保護が簡単にできます。API とは、バックエンドサービスからデータ、ビジネスロジック、機能にアクセスするアプリケーションの「フロントドア」です。API Gateway を使用することで、アプリケーション間のリアルタイム双方向通信を実現する RESTful API および WebSocket API を作成できます。API Gateway は、コンテナ化されたサーバーレスのワークロードやウェブアプリケーションをサポートします。
Amazon API Gateway の詳細については、こちらの URL を参照してください。
Amazon DynamoDB
Amazon DynamoDB は、規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value データベースおよびドキュメントデータベースです。フルマネージドでマルチリージョン対応の、耐久性の高いデータベースで、セキュリティ、バックアップ、復元機能が組み込まれています。インターネット規模のアプリケーションにインメモリキャッシュを使用します。DynamoDB は、1 日に 10 兆件以上のリクエストを処理でき、ピーク時には毎秒 2,000 万件を超えるリクエストを処理します。
Amazon DynamoDB の詳細については、こちらの URL を参照してください。
AWS CloudFormation
AWS CloudFormation は、クラウド環境で AWS とサードパーティーのアプリケーションリソースをモデル化し、プロビジョニングすることができる、AWS が提供する共通言語です。
AWS CloudFormation の詳細については、こちらの URL を参照してください。
AWS Identity and Access Management (IAM)
AWS Identity and Access Management (IAM) を使用すると、AWS のユーザーとグループを作成および管理し、アクセス許可を使用して AWS リソースへのアクセスを許可および拒否することができます。
AWS IAM の詳細については、こちらの URL を参照してください。
目標
本ラボを修了すると、次のことができるようになります。
- AWS CDK アプリケーションを新規作成する。
- AWS Construct Library を使って、アプリケーションのインフラストラクチャを定義する。
- AWS CDK アプリケーションを AWS アカウントにデプロイする。
- 独自の再利用可能なコンストラクトを定義する。
- コンストラクトでテストを実行する。
技術知識の前提条件
このラボを修了するには、コマンドラインやターミナル、AWS マネジメントコンソールの基本的な操作を理解している必要があります。
アイコンキー
このラボでは、さまざまな種類の手順と注記への注意を促すため、各種アイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。
- コマンド: 実行する必要があるコマンドです。
- 想定される出力: 出力のサンプルであり、コマンドまたは編集済みファイルの出力を確認するときに使用します。
- 注意: ヒントや重要なガイダンスです。
- 追加情報: 詳細を確認可能
- 検討: ここでは、少し時間を取ってそのコンセプトをどうすれば自分の環境に応用できるか考えたり、学習中のトピックについて議論したりします。
- ファイルの内容: 実行する必要のあるスクリプトまたはファイルの内容を示す、事前に作成されたコードブロックである。
- セキュリティ: セキュリティのベストプラクティスを取り入れるタイミングです。
Tags
Related Courses
Applying Infrastructure as Code and Serverless Technologies to AWS DeploymentsA Cloud Guru CloudFormation Deep Dive
A Cloud Guru Introduction to AWS CloudFormation
A Cloud Guru Mastering AWS CloudFormation
A Cloud Guru Actualización automática de los grupos de seguridad con AWS Lambda (Español de España) | Update Security Groups Automatically Using AWS Lambda (Spanish from Spain)
Amazon Web Services via AWS Skill Builder