ぶろとよ

ネットワーク系クラウドエンジニア(AWS)の技術ブログ。自動化に興味があるためAWS CLIを勉強&アウトプット中。

AWS CLI:キーペアの作成・表示・削除コマンド

  • 検証日: 2021/09/26
  • PC環境:
    • Windows10 Home Ver21H1
      • AWS CLI: aws-cli/2.1.34 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
        • -- profile default : 読み取り専用
        • -- profile aws_RW : 書き込み権限あり
          • ※ 誤操作防止のため、変更操作時のみ-- profileオプションを付けてます。
      • PowerShell: Ver7.1.4
  • 本コマンドはPowerShellで検証しています。
  • コマンド内の変数やパラメータやは検証で使用したものを記載しています。自身の環境に書き換えて使用してください。
  • 個人で検証しているため実行結果に責任は持てません。必ずご自身でも検証してから使用してください。


目次


1. 本記事の概要

EC2インスタンスで利用する「キーペア」をAWS CLIで作成します。
作成するキーペアですが、マネジメントコンソールから作成すると以下のような設定のものです。

項目
名前 Pxx-Key-Toyokey
キーペアのタイプ RSA
プライベートキーファイル形式 pem (OpenSSH で使用する場合)
タグ Name: Pxx-Key-Toyokey
Env: Product
System: HatenaBlog


[VPC] > [キーペア] > [キーペアを作成] > パラメータ入力 > [キーペアを作成]

f:id:toyokky:20210926192948p:plain


2. AWS CLIでのキーペア作成

注意事項として、マネジメントコんソールで作成すると勝手にpemファイルをダウンロードしてくれますが、AWS CLIで作成した場合はpemファイルはダウンロードされず、画面に表示されるだけです。

画面内容をテキストファイルへコピペしても良いのですが面倒なので、キーペア作成時に表示される内容からプライベートキーが書かれた「KeyMaterial」部分の内容をファイルとしてアウトプットします。

作業ディレクトリ(今回は C:\#temp )にpemファイル(UTF-8)を出力します。

AWS CLI v2 リファレンスガイド: create-key-pair

# PowerShellの変数を使用しています。
${work_dir} = "C:\#temp"
${profile} = "aws_RW"
${key_name} = "Pxx-Key-Toyokey"
${tag_env} = "Product"
${tag_system} = "HatenaBlog"

# キーペアの作成
aws ec2  create-key-pair `
    --profile ${profile} `
    --key-name ${key_name} `
    --query "KeyMaterial" `
    --output text `
    --tag-specifications "ResourceType=key-pair, `
        Tags=[{Key=Name,Value=${key_name}}, `
            {Key=Env,Value=${tag_env}}, `
            {Key=System,Value=${tag_system}}]" `
    | Out-File -Encoding ascii ${work_dir}\${key_name}.pem


3. キーペアの表示

AWS CLI v2 リファレンスガイド: describe-key-pairs

${key_name} = "Pxx-Key-Toyokey"

aws ec2 describe-key-pairs --key-name ${key_name}


4. キーペアの削除

AWS CLI v2 リファレンスガイド: delete-key-pair

${key_name} = "Pxx-Key-Toyokey"
${profile} = "aws_RW"

aws ec2 delete-key-pair `
     --profile ${profile} `
    --key-name ${key_name}


5. 参考URL

docs.aws.amazon.com