それ積んどく?

ひたすら何かを積んでいくブログ

AWS アカウントの初期設定

概要

AWSアカウントを作ったら最初にやるべきこと ~令和元年版~ | DevelopersIO をベースにした自分用のメモ書き。
操作はコンソールで行う。

初期設定で有効化するサービス

Azure と違ってリソースグループとかないので作ったリソースを忘れがち。

  • CloudTrail
    • S3 を保存先に使用。
      • aws-cloudtrail-logs-XXX
  • GuardDuty
    • 30 日間は無料。
  • AWS Config
    • S3 を保存先に使用。
      • config-bucket-XXX
  • AWS SNS
    • AWS Config の通知用。
      • Security Hub の CIS 監査用。
  • CloudWatch
    • CloudTrail のロググループを作成。
      • aws-cloudtrail-logs-XXX
  • Security Hub
    • 30 日間は無料。

更新履歴

  • 2021/06/28 新規作成
  • 2021/07/27 「CIS AWS Foundations Benchmark v1.2.0」にかかる SNS トピックの記載を削除

ID管理 / 権限管理

(有料)CloudTrailの有効化

CloudTrail の有効化により AWS API の操作ログの確認を可能にする。
過去90日間のアクティビティを表示、検索、ダウンロードできる。

Cloudtrail 自体は基本無料。S3 への保存に対して課金される。

料金 - AWS CloudTrail | AWS

[作成されるもの]

[操作手順]

  1. サービスの CloudTrail を開く。
  2. 証跡の作成をクリック。
  3. 設定内容
    1. 証跡名:management-events
    2. 証跡ログバケット及びフォルダ: aws-cloudtrail-logs-XXX

[メモ書き]

  • デフォルト設定でマルチリージョン対応してる。
  • ログファイルの暗号化はデフォルトで無効。

[無効化の手順]

  1. サービスの CloudTrail を開く。
  2. 証跡情報より、対象の証跡を選択しゴミ箱アイコンを押して削除する。
  3. サービスの S3 を開く。
  4. 対象の S3 バケットを削除する。
    1. 空にする -> 削除するの流れ。

ルートアカウントのMFA設定

ルートアカウントログイン時に多要素認証(MFA)を有効化する。

[操作手順]

  1. 右上のマイアカウントのメニューより、マイセキュリティ資格情報をクリック。
  2. IAM のセキュリティ認証情報より、多要素認証(MFA)を選択、MFA の有効化をクリック。
  3. 仮想 MFA デバイスを選択。
  4. QR コードを表示、認証アプリ(GoogleAuthenticator等)より読み込み、コードを2つ入力する。

パスワードポリシーの設定

IAM ユーザに設定可能なパスワードのポリシーを設定する。
パスワードポリシーは AWS ルートアカウントや IAM アクセスキーには適用されない。

パスワードポリシーを設定しない場合、デフォルトポリシーが適用される。

  • パスワードの最小の長さは8文字、最大の長さは128文字です。
  • 次の文字タイプの組み合わせのうち少なくとも3つ:大文字、小文字、数字、記号 ! @ # $ % ^ & * ( ) _ + - = [ ] { } | '
  • AWSアカウント名またはメールアドレスと同一ではありません

Setting an account password policy for IAM users - AWS Identity and Access Management

[操作手順]

  1. サービスの IAM を開く。
  2. アカウント管理 - アカウント設定 をクリック。
  3. パスワードポリシーを選択するをクリック。

IAM User / IAM Groupの作成

ルートアカウントは何でも出来るので、普段は専用の IAM ユーザを使用して操作する。
今回は代替となる管理者権限を持ったユーザを作成する。

IAM グループの作成

[設定する権限]

  • AdministratorAccess
    • すべてのリソースに対する、すべての操作権限を有する。
    • 後述の請求情報へのアクセス権 Billing も含む。

[操作手順]

  1. サービスの IAM を開く。
  2. アカウント管理 - ユーザグループ をクリック。
  3. グループの作成をクリック。
  4. 設定内容
    1. ユーザグループ名:任意
    2. アクセス許可ポリシー:AdministratorAccess

IAM ユーザの作成

[操作手順]

  1. サービスの IAM を開く。
  2. アカウント管理 - ユーザー をクリック。
  3. ユーザーを追加をクリック。
  4. ユーザー詳細
    1. ユーザー名:任意
    2. アクセスの種類:
      1. ■ プログラムによるアクセス
      2. AWS マネジメントコンソールへのアクセス
        1. コンソールのパスワード
          1. 自動生成またはカスタムパスワードを設定。
        2. □ パスワードのリセットが必要
  5. アクセス許可の設定
    1. ユーザをグループに追加。
      1. 先ほど作成したグループに参加させる。
    2. アクセス権限の境界の設定
      1. アクセス権限の境界を設定せずに user を作成する。
  6. タグの追加(オプション)

MFA の有効化

権限が強いので、MFA を有効にする。

