ハンズオン(簡易版): EC2基礎(AMI)

事前作業2.1. EC2キーペアの作成 (handson-cli-ec2-ami-keypair)

手順の目的 [why]

EC2キーペア"handson-cli-ec2-ami-keypair"を作成します。

設定値の指定

設定値の指定

手順に必要な設定値を変数に格納をします。

0. リージョンの指定

リージョンを指定します。

環境変数の設定:

export AWS_DEFAULT_REGION='ap-northeast-1'

1. EC2キーペア名

EC2キーペア名を指定します。

変数の設定:

EC2_KEY_PAIR_NAME="handson-cli-ec2-ami-keypair"

2. 鍵ファイルディレクトリ

鍵ファイルディレクトリを指定します。

変数の設定:

DIR_KEY="${HOME}/.ssh"

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

コマンド:

ls -d ${DIR_KEY}

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

${HOME}/.ssh

存在しない場合は作成します。 (パーミッションは700にします。)

コマンド:

mkdir -p ${DIR_KEY} \
  && chmod 700 ${DIR_KEY}

結果(例):

(出力なし)

3. 秘密鍵ファイル名

AWS IDを取得します。

コマンド:

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

結果(例):

XXXXXXXXXXXX

変数の設定:

FILE_KEY_PAIR_SECRET="${DIR_KEY}/${EC2_KEY_PAIR_NAME}-${AWS_ID}-${AWS_DEFAULT_REGION}-ec2.pem" \
  && echo ${FILE_KEY_PAIR_SECRET}

結果(例):

${HOME}/.ssh/handson-cli-ec2-ami-keypair-XXXXXXXXXXXX-ap-northeast-1-ec2.pem

設定値の確認

各変数に正しい設定値が格納されていることを確認しながら保存します。

変数の確認:

cat << END

  # 0. AWS_DEFAULT_REGION:"ap-northeast-1"
       AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}"

  # 1. EC2_KEY_PAIR_NAME:"handson-cli-ec2-ami-keypair"
       EC2_KEY_PAIR_NAME="${EC2_KEY_PAIR_NAME}"
  # 2. DIR_KEY:"${HOME}/.ssh"
       DIR_KEY="${DIR_KEY}"
  # 3. FILE_KEY_PAIR_SECRET:"${HOME}/.ssh/handson-cli-ec2-ami-keypair-XXXXXXXXXXXX-ap-northeast-1-ec2.pem"
       FILE_KEY_PAIR_SECRET="${FILE_KEY_PAIR_SECRET}"

END

下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。

処理の実行

EC2キーペアを作成します。

変数の確認:

cat << END

  # EC2_KEY_PAIR_NAME:"handson-cli-ec2-ami-keypair"
    EC2_KEY_PAIR_NAME="${EC2_KEY_PAIR_NAME}"
  # FILE_KEY_PAIR_SECRET:"${HOME}/.ssh/handson-cli-ec2-ami-keypair-XXXXXXXXXXXX-ap-northeast-1-ec2.pem"
    FILE_KEY_PAIR_SECRET="${FILE_KEY_PAIR_SECRET}"

END

コマンド:

aws ec2 create-key-pair \
  --key-name ${EC2_KEY_PAIR_NAME} \
  --query 'KeyMaterial' \
  --output text \
> ${FILE_KEY_PAIR_SECRET} \
  && cat ${FILE_KEY_PAIR_SECRET} \
  && chmod 400 ${FILE_KEY_PAIR_SECRET}

結果(例):

