急に土日から寒くなって驚いています、たいがーです。二週間ぶりの大阪オフィスにて、これを書いています。前回ブログを書いたときは、まだ11月でした。気づいたら今年も終わりますね…
先日、サーバーワークスの採用ページが公開されましたね。
https://www.serverworks.co.jp/recruit/
このページを見たときのイカ?!と、某ゲームを思い出しましたが、能力者のほうだったんですね。ブログを読んで衝撃的でした。(驚くべきはそこじゃない)
今日は初めましての経験が多めでした。
Cloud Automatorのアクセスキーを一度で取れるようになりたい。始まった戦い。
作業が終わった時に社員さんから、技術ブログ書けるレベルだとおっしゃっていただいたので、ここに書いておこうと思います。
準備段階の作業を減らしたい
いつもハンズオンの事前準備にはCloudFormationを使っています。CloudFormationでIAMロールを作り、アクセスキーをマネジメントコンソールから手動で取得していました。それを今回から自動で取ってくるというのが今回の目標でした。
いつものように、Trelloで手順を送っていただきました。今回はできるかどうかの段階だったので、ハンズオンのアカウントの一つで作業を進めていきます。まずは記載したスニペットをCloudFormationで動かして、IAMユーザーを作る。そもそも、スニペットってなんだ…そこからの始まりです。検索します。
IAMユーザーを作成できるまで約30分
スニペット:プログラミング言語の中で簡単に切り貼りして再利用できる部分のこと。なるほど、とりあえず、これを使って作れってことか。と理解した私が、次につまづいたのは、そのスニペットをどこに貼ればいいのかという点。
コンソールで”スタックの作成”から進むと、謎の”テンプレートをデザインする”の文字。
それ以外の選択肢に当てはまるものがなさそうだったので、とりあえず”テンプレートのデザイン”をクリックしてみる。
すると、このようなページがでてきました。
パラメータにも入力できる、マッピングにも入力できる、条件にも・・・一体、このスニペットはどこに入力すればよいのだろう。
その少し下に”テンプレート”という文字があるのに気づくまで約30分。早く誰かに聞いたらよかったのですが、やってやる!と意地を張ってしまいました。
その後、無事にテンプレートを発見。スニペットをコピペし、さらに進めていくとユーザーを作成できました!(ここでは、ユーザー作成のみでアクセスキーは作成できていない段階です。)
ようやくスタートラインに立つ。
Trelloで続きを読んでいきます。
作成したリソースはCloudFormation上で削除し、アクセスキーを作成、取得できる方法を考え、作成ください。噂では、以下のリソースを用いると作成、取得できるようです。
そうして、貼られていたリンクがこちらです。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
・・・ほう。とりあえず上記のリンクを開くと、構文、プロパティ、戻り値、テンプレートの例が載っていました。ふむ、まったくわからない。
とりあえず読み進めます。
下まで読み進めるとテンプレートの例というリンクが貼ってあったので、こちらに飛んでみます。
すると、こちらのサイトにはIAMユーザーリソースの宣言、IAMアクセスキーの宣言などが書いてあるではありませんか!これは!きたんじゃないか!!!
送っていただいていたスニペットと見比べていきます。スニペットに書いてあるところ、ないところをIAMユーザーの宣言から見て、スニペットのこの部分はサイトの例のこの部分か!ふむふむ・・・とやり進めます。
しかし、何回見直してもエラーが消えぬ…多分しょうもない失敗なのだろうと思いながら社員さんにヘルプを出します。結果、”,”がないだけでした。
その後、またプロパティが無効だとエラーが。階層があっていないのが問題でした。
どちらのミスも数分後には答えがスッと送られてきました。ありがとうございます・・・
そして、ついに・・・CloudFormationからアクセスキーを取得に成功しました!!!
その後シークレットアカウントの作成にも成功し、とりあえずひと段落。
あとは、いつもハンズオンのアカウントキーを作成するクロスアカウントのCloudFormationのスタックの中のテンプレートを編集して・・・ついにきたか!と思われましたが、作成する側のアカウントからシークレットキーが見ることができませんでした。
結局その点は解決できなかったのですが、一つずつcsvファイルをダウンロードしていく必要はなり、ひと手間が減らせるようになりました。
初めましてのYAML
今回の拡張作業では、人生で初めてYAMLをつかいました。また、あまり慣れていないJSONにも触れました。
エラーが解決できないときのモヤモヤは苦しいですが、その分解決できた時の嬉しさは大きいですよね!苦手だと思っていた開発が少し好きになった一日でした。
株式会社サーバーワークスでは一緒に働く仲間を募集しています
株式会社サーバーワークスでは一緒に働く仲間を募集しています
株式会社サーバーワークスでは一緒に働く仲間を募集しています