クラウドサーバーwebで操作できるようになって、インフラもリモートでできるようになりました。私はここ1年半在宅で仕事していて、一回も会社行ってないです。
今回は表題通りAWSのパラメータシートをどうやって記すか、です。
GUIなので、マネージメントコンソールに表示されるパラメータをちまちまとドキュメントに書き写すのですが、会社によってExcel派とMarkdown派に分かれます。
私が去年まで居たところはMarkdown派。それも我流。今年になってフリーになって入った会社は規模が大きくてExcelでの納品を要求(まだ未確認なのでMarkdownでもいいかも)。
ちょうど最近、ITのQAサイトのteratailでそういう質問がありました。
AWSの管理方法(台帳、パラメータシート、詳細設計書)について|teratail
どうも、CloudFormationをベースにすべきであるという意見が多いです。確かにそうなんですが、可読性に難があります。Fn::Refとか参照関数があってわかりやすいとも言えないです。素人がすらすら読めない設定シートです。まあ、JSONからYAMLに切り換えられるだけマシですが。
で、CloudFormationを元に、パラメータシートを作る方法を考えました。
検索するとやってる人はいるのですが、小難しい方法でやっている。会社の秘密レシピみたいな感じで公開してない。
困りました。
- CloudFormation→Markdown
- CloudFormation→Excel
どちらも候補としてあげましたが直に変換するツールはない。
むしろ、パラメータシート作成を業務とする会社があるらしい。金取れるレベルのようです。
AWS や Microsoft Azure 対応、サーバー設定仕様書を自動生成するサービス「SSD-assistance」 機能強化
とりあえず、考えた対策。
1)CloudFormationのyamlをpandocというツールでMarkdownに変換する。
→表とかリストとかの概念がすっぽり抜け落ちてしまう
2)yamlをvscodeで手動でMarkdownに書いていく
→Excelに書くのと手間的にどう違う?
3)VBAでCloudFormationのyamlスタックを変換する
→作る手間は掛かるが、作ったらその後も一発で変換。但し、継続して保守ができること。
4)yaml → csv → Excel か NotionなどのMarkdownエディタで省力化
なんか、行列が横長になっているので、変換したら良い感じ
とりあえず、3か4で。会社に許される工数によって、決めることにします。継続して保守できる会社員なら3一択なんですが、私はフリーランスなので。
以上、ご参考になれば。
※いやいやいや、ふと、yaml→Excel変換で検索してみたらすでにツール色々あるじゃないですか。作る必要なし? 変換して整形するだけのような。csvで検索するから遠回りしたのであって、最初からExcelで検索すれば良かった……
terraformのコードをエクセル化する方法について考えてみた。2023/09/28
terraformでIacは良いのですよ。わかりやすいし、ただそれが仇になって、HCL表記をエクセル化するのは難しいです。ツールがないか調べてみましたが、ない。
これはCDKにも言えるというかCDKは言語なので無理です。
要件によってどのIaCを使うか考えた方が良いですね。
パラメーターリストとしても使いたいのならCloudFormation。
マルチクラウドとかだったらterraform。
TypescriptやPythonで簡易に書きたかったらCDK
CloudFormationが図式に変換できたりして意外に使い勝手がいいので、悩むところです。
2024/07/09
現在、パラメーターシートに起こした情報を元に構築している最中です。この過程でExcelなどでパラメーターシートを書くのは悪手だと痛感しました。
なにより、引き継いだ情報が間違っている。3ヶ月前の情報なのに、誤りが多々ある。あれっ、パラメーターシートの情報おかしいんじゃね? で、動いてる環境参考にして作る羽目になってます。
こんなことになっているのは上司がIaC知らないので乗り気じゃないせいです。CLIで作るという話もありましたがお客さんがCLIの権限与えてくれないのでできません。
マネージメントコンソールで構築すると、どうしてもミスが混入してきます。最新の情報にアップデートされている保証は全くありません。
私の結論は、パラメーターシートなんて作らずに、CloudformationかTerraformをその代用に使うべしというものです。実際、それをやってた会社の案件に入ってました。
構築後、動かなくてどこがおかしいのかマネコンのあちこちを開いて探し回るのは大変です。ぜひ、コード化してそれをパラメーターシートにしてください。
コメント