[操作手順]

  1. サービスの IAM を開く。
  2. アカウント管理 - ユーザー をクリック。
  3. 作成したユーザーをクリック。
  4. 認証情報 - MFA デバイスの割り当てより、管理をクリック。
  5. 以降、ルートアカウントの際と操作は同様。

[メモ]

  • IAM ユーザ用のコンソール URL も発行されているので控えておく。
    • https://<ID>.signin.aws.amazon.com/console

(有料)GuardDutyの有効化

セキュリティモニタリングサービス。
以下のデータソースをもとに悪意のあるアクセスなどを検知してくれる。
有効化はリージョン単位で行う。

  • AWS CloudTrail event logs
  • VPC Flow Logs
  • DNS logs

【初心者向け】AWSの脅威検知サービスAmazon GuardDutyのよく分かる解説と情報まとめ | DevelopersIO 【全員必須】GuardDutyがコスパ最強の脅威検知サービスであることを証明してみた | DevelopersIO

[料金に関して]

  • 有料サービスで、30 日間はすべての機能が無料で使える。
  • 分析されたイベント量に応じて課金される。
    • つまり、利用が多ければ多いほど料金がかかる。
  • 個人検証程度のアカウントなら無視できるレベル。

料金 - Amazon GuardDuty | AWS

[操作手順]

※対象リージョンに注意(必要に応じリージョンを移動する)。

  1. サービスの GuardDuty を開く。
  2. GuardDuty を無料で試すの、今すぐ始めるをクリック。
  3. GuardDuty の有効化をクリック。
    1. サービスのアクセス権限の説明が書いてある。
      1. ログソースに対して、GuardDuty からのアクセス許可を設定する。
    2. ロール名:AWSServiceRoleForAmazonGuardDuty

[無効化の仕方]

  1. サービスの GuardDuty を開く。
  2. 設定 - GuardDuty の停止より、停止か無効化をする。

[メモ]

  • ルートアカウントのログインなども検知するので、アラートが頻発する場合は信頼されている IP リストとして接続元を許可しておく。
    • 設定 - リスト より、信頼されている IP リストを設定。
  • 検知の際の通知は別途 CloudWatch EventとSNS の設定が必要。

全リージョンで有効化する場合

推奨は全リージョンでの有効化。

(有料)AWS Config の有効化

AWS リソースの設定変更を評価、監査、審査できる。
規定の設定になっているかのチェックや、過去の設定状況の確認が行える。

AWS Config とは - AWS Config

[作成されるもの]

[料金に関して]

  • 記録された設定項目あたりの料金と、ルールの評価数に応じて課金される。
    • AWS リージョンごとに、AWS アカウントに記録された設定項目あたり 0.003USD

  • その他 S3 バケットの料金が掛かる。

料金 - AWS Config | AWS

[設定手順]

  1. サービスの AWS Config を開く
  2. AWS Config のセットアップの、今すぐ始めるをクリック。
  3. 設定
    1. 記録するリソースタイプ
      1. ● このリージョンでサポートされているすべてのリソースを記録します。
      2. ■ グローバルリソースを含める。※デフォルト無効
        1. IAM ユーザ、グループ、ロール、およびカスタマー管理ポリシーのこと。
      3. AWS Config ロール
        1. AWS Config サービスにリンクされたロールの作成
    2. 配信方法
      1. Amazon S3 バケット
        1. バケットの作成
      2. S3 バケット
        1. config-backet-XXX
      3. Amazon SNS トピック
        1. Amazon SNS トピックへのストリーム設定の変更と通知。
  4. ルール(オプション)
    1. 設定したいルールが有る場合、選択。

(有料)Security Hubの有効化

セキュリティステータスの一元化、およびペストプラクティスに基づくセキュリティチェックが出来る。
対応する AWS サービスは下記。

【AWS Security Hubとは】初心者にもわかりやすく解説 | WafCharm(ワフチャーム) - AIによるAWS / Azure WAFのルール自動運用サービス 【はじめてのAWS】AWS Security Hub を設定しよう - サーバーワークスエンジニアブログ

[前提条件]

  • AWS Config の有効化が必要。
  • 各種サービスへのアクセス権限の設定はウィザード実行時に自動設定される。
  • 有効化はリージョンごとに行う。

[料金に関して]

  • 30 日間は無料で使用できる。
  • セキュリティチェックの実施件数に応じて従量課金される。
    • GuardDuty とセキュリティ基準チェックで $1.57 だった。
  • 設定 - 使用 から利用料金を確認できる。
    • トライアル期間に目安を確認すると良い。

