A little bit of everything

情報系大学院生の備忘録

AWSアカウントを取得したら最初にやること(2018年9月時点最新版)

AWSアカウントを取得したら最初にやること&なぜそれをやる必要があるのか?を説明します。 結論を述べると、以下のことを実施します。


※画像を敢えて載せずに説明します。AWSはアップデートが高頻度で行われるため、AWSマネジメントコンソールの画像を貼って説明しても、インタフェースがすぐに変わってしまい使い物にならなくなるためです。

[0] AWSのアカウントの取得

AWSをアカウントをアカウントの取得自体はAmazonが公開している説明書きがあるので、以下を参考にしてください。
aws.amazon.com

[1] AWSアカウントの多要素認証(MFA)を有効にする

そもそも「AWSアカウント」とは、AWSを使用するにあたってのルートユーザのことを指します。

このルートユーザ(AWSアカウント)が乗っ取られてしまうとTHE ENDです。あなたのAWSアカウントは、あなたのクレジットカード情報と紐付いています。したがって、AWSアカウントが乗っ取られると、AWSを好き勝手に使われてしまう挙げ句、その料金の請求があなたに来ることになります。

この最悪の自体を避けるために、まずはAWSアカウントにログインする際のセキュリティを強固にする意味で、多要素認証(MFA)を有効にします。

AmazonもMFAを有効にすることを推奨しています。
※ちなみにAmazonが提供しているAWSトレーニングの授業でも、AWSアカウントは多要素認証を有効化して、そのトークンを金庫に入れて保管するのがベストです」と教わりました。AWSアカウントはそのくらい厳重に守る必要があるのです。笑

手順

  1. スマートフォンGoogle Authenticatorをインストールする。
  2. AWSマネジメントコンソールから、「サービス」→「IAM」と移動
  3. 左側ペインから「ダッシュボード」→「ルートアカウントのMFAを有効化」→「MFAの管理」
  4. 「仮想MFAデバイス」を選択して進む
  5. QRコードが表示されるので、Google Authenticatorを起動してQRコードを読み込む
  6. すると、30秒で切り替わる6桁の数字がスマートフォンに表示される。この数字を2回分、AWSマネジメントコンソールの入力欄に打ち込む

[2] ルートユーザの代わりに使用するIAMユーザを作成する

AWSアカウントは基本的に、今後は使用しません。新たにIAMユーザを作成し、それを管理者用のユーザとして使うのがベストプラクティスです。これは、たとえ自分1人でAWSを使う場合でもです。
Amazonもこの方法を推奨しています。 IAM Best Practices - AWS Identity and Access Management

この理由は主に以下の2つがあります。

  1. AWSに限らずセキュリティ確保の定石として、ROOT権限を持つアカウントを普段使いすることは好ましくないため。(今回の場合、ROOTアカウントはもちろんAWSアカウントのことです)
  2. 仮に普段使っているユーザ(今回の場合、新たに作成するIAMユーザ)が乗っ取られた場合でも、AWSアカウントからIAMユーザの削除や権限剥奪が可能なため。


手順

Amazonの公式ページ参照。 docs.aws.amazon.com


上記記事にも書いてあることですが、IAMユーザを作成したら、必ずグループに所属させましょう。AWSでは、ユーザに権限を付与する際は、

(1) グループを作成し、そのグループに対して権限を割り当てる
(2) ユーザをそのグループに所属させることで、間接的にユーザに権限を付与する

という方法がベストプラクティスとされています。

[3] IAMユーザの多要素認証(MFA)を有効にする

AWSアカウントのMFAを有効化したのと同様、新たに作成したIAMユーザにもMFAを設定します。IAMユーザも、AWSアカウント同様、MFAを導入することでよりセキュアになります。

手順

