YoVDO

Deploying a Static Website using AWS Cloud Development Kit (Japanese)

Offered By: Amazon Web Services via AWS Skill Builder

Tags

AWS Cloud Development Kit Courses Programming Courses AWS CloudFormation Courses Cloud Infrastructure Courses Lambda Functions Courses AWS Cloud9 Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!

所要時間

このラボの所要時間は約 90 分です。

ラボの概要

このラボでは、マルチコンストラクトの AWS Cloud Development Kit (AWS CDK) アプリケーションを使用するための基礎を紹介します。AWS CDK は、AWS のソフトウェア開発フレームワークで、ご希望のプログラミング言語でクラウドインフラストラクチャを定義し、AWS CloudFormation を使ってデプロイできるようにすることを目的としています。このラボでは、3 つのスタックを作成します。

まず、AWS Cloud9 環境をセットアップして AWS CDK を使用する準備を整えます。次に、AWS CDK アプリケーションを初期化します。最初に作成する AWS コンストラクトは、テーブルプロパティを公開する DynamoDB テーブルをデプロイします。

次に、英語で書かれた単語を取り込んでスペイン語に翻訳された単語を返す Lambda 関数を作成する、2 つ目のコンストラクトを作成します。関数はまず DynamoDB テーブルで単語を調べ、見つからなかった場合は Amazon Translate サービスを呼び出して翻訳を取得します。単語はその後のリクエストのために DynamoDB テーブルに追加されます。このコンストラクトは Lambda 関数のフロントエンドである API Gateway エンドポイントをデプロイし、ユーザーが HTTP リクエストを経由して呼び出せるようにします。

最後に、カスタムリソースを使用して S3 静的ウェブサイトをデプロイする 3 つ目のコンストラクトを作成します。この静的ウェブサイトは、先のコンストラクトで作成されたウェブ API の単純な UI を提供します。アプリケーションの開発はすべて、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) では、ほとんどすべての種類のアプリケーションやバックエンドサービスのコードを実行でき、煩わしい管理は必要ありません。コードさえアップロードすれば、高可用性を実現しつつコードを実行およびスケーリングするために必要なことはすべて 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 を参照してください。

Amazon Translate

Amazon Translate は、高速で高品質かつカスタマイズ可能な言語翻訳を手ごろな料金で提供するニューラル機械翻訳サービスです。ニューラル機械翻訳は自動言語翻訳の一形態です。深層学習モデルを使用して、従来の統計と規則に基づいた翻訳アルゴリズムよりも正確かつ自然な翻訳を提供します。

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

AWS CloudFormation

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

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

AWS Identity and Access Management (IAM)

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

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

目標

  • マルチスタックの CDK アプリケーションを作成します。
  • プログラムを使用して Amazon DynamoDB テーブルを作成します。
  • Lambda 関数を作成しデプロイします。
  • Lambda REST API を作成しデプロイします。
  • CloudFront ディストリビューションを介して公開される静的ウェブサイトを作成し、デプロイします。

アイコンキー

このラボでは、さまざまな種類の手順と注記への注意を促すため、各種アイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。

  • コマンド: 実行する必要があるコマンドです。
  • 想定される出力: 出力のサンプルであり、コマンドまたは編集済みファイルの出力を確認するときに使用します。
  • 注意: ヒントや重要なガイダンスです。
  • 追加情報: 詳細を確認できます。
  • 警告: 特記事項または重要な情報 (この情報を読み忘れても、機器やデータに問題が発生するというわけではありませんが、特定のステップを繰り返す必要が生じる可能性があります)。
  • 警告: 元に戻すことが不可能で、コマンドやプロセスの失敗に影響を与える可能性があるアクションです。中には、いったん実行すると元に戻せない設定への警告もあります。
  • 検討: ここでは、少し時間を取ってそのコンセプトをどうすれば自分の環境に応用できるか考えたり、学習中のトピックについて議論したりします。

Tags

Related Courses

ウェブ開発入門完全攻略コース - HTML/CSS/JavaScript. プログラミングをはじめて学び創れる人へ!
Udemy
Master Apache Spark using Spark SQL and PySpark 3
Udemy
はじめてのRuby on Rails入門-RubyとRailsを基礎から学びウェブアプリケーションをネットに公開しよう
Udemy
Configuring your IDE for absolute beginners with AWS Cloud9
Coursera Project Network via Coursera
Python for DevOps
Pragmatic AI Labs via YouTube