私たちの部署では、年度初めに業務改善やテクノロジーの活用術などのテーマを決めて、チームに分かれて新しいことに挑戦してみるという取り組みをしています。
今年度、私の所属するチームでは設計/構築作業の生産性向上、効率化を目指して、AWSのパラメータシートを自動生成するツールの作成を行いました。
今回はブログリレーという形で、取り組んだことについて紹介していきたいと思います!🎉
1人目ということで、私からは活動の目的や概要をご説明できればと思います。
背景
通常、AWSの設計や開発を行う際は、手作業でExcelにパラメータシートを作成しており、以下のような課題を抱えていました。
- 作成やチェックに時間がかかる
- AWSコンソールと目視で確認して、パラメーターをExcelに反映している
- 大規模な開発の場合、たくさんのパラメータシートを作成する必要がある
- 開発完了時点で、パラメータシートと実際に設定されているパラメータに差異がないか手作業で確認する必要がある
- Excelの罫線や文字フォントを統一する必要がある
- メンテナンスにコストがかかる
- 設計の方針変更や検証により、パラメータが変更になるたびにパラメータシートに反映する必要がある
- 手作業で行っているため、ミスが起こる可能性がある
上記の課題は、生産性や品質の低下を招いてしまう可能性があり、さらには開発スピードの低下にもつながります。
そのため、これらを解決する一つの手段として、AWSのパラメータシートを自動生成というテーマを考え、取り組みを始めました。
取り組みの概要
目的
設計・開発におけるパラメータシートを取りまとめる工程をツールによって省略化し、生産性向上、効率化する
ツールのコード管理をGitHubで行い、組織内で展開できるようにする
コンセプト
次の3点を実現できるように設計を行いました。
- だれでも簡単に操作でき、パラメーターシートを作成できるようなツールにすること
- Excelに視覚的にわかりやすく整理された形式でパラメーターを出力すること
- 必要なパラメーターがすべて出力できていること
ツールの全体像
以下のようなアプリケーションを作成し、AWSリソース選択からパラメータシート出力までの機能を提供できるように実装を行いました。
以下のような流れで実現しています。
- AWSリソースタイプを選択
AWS CLI (describe コマンド) を実行し、その結果から選択したリソースの情報を表示 - 詳細情報を取得したいリソースを選択
パラメータシート化したいリソースを選択、複数のリソースを選択が可能 - リソースの詳細情報を確認、Excel出力
選択したリソースのAWS CLI (describe コマンド)の実行結果のJSONを取得
JSONを加工、成形したうえでExcelへ出力
上記の仕組みを具体的にどのような技術で実現しているかについては、このあと追加される関連記事をご確認してみてください!
取り組んでみて…
この取り組みは、業務に好循環を生み出すきっかけになったのではないかなと考えています。
例えば、これまで時間をかかっていた手作業が自動化されることで残業が減り、生まれた時間を自己研鑽にあてることができます。さらに、ツールによって成果物の一貫性が保たれるため、個人のスキルに依存しない品質確保や、ヒューマンエラーの防止にも繋がります。
一方で、私たちの部署ではPythonやIaCの経験はありましたが、アプリケーション開発の知見は十分ではありませんでした。そのため、設計や要件定義は手探りで進める部分が多く、手戻りが発生し苦労も多かったです。
今回の取り組みを通して、日々の業務における課題に意識を向け、改善を行っていくことの重要性を改めて認識しました。
このツールにはまだ改善の余地があるため、今後も継続的に改良し、生産性や品質向上に貢献していきたいと思います。
というわけで、私の投稿はここまでです!
次回はkurahashiさんにバトンタッチしたいと思います!

