2021/5/2:更新
AWSアカウントを新規作成したのはいいが、どこから手を付けていいのか・・・と途方に暮れる人は少なくないはずだ。(私は途方に暮れたw)
「AWS 初期設定」などで検索すると色々でてくるので、その中から気になったもの(必要そうなもの)をピックアップして、内容や必要性について検討する。
設定項目
- MFA
- アクセスキー
- 請求情報の参照権限
- コスト管理
- IAM
- パスワードポリシー
- リージョン
- CloudTrail
MFA
MFAとは、Multi-Factor Authentication(多要素認証)の略。
AWSアカウントは、メールアドレスとパスワードがあればログインできるため、強化しておきたいところ。
AWSマネジメントコンソール > すべてのサービス > セキュリティ、ID、およびコンプライアンス > IAM
IAMのダッシュボードが開く
MFAの有効化をせよとのアラートが出るので、従う。(「MFAを有効」のリンクをクリック)
「MFAの有効化」ボタンをクリック
仮想MFAデバイスにチェック(デフォルト)して、続行
この後に表示されるQRコードを、スマホにインストールしたGoogle Authenticatorなどで読み取って、スマホのGoogle Authenticatorアプリに表示される6桁のコードを連続して2つ入力する。(1つあたり1分くらい表示されるので、2つ目を入力したら、「仮想MFAの有効化」ボタンをクリック)
設定完了。
MFAを試してみる。
一旦AWSコンソールをサインアウトし、再度サインインすると、メールアドレス・パスワードを聞かれた後に、MFAコードを入力して多要素認証する画面になる。
MFAコードのところには、先ほどQRコードを読み込んだGoogle Authenticatorに表示されている6桁の数字を入力して、送信するとログインできるようになる。
スマホ移行の際に、Google Authenticatorが使えなくなったら、ログインできなくなるので注意が必要だ。
(色んな意味で、もうスマホがないと生きていけない)
余談だが、似たような認証に多段階認証(MSA:Muti-Step Authentication)がある。
認証の3要素(知識・所持・存在)というのがあって、要素の種類は問わず2回以上認証するのが多段階認証。2種類以上の要素を使って認証するのが、多要素認証だ。
アクセスキー
アクセスキーはユーザーアクセス認証に使われる情報。CLIやAPIからAWSのリソースにアクセスする際に使用する。
ルートユーザーでは、アクセスキーを使用しないことがベストプラクティスとのこと。
アカウント作成直後は、アクセスキーがないので、特に設定する必要はないが、アクセスキーの場所だけ確認しておく。(万が一、誰かが勝手に作成していたら、削除を検討する。)
画面右上のアカウント名の▼から、「マイセキュリティ資格情報」を選択
初期状態では、ルートユーザーのアクセスキーは作成されていない。
請求情報の参照権限
デフォルトでは請求情報の閲覧権限はルートユーザーのみらしい。
後でIAMユーザーを作成し、運用はそちらを使用していくので、請求情報はIAMユーザーでも参照できるように設定しておく。
画面右上のアカウント名の▼から、「マイアカウント」を選択
IAMユーザーの請求情報へのアクセスが無効になっているので、「編集」をクリック
「IAMアクセスのアクティブ化」にチェックを入れて、「更新」
有効になった。
コスト管理
アラート設定
画面右上のアカウント名の▼から「マイ請求ダッシュボード」を選択
メールでアラートを受け取れるように設定して、設定の保存
CloudWatch
金額がある一定の閾値を超えたらアラートできるようにする。
すべてのサービス > 管理とガバナンス > CloudWatch
左メニューから、アラーム > 請求を選択し、「アラームの作成」をクリック
メトリクスと条件の設定(とりあえず1万円を超えたら)
メールアドレスを設定して次へ
※AWS Notification - Subscription Confirmationというタイトルのメールが届くので、「Confirm subscription」をクリックする
名前を追加して次へ
内容を確認して、アラームを作成
アラームができた。
Cost Explorer
画面右上のアカウント名の▼から「マイアカウント」を選択
左メニューから「Cost Explorer」を選択し、「Cont Explorerを起動」をクリック
明日には見られるようになっているハズ。
見方がさっぱりわからないので、あとで時間があるときに、改めて確認しよう。
通貨設定
通貨はデフォルトでUSDになっているので、JPYにしておく。
画面右上のアカウント名の▼から「マイアカウント」を選択
そのままスクロールして、「お支払い通貨の設定」の「編集」でJPYを選択
IAM
ルートユーザーは全ての権限を持っているので、開発に際してAWSにルートユーザーでアクセスすることは望ましくない。IAMというサービスを使って、限られた人に限られた権限を設定し、管理を行う。
IAMは、Identity and Access Managementの略。IAMはAWSにおける認証機能で、各種サービスへのアクセス管理をする機能を持つ。
IAMユーザーとIAMグループ
IAMユーザーとはAWSを利用するために各利用者に与えられる認証情報で、IAMグループは、同じ権限を持ったIAMユーザーをまとめたもの。
IAMグループは、AWSへアクセスするための認証情報は保持せず、認証はIAMユーザーが行う。
1人で利用する分には考慮する必要がないが、多人数でAWSを利用する場合には、IAMユーザー個々に権限設定をするのは大変なので、IAMグループで権限を管理する。
IAMユーザーはAWSにアクセスする人ごとに作成するのが望ましいので、IAMユーザー名はその人の名前などにしておくとわかりやすい。
IAMグループの作成
AWSマネジメントコンソール > すべてのサービス > セキュリティ、ID、およびコンプライアンス > IAM
左メニューから「グループ」を選択し、「新しいグループの作成」をクリック
グループ名を設定し、「次のステップ」
権限設定(ここでは管理者権限を選択)し、「次のステップ」
設定内容を確認し、「グループの作成」をクリック
管理者権限を持つグループadminができた。
IAMユーザーの作成
メニューからユーザーを選択して、「ユーザーを追加」をクリック
ユーザー名の入力
アクセスの種類:AWSマネジメントコンソールへのアクセス
コンソールのパスワード:カスタムパスワード
※個人で使うので、ここで設定したパスワードをそのまま使用する予定
IAMユーザーに紐づけるグループを選択
タグは設定せずに次へ
設定内容を確認して、「ユーザーの作成」をクリック
ユーザーができた。
CSVファイルのダウンロードをしておく。
IAMユーザーでサインインしてみる。
先ほどダウンロードしたCSVファイルに記載されているURLにアクセスし、必要事項を入力してサインイン。
IAMユーザーでサインインできた。
※IAMにもMFAを適用しておくことを忘れずに。
パスワードポリシー
個人で使う分には、デフォルトでいいかなと思っているが、今後大人数で使う場合などに設定が必要になってくると思うので、とりあえず設定の場所だけチェックしておく。
AWSマネジメントコンソール > すべてのサービス > セキュリティ、ID、およびコンプライアンス > IAM
左メニューの「アカウント設定」の「パスワードポリシーを変更する」をクリック
ここで色々設定できる(今回はデフォルトのままで変更しない)
リージョンの設定
リージョンは、AWSがサービスを提供している国と地域。データセンターのこと。
東京にしておく。(東京では提供されていないサービスを使うときは、その時に変更すればOK)
CloudTrail
AWS CloudTrailとは、AWSに関する操作ログを自動的に取得するサービス。
リソースの削除やデータの移動などの履歴を、いつ・誰が・どのような操作をしたかというログを残すことができる機能。
CloudTrailでは、管理イベントとデータイベントのログが取得できる。
管理イベントのログはデフォルトでONになっている。
データイベントの取得や、過去90日以上の管理イベントの取得はデフォルトでOFF。
ある一定量を超えると、無料枠を超えて課金されると先人の記事に書いてあったので、とりあえずデフォルトでONの管理イベントのログのみの利用とし、それ以外は設定しないことにする。