はじめに
AWS学習等の目的で個人アカウントを開設した際、設定しておいた方が良いことをまとめました。
AWSを初めて利用される方でもわかる内容…のはずです。
IAM作成
AWSのIAMベストプラクティス記載の通り、
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html
- AWSの各種サービスを利用する際、極力ルートユーザーを利用せず個々にIAMユーザーを作成することよう推奨されています。
- プログラムからAWSサービスを利用する際は、極力IAMのアクセスキーを使わずにIAMロールを利用した方が良いです。特にルートユーザーのアクセスキーを作成することは控えましょう。
https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-access-keys-best-practices.html - IAMロールはざっくり言うと、IAMユーザー単位でアクセス権限を付与するものではなく、サービス間のアクセス権限を付与(例えば、EC2からS3にアクセスする 等)するものです。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles.html
ルートアカウントのMFA設定
デフォルトではメールアドレスとパスワードさえあれば、ルートアカウントにログインできてしまうので、多要素認証を設定しておくことをオススメします。用意するものはスマホとアプリ「Google Authenticator」です。
- 専用デバイスは別途購入することができますが、個人スマホで十分かと思います。
https://aws.amazon.com/jp/iam/details/mfa/ - 詳細手順については多数の記事が投稿されているので、そちらを参照ください。
- 認証デバイスが故障してもAWSでサポートしてくれます。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_lost-or-broken.html - IAMユーザー単位でMFAを設定することができます。こちらはお好みで。
IAMユーザー/ロールによる請求情報へのアクセス
デフォルト設定ではIAMユーザーは請求情報(当月のAWS利用料金とか)を参照できないので、以下の設定で参照できるようにしておきます。
- AWSマネジメントコンソールにルートユーザーでログイン
- コンソール右上のユーザー情報のリストから「マイアカウント」を選択
- 「IAMユーザー/ロールによる請求情報へのアクセス」の編集リンクを押下し、有効にする。
以上を実施すると、IAMユーザーでもコンソール右上のユーザー情報のリストの「マイ請求ダッシュボード」から利用料金が確認することができます。
料金アラート
各種サービスを停止しておけば料金は掛からないと思いがちですが、サービスによってはいくつか落とし穴があります。例えば、
- EIP(固定のグローバルIPアドレス)
- RDS(データベース)
知らないうちに課金されるのは心もとないので、指定した金額に到達した際にメールするよう設定します。
- コンソール右上のユーザー情報のリストから「マイ請求ダッシュボード」を選択する。
- Billingの設定で「請求アラートを受け取る」をチェックする。一度チェックすると外せません
- 説明文中のリンク「請求アラートを管理する」からCloudWatchに行き、左メニューの「アラーム」の「請求」を選択し、アラームを追加する(しきい値の金額やアラームメール送信先を入力)。
おわりに
以上を設定しておけば
- 第三者による不正ログイン
- 想定外の利用料金の請求
の2点が発生するリスクを軽減することができます。
AWS個人利用において、利用料金が気になってアカウント開設を思いとどまってしまう(少なくとも私がそうでした)ことがあるかと思いますので、以上の設定で少しでも不安を取り除くことができれば幸いです。