ハンズオン: Cognito Identity入門

目的

Amazon Cognito IDプールの各要素を操作する。

前提

作業環境条件

本作業は、以下の作業環境で行います。

作業環境条件1: OSとバージョン

本手順は、Amazon Linux "Amazon Linux AMI release 2018.03"以降のOS環境での実施を前提としています。

コマンド:

cat /etc/issue | head -1

結果(例):

Amazon Linux AMI release 2018.03

作業環境条件2: シェルとバージョン

本手順は、bash "4.2.46(2)-release"以降のシェル環境での実施を前提としています。

コマンド:

bash --version -v | head -1

結果(例):

GNU bash, バージョン 4.2.46(2)-release (x86_64-redhat-linux-gnu)

作業環境条件3: AWS CLIのバージョン

本手順は、AWS CLIのバージョン"1.16.245"以降での実施を前提としています。

コマンド:

aws --version

結果(例):

aws-cli/1.16.245 Python/3.6.5 Linux/4.14.59-64.43.amzn1.x86_64 botocore/ 1.11.2

バージョンが古い場合は最新版に更新しましょう。

コマンド:

sudo -H pip install -U awscli

手順

ローカル環境での作業

  • 今回は"${HOME}/tmp/parameter-handson-cli-cognito-identity"をパラメータファイル情報用ディレクトリとします。

ディレクトリが存在することを確認します。

コマンド:

ls -d ${HOME}/tmp/parameter-handson-cli-cognito-identity

結果(例:存在する場合):

${HOME}/tmp/parameter-handson-cli-cognito-identity

存在しない場合は作成します。

コマンド:

mkdir -p ${HOME}/tmp/parameter-handson-cli-cognito-identity

8. 動作確認

8.1. コンテンツのURL取得

変数の設定:

S3_BUCKET_PREFIX='handson-cli-cognito-identity-contents'

コマンド:

AWS_ID=$( \
  aws sts get-caller-identity \
    --query 'Account' \
    --output text \
) \
  && echo ${AWS_ID}

結果(例):

XXXXXXXXXXXX

変数の設定:

S3_BUCKET_NAME="${S3_BUCKET_PREFIX}-${AWS_ID}" \
  && echo ${S3_BUCKET_NAME}

結果(例):

handson-cli-cognito-identity-contents-XXXXXXXXXXXX

変数の設定:

S3_BUCKET_LOCATION=$( \
  aws s3api get-bucket-location \
    --bucket ${S3_BUCKET_NAME} \
    --output text \
) \
  && echo ${S3_BUCKET_LOCATION}

結果(例):

ap-northeast-1

変数の確認:

cat << ETX

  # S3_BUCKET_NAME:"handson-cli-cognito-identity-contents-XXXXXXXXXXXX"
    S3_BUCKET_NAME:"${S3_BUCKET_NAME}"
  # S3_BUCKET_LOCATION:"ap-northeast-1"
    S3_BUCKET_LOCATION:"${S3_BUCKET_LOCATION}"

ETX

変数の設定:

S3_BUCKET_ENDPOINT="${S3_BUCKET_NAME}.s3-website-${S3_BUCKET_LOCATION}.amazonaws.com" \
  && echo ${S3_BUCKET_ENDPOINT}

結果(例):

handson-cli-cognito-identity-contents-XXXXXXXXXXXX.s3-website-ap-northeast-1.amazonaws.com
  • 出力結果をコピーします。

8.2. ブラウザでのコンテンツへのアクセス

  • 8.1でコピーしたURLをブラウザのURL欄にペーストし、リターンキーを押します。

    • "ようこそ"というタイトルのページが表示されます。

  • 'お問い合わせ'(リンク)をクリックします。

    • 入力フォームが表示されます。

  • フォームの各項目に以下の入力をします。

    件名

    こんにちは

    メールアドレス

    info@example.jp

    お問い合わせ内容

    ご無沙汰しております。

  • "送信"(ボタン)を押します。

    • "お問い合わせありがとうございました。"というタイトルのページが表示され、数秒後に"ようこそ"というタイトルのページが表示されます。

8.4. データの中身確認

コマンド:

cat ${HOME}/environment/download-handson-cli-cognito-identity/*

結果(例):

{
  "title": "こんにちは",
  "mail": "info@example.jp",
  "contents": "ご無沙汰しております。",
  "date": "04/11/2019, 12:34:56"
}

後始末5. 作業用ディレクトリの破棄

コマンド:

rm -rf ${HOME}/environment/conf-handson-cli-cognito-identity

コマンド:

rm -rf ${HOME}/environment/contents-handson-cli-cognito-identity

コマンド:

rm -rf ${HOME}/environment/download-handson-cli-cognito-identity

ローカル環境での作業

パラメータファイル情報用ディレクトリを削除します。

コマンド:

rm -Rf ${HOME}/tmp/parameter-handson-cli-cognito-identity

備考