AWS CLI設定を爆速化!SSM接続も自動化

エンジニア・コラム

AWS CLIを使ってAWSリソースを操作する際、プロファイルの切り替えやSSMへの接続が面倒に感じること、ありますよね? 特に複数のAWSアカウントやリージョンを扱う場合、毎回コマンドを打つのが手間です。

設定が面倒な理由

毎回aws configureコマンドで設定するのは時間がかかりますし、タイプミスも起こりやすいです。SSM接続も同様で、aws ssm start-sessionコマンドにインスタンスIDを指定する必要があり、これもまた面倒な作業です。設定ファイルも複数管理すると、どれが最新かわからなくなることも。

# プロファイルの切り替え
aws configure --profile my-profile

# SSM接続
aws ssm start-session --target i-xxxxxxxxxxxxxxxxx

これらの問題を解決するために、シェルスクリプトを作成しました。このスクリプトを使うことで、プロファイルの切り替えやSSM接続が簡単になります。名付けてaws-login

シェルスクリプトで解決!

今回作成したaws-loginスクリプトは、以下の機能を提供します。

  • プロファイルの選択と設定
  • SSMへの接続
  • 環境変数への反映

使い方

  1. GitHubリポジトリからスクリプトをダウンロードします。

    https://github.com/yuru-craftlab/aws-login

  2. スクリプトに実行権限を与えます。
    chmod +x aws-login
    
  3. スクリプトを実行します。
    ./aws-login
    

スクリプトは、対話形式でプロファイルの選択やSSM接続に必要な情報を尋ねてきます。指示に従って入力するだけで、設定が完了します。

スクリプトの中身

スクリプトは、aws configureコマンドやaws ssm start-sessionコマンドをラップしています。また、環境変数を設定することで、AWS CLIが利用する認証情報を自動的に切り替えます。

#!/bin/bash

# プロファイルを選択
read -p "Enter profile name: " profile

# 環境変数を設定
export AWS_PROFILE=$profile

# SSM接続
read -p "Enter instance ID: " instance_id
aws ssm start-session --target $instance_id

ちょっとした工夫:

スクリプトは、設定ファイルを自動的にバックアップする機能も備えています。これにより、設定を間違えてもすぐに元に戻すことができます。また、スクリプトは、AWS CLIのバージョンをチェックし、最新バージョンでない場合は警告を表示します。お陰で私はいつも最新のAWS CLIを利用できています。

ロードバイク中のひらめき:

先日、ロードバイクで多摩川沿いを走っていたら、ふとこのスクリプトのアイデアが浮かびました。AWS CLIの設定が面倒で、もっと簡単にできないかと思っていたんです。🚴

まずは形に!

このスクリプトは、まだ完璧ではありませんが、日々の作業を効率化するのに役立つはずです。「完璧を目指さず、まずは形にする」という私のモットーを体現しています。

AWS CLIの設定を簡単にするaws-loginスクリプトをご紹介しました。このスクリプトを活用して、AWSの利用をより快適にしてくださいね!

コメント

タイトルとURLをコピーしました