はじめに
n番煎じの記事であることは重々承知の上ですが、今さらながらAWSアカウントを新規作成するタイミングがあったので、備忘もかねて書きます。
尚、本記事で対象にしているのは個人開発用途で利用される方向けなので、実務で商用利用される方はAWS公式ガイドやベストプラクティスなどを参考にして安全で厳密な管理・設定をしてください。
目次
- 1. 請求アラートの設定
- 2. CloudWatch請求アラームの設定
- 3. AWS Budgetsの設定
- 4. コスト異常検出の設定
- 5. IAMユーザーの作成
- 6. IAMユーザーのアクセスキーの作成
- まとめ
1.請求アラートの設定
まずは一番はじめの安全対策として「意図しない課金」を防ぐための設定をします。
- マネジメントコンソールの「請求とコスト管理」のページを開く
- 左メニューの「請求設定」を選択
- アラート設定の「編集」を押下する
- 「AWS無料利用枠アラートを受信する」と「CloudWatch請求アラートを受信する」の両方にチェックを入れて「更新」を押下する
「CloudWatch請求アラートを受信する」ですが、一度有効にすると今後無効に変更することはできないそうです。
なんでなんでしょうね?
2.CloudWatch請求アラームの設定
次は予想請求額を監視するための設定をします。
- マネジメントコンソールの「CloudWatch」のページを開く
- リージョンを確認し、「米国(バージニア北部) - us-east-1」になっていることを確認する
- 左メニューの「アラーム」を選択する
- 「アラーム」の作成を押下する
- データソースは「メトリクス」を選択し、タイプは「クラシック」を選択し、メトリクスは「メトリクスの選択」を押下する
- メトリクスの選択画面で「Billing」→「概算合計請求額」を選択する
- 「USD」の行にチェックを入れる
- 条件設定の画面で、しきい値の種類は「静的」を選択し、EstimatedChargesが次の時は「より大きい」を選択し、しきい値は「1USD」と入力して「次へ」を押下する
- アクションの設定画面で、アラーム状態トリガーは「アラーム状態」を選択し、新しいSNSトピックを作成し、通知を受け取るEメールアドレスの入力をして作成する
- するとEメールアドレス宛に早速AWSからメールが届くので「Confirm Subscription」を押下して認証する
3.AWS Budgetsの設定
正直、個人開発レベルであればここまでしなくてもいいかもしれませんが、とはいえ月々の予算はこれぐらいに抑えておきたいなどの懸念はあると思うのと、実務でAWSを触るときにこの観点を知ってるかどうかは大きな差だと思うので一応やっておきます。
- マネジメントコンソールの「請求とコスト管理」のページを開く
- 左メニューの「予算」を選択する
- AWS Budgetsのページにいくので「予算の作成」を押下する
- 予算の設定は「カスタマイズ」を選択し、予算タイプは「コスト予算」を選択し、「次へ」を押下する
- 予算設定の画面で、予算名・期間・予算額を入力する。ちなみに私は「月・7$」で入力しました
- アラート設定の画面で、「アラートのしきい値を追加」を押下する
- 「しきい値 80%」と「しきい値 100%」の2つのアラートを設定して「次へ」を押下する
- 内容を確認し、問題なければ「予算を作成」を押下する
4.コスト異常検出の設定
これは文字通り「いつもの正常な状態ではない、異常なお金の使われ方」を検出してくれる機能です。よくQiitaでも「知らないうちにAWSから高額請求が来てた...!!」なんて記事をたまに見かけますが、そうならないためにもやっておきます。
- マネジメントコンソールの「請求とコスト管理」のページを開く
- 左メニューの「コスト異常検出」を選択する
- 「コストモニター」タブを開き、「モニターを作成」を押下する
- モニター名を入力し、モニタリング方式は「AWSによる管理」を選択し、モニターディメンションは「連結アカウント」を選択し、「次へ」を押下する
- アラートサブスクリプションの作成をする。必要を事項を入力するが、ポイントとしてはアラート頻度は「日次の要約」を選択し、しきい値は「1$」で入力し、「モニターを作成」を押下する
5.IAMユーザーの作成
これは当たり前すぎるので特筆することもありません。ルートユーザーはあくまでAWSアカウントを管理するためのもので、実際の普段の開発などはすべてIAMユーザーでやるべきなのでIAMユーザーの作成はしましょう。
- マネジメントコンソールの「IAM」のページを開く
- 左メニューの「IAMユーザー」を選択する
- 「ユーザーの作成」を押下する
- ユーザー名など必要事項を入力して「次へ」を押下する
- 許可のオプションは「ユーザーをグループに追加」を選択し、「グループを作成」を押下する
- 今回作成するIAMユーザーにはとりあえず管理者権限を付与するため「AdministratorAccess」の許可ポリシーを選択して「ユーザーグループを作成」を押下する
- そのまま画面の指示に従って進めて、問題なければ「ユーザーの作成」を押下する
- 作成したIAMユーザーのサインイン情報が表示されるので、メモを残すか、CSVファイルをダウンロードして保存しておく
- IAMユーザー作成後、そのIAMユーザーを選択し、多要素認証(MFA)の「MFAデバイスの割り当て」を押下する
- 自分の好みの方法でMFAの設定までやりましょう
今回は管理者権限を持つ「AdministratorAccess」の許可ポリシーを付与しましたが、実務ではもっと細かな最小権限のみを付与するべきです!!!
あくまで今回は個人開発をする際の簡易的な設定としてこの方法でやっています。
6.IAMユーザーのアクセスキーの作成
これについては必ず必要かどうかは用途によりけりなのでよく調べてから取り組みましょう。私はAWS CDKなどでaws-cli, cdk-cliで作業をする際に必要だと感じたためアクセスキーの作成をしました。
- この作業ではルートユーザーでなく、IAMユーザーとして作業をします。前節で作成したIAMユーザーのコンソールサインインURLからアクセスをして、サインインをします
- マネジメントコンソールの「IAM」のページを開く
- 左メニューの「IAMユーザー」を選択する
- 自分のユーザー名を選択する
- 「セキュリティ認証情報」タブを開き、「アクセスキーを作成」を押下する
- ユースケースから用途に合わせて選択し、「次へ」を押下する
- 「説明タグ」を入力し、「アクセスキーを作成」を押下する
- 『アクセスキー』と『シークレットアクセスキー』が表示されるので、メモを残すか、CSVファイルをダウンロードして保存しておく
まとめ
気が付くとほとんどが「お金」に関する設定でしたが、実務におけるルートユーザーでやることもおそらくこの請求・予算・支払いなどに関する「お金」のことが最優先課題だと思います。
もちろん、権限管理なども非常に大事ですが、個人開発で使う分に関してはおそらくそこまで大々的なユーザー管理をすることもないので今回は取り上げませんでした。