[操作手順]

  1. サービスの Security Hub を開く。
  2. Security Hub の使用を開始するより、Security Hub に移動をクリック。
  3. 設定
    1. AWS Config の有効化
      1. すべてのアカウントと Security Hub を利用するすべてのリージョンで AWS Config を有効にするよう求められる。
        1. SNS トピックの設定を除いては、規定設定での有効化と案内される手順の内容は同じ。
    2. セキュリティ基礎
      1. AWS 基礎セキュリティのベストプラクティス v1.0.0 を有効化
      2. ■ CIS AWS Foundations Benchmark v1.2.0 を有効
      3. PCI DSS v3.2.1 を有効化

[無効化の仕方]

  1. サービスの Security Hub を開く。
  2. 設定 - 一般 より、AWS Security Hub の無効化を選択する。
    1. ※検出結果や設定は削除される。

請求

IAM Userによる請求情報へのアクセス許可

権限を与えても初期設定だと IAM ユーザはアクセスできないのでそれを開放する。

[操作手順]

  1. 右上のマイアカウントのメニューより、マイアカウントをクリック。
  2. IAM ユーザ/ロールによる請求情報へのアクセスより、編集をクリック。
  3. IAM アクセスのアクティブ化を選択し、更新。

支払通貨の変更

ドル立ての支払いを日本円に変更する(外貨取扱手数料が削減できるらしい)。

[操作手順]

  1. 右上のマイアカウントのメニューより、マイアカウントをクリック。
  2. お支払い通貨の設定より、編集をクリック。
  3. USD -> JPY に変更して更新。

Budget の設定

Budget を使用して予算を設定する。
予算を設定すると利用料金の超過を検知できる。

[操作手順]

  1. 右上のマイアカウントのメニューより、マイ請求ダッシュボードをクリック。
  2. 左側の Budget を選択し、予算を作成するをクリック。
  3. 予算タイプを選択
    1. ● コスト予算(推奨)
  4. 予算を設定
    1. 算額を設定
      1. 間隔:月別
    2. 予算有効日:● 定期予算
    3. 開始月:任意
    4. 予算の作成方法を選択:● 固定
    5. 算額:予算を設定($)
    6. 詳細:予算に対する説明
  5. アラートの設定
    1. アラートのしきい値を設定
      1. しきい値:任意の数値 予算額の%
    2. 通知設定
      1. E メールの受信者:任意のメールアドレス
        1. その他、SNS や Chatbot Alerts が選べる。

Cost Explorerの有効化

サービスごとの利用状況が確認できる。Budget で予算を作成すると有効化される。
内容表示には有効化から 24 時間程度の時間が必要。

[操作手順]

  1. 右上のマイアカウントのメニューより、マイ請求ダッシュボードをクリック。
  2. 左側の Cost Explorer を選択し、Cost Explorerを起動をクリック。
  3. 初回は 24 時間後に再アクセスするよう案内が出ておわり。

Cost Usage Report の出力

AWS のコストと使用状況レポートの詳細な情報に基づいて、AWS のコストとコストに関連する製品別の利用状況や利用額をより正確に分析して把握できます。 レポートの明細項目と配信方法はカスタマイズできます。また、レポートダッシュボードから管理できます。

Billing Management Console

下記を含んだレポートが作成できる。

コスト配分タグの設定

AWS 試験でよく出題されるリソースに設定したタグを用いてコスト分析するやつ。

コスト配分タグの使用 - AWS Billing and Cost Management

その他

代替連絡先の設定

個人アカウントなので今回は未設定。

Trusted Advisorの通知設定

デフォルトで有効。
以下の 5 つの観点でベストプラクティス準拠をチェックしてくれる。

  • コスト最適化
  • パフォーマンス
  • セキュリティ
  • フォールトトレランス
  • サービスの制限

サポートプランに応じて使用できる内容が異なる。
特に通知は来ないので、定期的に見たい場合は通知設定より、通知先(E-Mail)を設定する。

Personal Health Dashboard によるイベント監視

自身が使用しているサービスに特化した確認できる。
AWS Service Health DashboardAWS 全体のサービス確認。

Cloud Watch Events でルールを設定して通知設定が可能。

Personal Health Dashboard

有効なリージョンの確認

日本国内で使う分には特に有効化は不要。
逆に使用可能リージョンを絞るのは要検討?
右上のマイアカウントから有効なリージョンが確認出来る。

【追加】準拠法/管轄裁判所の変更

法務部があるような大規模なお客さんとかだと要確認?

日本準拠法に関する AWS カスタマーアグリーメント変更契約とは、現在お客様がご利用中の AWS アカウントに適用されている、 AWS カスタマーアグリーメントの準拠法および管轄裁判所を変更する契約を指します。この契約を有効にすることで、 AWS カスタマーアグリーメントの準拠法を日本法に変更し、更に、同契約に関するあらゆる紛争に関する第一審裁判所を東京地方裁判所に変更することができます。

日本準拠法に関する AWS カスタマーアグリーメントの変更: AWS Artifact | Amazon Web Services ブログ

CloudShell の有効化

Azure と違って初期設定不要。1G のストレージが無料で使える。

AWS CloudShellとは何ですか? -AWS CloudShell

参考サイト