AWSのアカウント作成時、最初に行うべき作業をDay1対応と言います。セキュリティやユーザ、請求の設定を行う作業となり、いろいろなサイトでも公開されています。
この記事では前回記事から引き続き、アクセスログ収集と請求の設定を解説します。
- セキュリティ設定
- 多要素認証(MFA)の有効化
- パスワードポリシーの設定 ※任意
- 管理者ユーザの作成(IAM)
- 管理者ユーザーグループの作成
- アクセスログ収集設定 ← この記事で解説
- 操作ログの収集設定(AWS CloudTrail) ※任意
- 請求設定 ← この記事で解説
- 管理者ユーザも請求情報を参照可能とする ※任意
- 請求アラートの設定 ※任意
- Day1対応:②アクセスログ収集設定
- Day1対応:③請求設定
操作ログの収集設定(AWS CloudTrail) ※任意
CloudTrailを使ってAWSアカウント上での操作をログに保存します。
なお、何もしなくとも90日間ログ保存されています。それで問題なければこの作業は不要です。独自の操作ログ取得を設定したい場合に作業してください。
CloudTrailとは
AWSアカウント上での操作およびAPIコールのログを取得、保存するサービスです。取得したログはS3バケットに保存されます。
※CloudTrail自体は無料サービスですが、S3の料金がかかります。(無料期間中だとS3も5GBまで無料です。CloudTrailだけで超えることはあまりないと思います)
設定手順
リージョンを東京にして作業してください。
また、この手順だとデフォルトのログ取得と大して差異がないので、参考程度で見てください。実際操作する場合は必要な都度必要なイベントを追加する、S3側の保持期間を修正するなどして適切なログ取得を行ってください。
- CloudTrailダッシュボードより、証跡の作成 をクリックします。
- CloudTrailの全体的な詳細を設定し次へ。ここでは以下のように設定します。証跡名はテキトーです。
ストレージの場所
S3バケットは専用の物を新しく作成します。既存の物があればそれでもOKです。ログファイルのSSE-KMS暗号化
暗号化キーを作ってログを暗号化するか。
キーの管理等に料金がかかるため、筆者はしません。ログファイルの検証
ログの改竄を検証しながらログ保存するSMS通知の配信
ログ取得した際に通知が飛ぶ
CloudWatch Logsオプション
ログをCloudWatchに送り指定したトリガー成立時に通知できるようにする。
費用が掛かります。 - ログイベントの選択を設定し次へ。
イベント
ログ取得するイベントの種類を設定します。
データイベントとInsightsイベントは料金が発生しますので注意です。ここで選択したイベント種類の設定が画面後半に自動で付与されます。
選択した管理イベントの設定をします。
どの操作のログを取るかを選択します。とりあえず上記設定で全部取ります。 - 証跡の作成 ボタンをクリックしログ収集を開始します。
ログ取得を止めたい場合
CloudTrailダッシュボードの証跡より、対象の証跡を選択して削除 or ログ記録の停止 をクリックすると止まります。
※S3バケットは別途削除が必要です。忘れず削除してください。
請求設定
管理者ユーザも請求情報にアクセス可能とする ※任意
請求情報へのアクセスはデフォルトではルートユーザしかできませんが、設定によりIAMユーザもアクセスできるようにすることができます。
ルートアカウントのみ請求情報を見たい場合は作業不要です。
(基本的に管理者グループに割り当てられるユーザは見れてよいと思います。なお、各IAMユーザのアクセス可否は別途IAMポリシーの付与により制御します)
設定方法
- AWS管理コンソール画面右上のアカウント名をクリックし、ドロップダウンメニューより アカウント を選択します。
- 『IAMユーザー/ロールによる請求情報へのアクセス』の 編集 をクリックします。
- IAMアクセスのアクティブ化 をONにし、 更新をクリックします。
請求情報にアクセスするためにはIAMユーザ側にBillingの許可権限が必要です。管理者権限はBillingへのフルアクセス持っています。
請求アラートの設定 ※任意
AWSでは無料枠を超える場合や請求金額が一定額を超過したタイミングでメール通知することが来ます。ここではその設定方法を解説します。
(1)無料枠超過アラートの設定
無料枠の上限に近づいている or 超過 した場合にメール通知してくれる設定です。
- AWS管理コンソール画面右上のアカウント名をクリックし、ドロップダウンメニューより 請求ダッシュボード を選択します。
- 請求設定 を選択し、詳細設定の無料利用枠の使用アラートを受信する をONにして受信するメールアドレスを入力します。
これで無料枠の超過前に通知を受け取ることができるようになります。
(2)CloudWatchによる請求アラートの設定
CloudWatchを使用することで料金が一定額を超えた場合に通知を受け取ることができるようになります。
CloudWatchとは
AWSの様々なリソースを監視することができる機能。今回は料金を対象として監視するが、EC2のCPU使用率なども可能。自由に条件を設定でき、条件成立時に発生するアラートをキーに通知やオートスケーリングなどをさせるトリガーとして使用できる。
- 先ほどの『請求の詳細設定』にて 請求アラートを受け取る をONにします。
CloudWatchによる請求アラートの設定が有効となります。ここからはリージョンをバージニア北部にして行ってください。(バージニア北部以外ではCloudWatchに請求が表示されません。AWSのバージョンによる。)
- CloudWatchのダッシュボードより、請求 ⇒ アラームの作成 をクリックします。
- メトリクス(監視データ)を指定します。
メトリクスの選択 ⇒ 請求 ⇒ 概算合計請求額 ⇒ USD (USDしかない) - アラームのトリガー条件を指定します。
とりあえずここでは500円を超えたらトリガーするようにします。 - 通知先として新しいトピック(メールアドレス)を登録します。
今回の記事ではアカウント作成後というシチュエーションなので、既存のトピックはないものとし、新しく作成します。 - 名前と説明を入力して次へ。次の画面でアラーム作成ボタンをクリックしてアラーム作成は完了です。
- 通知先メールアドレスに届く認証メールより有効化します。
メール文中のConfirm Subscription をクリックします。
これで請求アラートを設定することができました。
最後にリージョンを東京に戻すのを忘れずに!
まとめ
今回でDay1のログ収集と請求の設定について解説しました。
その他、設定したほうが良い物などありましたらご指摘ただければ幸いです。