Cloud9 環境の立ち上げ

Cloud9 環境の立ち上げ

CloudFormation を使って EC2 インスタンスやその他のリソースを用意します。

CloudFormation スタックで立ち上げられるリソースは以下の通りです。

  • S3 Bucket: Bulk Provisioning に利用します
  • IoT Role, Policy: Provisioning に利用します
  • VPC, Security Group: EC2 インスタンスのために利用します
  • EC2 インスタンス: Cloud9 で作業を行うインスタンスです

リージョンの選択

以下のリンクから CloudFormation スタックを立ち上げます。

この後の手順で AWS IoT の設定を変更するため、既にモノを作って動かしている場合などは、既存のデバイスに影響がないリージョンを選択してください。特に影響がない場合は一番近いリージョンを選択してください。

パラメータの入力とスタックの作成

上記のリンクをクリックすると、スタックのクイック作成のページが表示されるので、フォームに以下の値を入力していきます。

  • スタックの名前: IoTDeviceManagementWS-YYYYMMDD-NAME (例: IoTDeviceManagementWS-20191023-Mihira)
    • 後で削除する際に見つけやすい名前にしましょう
  • C9 Username, C9 Password: 任意のユーザ名とパスワード
    • Cloud9 にログインする際に利用します、自分の覚えやすい値を利用してください
  • EC2 Instance Type: t2.micro のままで問題ありません

「AWS CloudFormation によって IAM リソースが作成される場合があることを承認します。」にチェックを入れ、「スタックの作成」をクリックします。

出力の確認

全てのリソースが作成されるまでに、5〜10分程度かかります。CloudFormation のステータスが CREATE_IN_PROGRESS から CREATE_COMPLETE に変わるのを待ちましょう。

CloudFormation のテンプレートは 立ち上がった Cloud9 環境の provisioning/cfn/cfn-iot-dm-ws.json ファイルから確認することができます。ご興味のある方はご参照ください。

ステータスが CREATE_COMPLETE に変わったら、「出力」のタブから以下の値を確認します。

  • C9IdeUrl: Cloud9 にアクセスするための URL です(EC2インスタンスを再起動すると変わってしまうのでご注意ください、探す場合は EC2 のマネジメントコンソールから Device Management WS という名前の EC2 インスタンスを探し、パブリック DNS のURLからアクセスします)
  • S3Bucket: 作成されたバケット名です、EC2 のターミナルの環境変数($S3_BUCKET)にも同じ値が格納されていて、ワークショップ内で利用します

Cloud9 IDE へのアクセス

  • C9IdeUrl をクリックすると、Cloud9 IDE にアクセスすることができます

この際、ブラウザに証明書無効のエラーが表示されますが、以下の方法で例外として追加し、アクセスしてください Firefox: Advanced -> Accept the Risk and Continue Chrome: 詳細設定 -> ec2-...compute.amazonaws.com にアクセスする(安全ではありません)

  • 続いて、先ほどパラメータに設定したユーザ名とパスワードを入力します
  • しばらくすると Cloud9 IDE の画面が表示されます
    • ターミナルに AWS IoT Workshops と表示されているのをご確認ください

Cloud9 IDE

環境変数の確認とS3へのアクセス

この後の手順で利用する環境変数です、ユニークな名前を指定します。例)NAME=twatanabe

NAME=[YOUR_NAME]

以下のコマンドで先ほどの出力に表示されていた値が環境変数として設定されていることを確認できます。

echo $S3_BUCKET

S3バケットの中身が空であることを確認しましょう。

aws s3 ls s3://$S3_BUCKET

S3_BUCKET 以外にも、この後のワークショップで利用する以下の環境変数が設定されています。

実行する必要はありません。

IOT_ENDPOINT=xxx-ats.iot.your-region.amazonaws.com
IOT_POLICY=IoTDeviceManagementWS-IoTWSIoTPolicy-XXXXX
ARN_LAMBDA_ROLE=arn:aws:iam::ACCOUNT-ID:role/IoTDeviceManagementWS-IoTWSRegLambdaJITRRole-XXXXX
AWS_REGION=your-region
S3_BUCKET=iotdevicemanagementws-iotwss3bucket-xxxxx
IOT_ENDPOINT_NO_ATS=xxx.iot.your-region.amazonaws.com
ARN_IOT_PROVISIONING_ROLE=arn:aws:iam::ACCOUNT-ID:role/IoTDeviceManagementWS-IoTWSIoTServiceRole-XXXXX

ファイルのダウンロード

ワークショップで利用するファイルをダウンロードして展開します。

cd
wget https://go.aws/311O5J4 -O resources.zip
# 展開時に同名のファイルを上書きするかを聞かれるので、A を入力し、全て上書きします。
unzip resources.zip