はじめに
初めまして、セゾンテクノロジーの村上と申します
本記事では題名にもありますが、EC2インスタンスの情報を取得するためのスクリプト作成について共有したいと思います。
私は2023年10月より異業種から転職し、現在エンジニア歴1年強の新米エンジニアです。技術的な面において間違っている点やご指摘等あるかもしれませんが、何卒ご容赦ください
(経歴の詳細は、今後改めて記事にしてみようとも考えております!)
概要
今回、処理を実行するためにシェルスクリプトを2つ作成し、別途パラメータファイルを用意しました。
パラメータファイルには、各環境のインスタンス名とリージョンの情報を記載しています。
シェルスクリプト①
このシェルスクリプトでは、「指定したEC2インスタンスに対して、情報取得処理を実行するために必要な要素を渡し、リモート上で実行する」機能を実装しました。流れは以下の通りです。
1.引数の取得
スクリプトを実行する際、下記のように確認したい環境の「パラメータファイル」と「EC2インスタンス名」を引数として取得するように設定しています。
FILE="$1"
NAME="$2"
※変数名は適当なものに変換しております。
2.ファイル転送
指定した「パラメータファイル」と「シェルスクリプト②」をscpコマンドを用いて、引数で指定したEC2インスタンスに転送します。
scp シェルスクリプト② "$FILE" "$NAME":/転送したいディレクトリ/
3.リモート実行
転送した「シェルスクリプト②」を実行させます。その際に、⑴で取得した引数も渡します。
シェルスクリプト②
このシェルスクリプトは、「AWS EC2インスタンスの情報を取得し、該当するデータを表示させる」機能を実装しました。こちらも流れは以下の通りです。
1.引数の検証
前のスクリプトで渡された引数が不足していないかをチェックし、不足している場合はエラーメッセージを表示します。
2.AWS CLI実行
パラメータファイルから各環境の情報を取得し、インスタンスの詳細情報を収集します。
3.結果の出力
取得した情報をコンソールに出力表示し、同時にテキストファイルに保存します。
まとめ
以上簡単なものではありますが、紹介させていただきました。
複数のインスタンス情報を一括で取得できるので、効率よく確認作業を進められるようになりました。
これから、さらに深い内容を投稿できるように精進してまいります