AWSアカウントにMFAを設定したときとは、微妙に手順が違います。

  1. AWSマネジメントコンソールから、「サービス」→「IAM」と移動
  2. 左側の「ユーザー」タブから、新規作成したユーザ名をクリック
  3. 「認証情報」タブをクリック →「MFAデバイスの割り当て」
  4. 「仮想MFAデバイス」を選択して進む
  5. QRコードが表示されるので、Google Authenticatorを起動してQRコードを読み込む
  6. すると、30秒で切り替わる6桁の数字がスマートフォンに表示される。この数字を2回分、AWSマネジメントコンソールの入力欄に打ち込む

[4] IAMユーザのパスワードポリシーを設定する

パスワードポリシーとは、IAMユーザに設定するパスワードのルールのことです。つまり、

  • パスワードは必ず6文字以上にすること
  • 大文字と小文字を両方含むこと
  • 6ヶ月単位でパスワードを変更すること
  • etc.

のような、パスワードに求める要件をパスワードポリシーと呼んでいます。個人的には必須ではない気がしていますが、実施したほうがセキュリティ上はより望ましいです。

手順

[5] IAMユーザへの請求情報のアクセス許可を行う

AWSの請求情報は、デフォルトではAWSアカウントでしか見ることができません。AWSアカウントは基本的に使用しない方が良いので、IAMユーザ側で請求情報を見られるようにしたほうが便利です。したがってIAMユーザに請求情報へアクセス許可を行います。

手順

  1. AWSアカウントでログインする
  2. ナビゲーションバーのアカウント名をクリックし、「アカウント」をクリック
  3. 「IAM ユーザー/ロールによる請求情報へのアクセス」と書かれたところの右側にある「編集」をクリック
  4. 「IAMアクセスのアクティブ化」にチェックを入れ、「更新」をクリック

※上記の手順は、詳しくはこちらにも書かれています。
docs.aws.amazon.com

[6] 請求アラートを有効にする

AWSは従量課金型のサービスです。したがって、自分が今いくらのお金を使っているのかを知り、しきい値を超えた場合は自動で警告を出してくれるようにすることが有効です。

Amazon CloudWatch を使用すると、サービスの使用料が、定義済みのしきい値を超えた場合にEメールで通知してくれる、請求アラートを作成できます。

手順

請求アラートを有効化する → CloudWatchを使用して請求アラートを作成する、という手順を踏みます。順を追って説明します。

請求アラート有効化する手順

  1. AWSアカウントでログインする
  2. ナビゲーションバーのアカウント名をクリックし、「アカウント」をクリック
  3. 左側のペインから「設定」をクリック
  4. 「無料利用枠の使用のアラートの受信」にチェックを入れ、アラートを受け取るメールアドレスを記入する。同様に「請求アラートを受け取る」にチェックを入れて設定を保存する

請求アラートを作成する手順

  1. リージョンを「米国東部(バージニア北部)」に変更する。 AWSでは世界中の様々なリージョンを利用することができますが、それら全リージョンの請求メトリクスが米国東部(バージニア北部)に保存されています。したがって、この米国東部(バージニア北部)において、あなたが使用した全リージョン分の全使用料を見ることができます。
  2. 「サービス」→「CloudWatch」と移動する
  3. 左側ペインから「請求」を選択し、「アラームの作成」をクリック
  4. アラートを出すしきい値の金額と、アラート通知先のメールアドレスを入力する。
  5. 設定したメールアドレスに「Subscription Confirmation」のメールが届くので、メールに書かれているリンクを踏む。
  6. CloudWatchのページに戻り、1分ほど経つと、作成したアラームが一覧に表示される。状態が「OK」となってれば完了。

おわりに

AWSアカウント取得後にやるべきことをまとめました。
AWSはアップデートされるスピードが非常に速く、操作手順を細かくまとめても、数日後にはAWSマネジメントコンソールのUIが変わってしまい、手順がそのままでは使えなくなってしまったりします。したがって今回は、敢えて画像を貼らずに説明しました。

Amazonは「AWSをこうやって使ったほうのが望ましいですよ」というベストプラクティスをまとめています。こちらも参考にしてみてください。

docs.aws.amazon.com