話題の記事

入社1年で変化したAWSサービスの使い方

AWS初心者の方向けのTips集(になればいいな)
2020.12.08

こんにちは。コンサル部のYui(@MayForBlue)です。

本エントリはクラメソビギナーズの圧倒的成長 Advent Calendar 2020の8日目の記事です。

私は2020年1月にクラスメソッド AWS事業本部コンサルティング部にジョインしました。
AWS実務未経験で入社し、1年間AWS環境の構築をメインに業務を行い色々なことを学んだ中で、AWSサービスの使い方や関わり方が変化したなと思う部分がいくつかあるので、ご紹介したいと思います。

AWS初心者の方向けのTips集のような記事になる想定です。(想定です。)

変化したこと

環境構築は基本的にCloudFormationで行う

入社前まではCloudFormationは「勉強中」という感じでゴリゴリ使っているというわけではなかったですが、入社してからはCloudFormationを使うことがかなり多くなりました。
CloudFormationを使う理由、メリットは人によって様々だと思うのですが、個人的には以下です。

  • 同じ環境を何回でも複製できる
  • オペミスの可能性が圧倒的に減らせる

特にお客様環境の構築をさせていただく場合、自分の検証環境で確認済みのテンプレートファイルで構築ができること、構築時のオペミスを減らせることはとても大きなメリットです。

逆にCloudFormationのデメリットとしては、テンプレート(記述ファイル)の用意に時間がかかることです。

なので、検証用にこういう設定のインスタンスが1台だけ欲しい!みたいなときはマネジメントコンソールから手動で作ることもあります。

なにはともあれ、Infrastructure as Codeはいいぞ!という気持ちです。
CloudFormationに入門したい!という方は下記のブログがおすすめです。

私もこちらのブログからCloudFormationを始めました。

複数のAWSアカウントの切り替えにスイッチロールを使う

入社前にはスイッチロールという方法を知らなかったので、複数のAWS環境の切り替えにはそれぞれのIAMユーザーでログイン/ログアウトを行うものだと思っていました。
ですが、今は基本的にスイッチロールで複数アカウントの切り替えを行っており、スイッチロールめっちゃ便利だなーと思っています。

スイッチロールとは、一つのAWSアカウントから別のAWSアカウントへアカウントの切り替えを行う際に、IAMユーザーでログイン/ログアウトを行うのではなく、IAMロールを引き受けることでアカウントを切り替えるという方法です。
最初はなかなかわかりづらいと思うのですが、下記の図をご覧いただくと理解しやすいかと思います。

引用元:AWSにおけるマルチアカウント管理の 手法とベストプラクティス

一つのアカウントのIAMユーザーとしてログインしておき、他のアカウントへの切り替えはそのIAMユーザーが切り替え先のIAMロールを引き受けることで実現しています。

上記資料の動画も公開されているので、興味のある方はこちらもご覧ください。

また、マネジメントコンソールでのスイッチロールを快適にするために下記のブログで紹介されている拡張機能を入れています。

過去にスイッチロールについてのブログを書いているので、興味のある方はこちらもご覧いただければと思います。

AWS CLI でもスイッチロールを使う設定

AWS CLI でもスイッチロールを行うのですが、簡単に行うための設定をしています。
手順については下記ブログをご参照ください。

事前に設定ファイルにスイッチロールするための情報を記載しておき、実際にスイッチロールを行う際には環境変数を設定すれば簡単にスイッチロールができるというものです。
こちらを設定しておくで、かなり楽に AWS CLI でのスイッチロールを行うことができます。

AWS CLI をよく使うようになった

入社前は AWS の利用はほぼ全てマネジメントコンソール上で、AWS CLI は使えるように設定したかも...くらいだったので、個人的には大きな変化だなと思います。
入社してから AWS をガンガン使うようになると、AWS CLI じゃないとできないことに当たることもよくあります。
また、行った操作やコマンド履歴を保存、確認しやすいのも AWS CLI を使う大きなメリットだと思います。

AWS CLI は下記ドキュメントがコマンドリファレンスになっています。
AWS CLI Command Reference
ここから、サービス別、用途別にコマンド、オプションを探すことができます。
(実際にはサービス別のユーザーガイドからコマンドを探すことの方が多いとは思いますが)

コマンドリファレンスを見ながら、実際にどうやって使うのかを簡単にご紹介したいと思います。

AWS CLI のコマンドの実行は、下記ドキュメントに記載の通り、awsの後にコマンド、サブコマンドを指定することで実行します。

AWS CLI Command Reference

例えば、AWS CLI のコマンドの実行を行うIAMユーザー、IAMロールを確認するのに使うaws sts get-caller-identityというコマンドの場合、ドキュメントでは以下のように表示されています。

get-caller-identity

コマンドの詳細ページを確認することで、どのようにコマンドを使うのかを知ることができます。

まとめ

ここに書いた以外にも変化はたくさんあると思うのですが、AWSを使う上での変化に絞ってパッと思いついたものを挙げてみました。

この1年クラスメソッドで働いて改めて、技術が好きなエンジニアが働くには最高の環境だなと感じています。
来年の目標はAWS資格制覇ということをこっそり書いておいて、この記事を締めたいと思います。

クラメソビギナーズの圧倒的成長 Advent Calendar 2020、明日9日目は suto さんです。
お楽しみに!