-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAmvjImp15UwXayJS0Q3w75bZ7+h95is3gGFRrki94ix4/URkdL28hzO/s96yD\n02MZMJGc7W+DNTWQAyCqJZWAkuHa73YrRBpoEHxQmTjEtTNbcc5oPP1nOz4xix3D3OzWI5fjIbLr\nvrUFXtZkQJ/eVeeg4EeoLpfORIqMmdXR6IgKYHNJMLeExr1kvePNgBLLDvaZfSb0f58lhemhOd5Z\nEeVff5gMUcoana2Piu9wh4yDC3TpUtqmUGOWC++uV0fThPMWDAsVj5g3SDm4GdWHalkcbkGUNbGk\nd07Z6rl16Q8Md6O+psrUs2eVDoiIVH64YtzsbMzV/z+S/bQV+l5pYwIDAQABAoIBADgnO3Ei7GpT\n7cHOeD8XzhBffi7UptLP5IqMVGok/1XRgPne0r90UlgS+9eG0EGRX/hEWwuB45YtMWCgvmZd9LfE\nVPN96xGDS//lO8M5WbWaxWDIfObUn0pNL+CLyYPM4Y8GI0v7rAZvS2Hg53SvOP4Brz51WJCBe0FE\nvsujOas6xuqzNvRF1jV8/RvRHvWzULGpZN9AnLBEnWHIJrIj5mwPxvxPiJhr5EkW7wHiMLJe60T7\nPqQzC7nfiMmq0XR2ddQ3zjADq/NLd5oUFP0XYNSPQmUkV3o8fOdl1ryx0qPif278WmrxapyaIRe4\n3vGJt2O642MFzBvdpoKNIXD0jkkCgYEA3ijHNlgS9PZPFcAqjh9UC1caS+TudpT1sxEVN8zXgWLH\nDVaTTlM0/ZMY6h6vOySLvS/ADPc9t6zkSTX/jtjmeuGbI0O5XifeH+WVLzIgXSpFc/UMVhipyB+a\nNOzN08vxIiGFvoNKTAGyrRSjnVtZMHygFGYyUtu1y4DnjQny9ccCgYEAspP+Sbk7M1vW99heDG6d\nzM5FmXLclyIRxZyEX6fhe5EVFOqVi1aZM8x71DCXKACX/f4MCM+iUrlTF//NWu7qtK8ODkYzz+5F\nfh2kMGhd4LJpant8RzdumzhQ75uAPzqnRk8ML+ctYSQZbNAOZLB1aeodlylg/LODBtdYvmMRf4UC\ngYAhvS2r+io+251dH0cXOHjKFBthRU5V4f+Ch2iihdCAzOCQDQLoFUjp7coN3EUehUlXnQXcsjvE\nRlSRLcs3BYfTR6oI7AMd4o4gZ/yFI2a432+W0bNi6/H0+5+uw/vqW4GufkrSiRvieSuKj6Tdg/8C\nlxq0nmSsIsP0OQpxZ/5nBwKBgAC2ECww/ahdtER2ayF3i09WfvZ2e6RqcVGtJuXOoFpCoKfdq0zL\nwn5vUQruSpvRLMnJKjkawpW7wTX2QdYb33lqvQ6XfvtUApjW+2Fp+P29GChhZ4RNFzatCb16jA80\nZ5gjFnRWYlrhruw9A+Goxj7uvMFuW8GF4X60etj/QgGVAoGAJuFae/DmSVMVCmu+ySjNGIKeFXQK\nvun94xuGUGlaO6/MXcUDbkZMzAN1AAGLHWTVntC2kwh4V0YUlrdGl0H4lLxX8G9ZDANtk4+cCose\n/UwsNyy2b4hogOsJfKym2knWTnFci62Dj8xsnDknkEgh/KCugnwzSqdeUuLSi0vlMDg=
-----END RSA PRIVATE KEY-----

完了確認

「EC2キーペア"handson-cli-ec2-ami-keypair"が存在する。」ことを確認します。

コマンド:

aws ec2 describe-key-pairs \
  --query "KeyPairs[?KeyName == \`${EC2_KEY_PAIR_NAME}\`].KeyName" \
  --output text

結果(例):

handson-cli-ec2-ami-keypair

「秘密鍵"${HOME}/.ssh/handson-cli-ec2-ami-keypair-XXXXXXXXXXXX-ap-northeast-1-ec2.pem"が存在する。」ことを確認します。

コマンド:

ls ${FILE_KEY_PAIR_SECRET}

結果(例):

${HOME}/.ssh/handson-cli-ec2-ami-keypair-XXXXXXXXXXXX-ap-northeast-1-ec2.pem

手順の完了

(参考) マネジメントコンソールの確認

  • EC2ダッシュボード( https://console.aws.amazon.com/ec2/home )にアクセスします。

  • 右上のリージョンメニューから"東京 "を選択します。

  • 左ペインの"ネットワーク & セキュリティ"の下位にある"キーペア"をクリックします。

キーペア一覧(画面)

  • 検索欄にキーペア名"handson-cli-ec2-ami-keypair"を入力して、エンターキーを押します。

  • キーペア名"handson-cli-ec2-ami-keypair"が表示されていることを確認します。