Serverless チュートリアル - lifeisegg2k/Study GitHub Wiki
チュートリアルをやってみましょう
AWSアカウントが無ければ無料枠のアカウントを作成可能です。 AWS アカウント作成の流れを参考して、AWSのアカウントを作りましょ


- AWS マネジメントコンソールから「IAM」選択
- ユーザー選択
- ユーザーを追加
- ユーザー名とプラグラムによるアクセスをチェックし、次のステップ
- 既存のポリシーを直接アタッチを選択、「AdministratorAccess」を選択し、次のステップ
- 次のステップ
- 確認画面で、ユーザーの作成
- 作成された、ユーザー「Admin」のアクセスキーIDとシークレットアクセスキーを別途にコピーして置いて、閉じる
- 作成された、ユーザー一覧
AWS コマンドラインインターフェース (CLI) は、AWS サービスを管理するための統合ツールです。ダウンロードおよび設定用の単一のツールのみを使用して、コマンドラインから複数の AWS サービスを制御し、スクリプトを使用してこれらを自動化することができます。 AWS Cli インストールガイドを見ながら、自分の環境に合った方法でインストールする
設置後、AWS CLI の設定を行う。
aws configure
を実行して、先コビーして置いたキーをあわせて入力する
$ aws configure
AWS Access Key ID : A****************
AWS Secret Access Key : 8Y******************************E
Default region name [None]:
Default output format [None]:
- AWS マネジメントコンソールからデータベースにある「DynamoDB」を選択
- テーブル作成を選択
- テーブル名に「notes」プライマリキーに「userId」ソートキー選択して、「noteId」入力
- テーブル設定で、「デフォルト設定」を使用の選択を外すて、読み込み/書き込みキャパシティーモードで、「オンデマンド」選択
- 保管時の暗号化を「デフォルト」を選択して、作成
- DynamoDBのテーブル作成が完了
Amazon S3(Simple Storage Service)は、RESTなどのWebサービスインターフェースを介してストレージサービスを提供しています。画像、ビデオ、ファイルなどを含むすべてのオブジェクトをS3に保存することができます。オブジェクトは、バケットで構成され、独自のカスタムキー各バケット内で識別されます。
- AWS マネジメントコンソールから「S3」選択
- パケット作成を選択
- パケット名「test-upload-app」を入力して、リージョンを選択した後、次へ
- そのまま、次へ
- そのまま、次へ
- そのまま、パケットを作成
- 作成した、パケットリストから「test-upload-app」を選択
- アクセス権限のCORSの設定を順次選択*
- 以下のコードを入力後、「保存」
<CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>HEAD</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration>
- CORS(Cross-Origin Resource Sharing)
別オリジンのリソースへアクセス(= クロスサイトHTTPリクエスト)できるようにするためのルール、手法。 作成するノートアプリでは、ユーザーが作成したバケットにファイルをアップロードします。 また、アプリはカスタムドメインを介して提供されるため、アップロード中にドメイン間で通信します。 デフォルトでは、S3は別のドメインからのリソースへのアクセスを許可しません。 ただし、クロスオリジンリソース共有(CORS)は、1つのドメインにロードされたクライアントWebアプリケーションが別のドメインのリソースと対話する方法を定義します。 S3バケットのCORSを有効にしましょう。
Amazon Cognitoユーザーのプールを使用して、開発者は、Webやモバイルアプリケーションの登録とログイン機能を簡単に追加することができます。ユーザーディレクトリを維持するための固有のIDプロバイダーの役割をします。ログインしているユーザーのための識別トークンのプロビジョニングは、もちろん、ユーザー登録とログインをサポートします。
- AWS マネジメントコンソールから「Cognito」選択
- ユーザープールの作成
1. ユーザープールの作成する

1. プール名「test-upload-app」を入力し、デフォルトを確認するを選択

1. ユーザー名属性を選択

1. Eメールアドレスおよび電話番号を選択、Eメールアドレスを許可を選択

1. 次のステップを選択

1. そのまま、左メニューの「確認」を選択

1. そのまま、下のプール作成を選択

1. プール作成され、プールID、プールARNが表示される

1. 左メニューのアプリクライアントを選択し、「アプリクライアントの追加」選択

1. アプリクライアント名「note-app」、クライアントシークレットを生成を外し、画面のように選択

1. アプリクライアントを生成を選択

1. アプリクライアントIDが生成される

1. 左メニューのドメイン名を選択し、ドメインのプレプレフィックス「notes-app」、使用可能かチェックを押して、更新更新の保存を選択

1. 設定完了
