2. AWS環境の準備

2.1. AWS マネジメントコンソールにサインイン

まずは、WiFiに接続して、AWS マネジメントコンソールにサインインして下さい。

2.1.1. IAMユーザーではなく、ルートアカウントを使用する場合

ルートアカウントでログインする場合は、下記のURLからAWSにサインインして下さい。

https://console.aws.amazon.com/console/home

2.1.2. 複数の参加者で1つのAWSアカウントを共用する場合

下記のURLにアクセスし、アカウントID、ユーザー名、パスワードを入力し、AWSマネージメントコンソールにサインインして下さい。

複数の参加者で1つのAWSアカウントを共用している場合、ルートユーザーにAWSマネジメントコンソールにログインするURLを教えてもらってください。通常、下記の様なURLになっています。

https://<12桁のAWS ID>.signin.aws.amazon.com/console

項目
アカウント AWSのアカウントID (12桁の数字)
ユーザー名 IAMユーザー名
パスワード IAMユーザー パスワード
_images/aws-login.png

2.2. CloudFormationを使って自動作成

以下のハンズオンで必要なAWS IoT以外のサービスについてはCloudFormationを使って自動作成します。CloudFormationはスタックの中にこれらのリソースを作成し、一括して削除などができます。

IAMユーザ
Edisonで認証に利用する証明書の登録作業を実施する際に使用するユーザ
IAMロール
AWS IoTやブラウザがAWSサービスにアクセスするために使用するロール
IAMポリシー
AWS IoTやブラウザが使用する各ロールがどのサービスに、どのような操作を行って良いか定義するポリシー
DynamoDBテーブル
シナリオ1でセンサーデータを保存するためのテーブル
SNSトピック/サブスクリプション
シナリオ1でメール通知するためのSNS設定
Lambdaファンクション
WebブラウザからのリクエストでAWS IoTからデータを取得したり、データを設定するためのファンクション

マネージメントコンソールを開き、右上のリージョン一覧から[米国東部(バージニア北部)]を選択します。別なリージョンをお使いの場合は、適宜、選択して下さい。

_images/2-regions-us@2x.png

サービス一覧から[Cloud Formation]をクリックして開きます。[スタックの作成] をクリックします。

_images/2-cf-1@2x.png

[テンプレートの選択] では [テンプレートの選択] で [Amazon S3 テンプレート URL の指定] を選択し、以下のパスを入力し、[Next]をクリックします。

https://s3-ap-northeast-1.amazonaws.com/awsiot-handson-dojo-jp/aws-iot-handson-dojyo-basic.yml


_images/2-cf-2@2x.png

[詳細の指定] で [スタックの名前] に”AWSIoTHandsonStack-<参加者番号>”と入力し、[AdministratorEmail] にシナリオ1で使用するメールの通知先を入力します。そして[Next]をクリックします。

項目
スタックの名前 AWSIoTHandsonStack-<参加者番号>
AdministratorEmail 通知先のE-mailアドレス
_images/2-cf-3@2x.png

[オプション] で何も入力せずに [次へ] をクリックします。

_images/2-cf-4@2x.png

[確認] の画面を下にスクロールし、[CAPABILITY] で [AWS CloudFormation によって IAM リソースが作成される場合があることを承認します。] にチェックを入れ、[作成] をクリックします。

_images/2-cf-5@2x.png

Cloud Formationのスタックの一覧に作成したスタックが表示されるのを確認します。Statusが[CREATE_IN_PROGRESS]から[CREATE_COMPLETE]になるのを待ちます。

_images/2-cf-6@2x.png

_images/2-cf-7@2x.png

[AWSIoTHandsonStack-<参加者番号>] をクリックして、[スタックの詳細] を表示します。[出力] をクリックして、[値] の内容を全てメモ帳などにコピーします。

_images/2-cf-8@2x.png

2.3. Cognito Identityを手動作成

シナリオ1,2で使用するWebアプリで匿名認証を行うために使用するCognito Identityを作成します。マネージメントコンソールのサービス一覧から [Cognito] をクリックして開き、[フェデレーテッドアイデンティティの管理] をクリックします。

_images/2-cognito-1@2x.png

[新しい ID プールの作成] をクリックします。

_images/2-cognito-15@2x.png

[ID プール名] に ”AWSIoTHandson <参加者番号>”と入力し、[E認証されていない ID に対してアクセスを有効にする] にチェックを入れ、[プールの作成] をクリックします。

項目
ID プール名 AWSIoTHandson <参加者番号>
_images/2-cognito-2@2x.png

[許可]をクリックします。

_images/2-cognito-3@2x.png

以下のように[AWS 認証情報の取得] に表示されている “ID プールの ID” をメモ帳などにコピーします。

_images/2-cognito-4-us@2x.png

マネージメントコンソールのサービス一覧から[IAM]を開き、左側のメニューから[ロール]を選択します。ロールの一覧から”Cognito_AWSIoTHandson<参加者番号>Unauth_Role”をクリックします。

_images/2-cognito-5@2x.png

[アクセス許可]のタブを選択し、管理ポリシーの[ポリシーのアタッチ]をクリックします。

_images/2-cognito-6@2x.png

フィルタに”HandsonStack-<参加者番号>”と入力して絞込を行い、表示されたポリシー ”AWSIoTHandsonStack-<参加者番号>-WebAppPolicy-<英数字>” を選択し、[ポリシーのアタッチ]をクリックします。

_images/2-cognito-7@2x.png

[管理ポリシー]に ”AWSIoTHandsonStack-<参加者番号>-WebAppPolicy-<英数字>” ポリシーが表示されていることを確認します。

_images/2-cognito-8@2x.png