最近は環境構築の際、AWSを利用しクラウドインフラを利用してwebサイト、webアプリケーションを構築していくことが多くなってきました。
AWSは大変便利なのですが、多機能かつ設定が複雑。初心者殺しなポイントもいくつか存在しているようです。
AWSからの高額請求による「クラウド破産」エピソードも過去話題となりました。
初心者がAWSでミスって不正利用されて$6,000請求、泣きそうになったお話。 – Qiita
そのため、AWSの運用においてはまず最初に請求アラートやセキュリティ設定など、いくつか初期設定をしておくことが重要です。
今回はAWSをはじめよう 改訂第2版 ~AWSによる環境構築を1から10まで~:mochikoAsTechのCHAPTER2「AWSを使い始めたら最初にやること」を参考に、AWSにおける必要最低限な初期設定をメモ形式でご紹介します。
目次
AWS無料利用枠の注意事項
- AWSを 初めて利用する場合、AWSアカウントを作成してから一年間は利用料が無料
- ただし無料利用枠の範囲は決まっており、範囲を超えると請求が来る
- 例えば、Route53 と言うネームサーバーのサービスは無料利用枠の対象外となり、通常課金となる
- 無料利用枠においても、請求アラートの設定が必要不可欠
AWSアカウント作成後、最初にやるべき初期設定・ダッシュボード設定
請求額の監視: CloudWatch
Rootユーザーでログイン後、ダッシュボード画面右上のアカウント名 > My Billing Dashboard
※ CloudWatchやAlertの設定画面ではなく、"Billing"画面からBilling Dashboardへ進むこと
My Billing Dashboardで請求金額などの確認ができる
請求アラートの設定: CloudWatch
書籍とは管理画面の仕様が変わっていたので、以下の動画のとおりに((英語))
Setup AWS Account Step 4 Setup Billing Alert YouTube
請求アラート設定の手順
左メニュー Preferences > Billing Preferences
Billing Preferences画面
全ての項目にチェックをいれ、通知先メールアドレスを入力しSave preferencesで保存。
その後、Receive Billing Alerts内"Manage Billing Alerts"をクリック。
CloudWatch Dashboard画面
左メニュー Alarms > Billing
その先の画面で"Create alarm"をクリック
Alarm設定画面
Select metricをクリックし、Billing > Total Estimated Charge
または、検索窓にTotal Estimated Chargeと入力
USD Estimated Chargesにチェックを入れて、Select metricをクリック
Specify metric and conditions画面
下へスクロールしていき、than…のところで、通知させたい月間合計利用金額を入力し、Nextをクリック
Configure actions画面
Alarm state trigger: In alarmのまま
Select an SNS topic: Create new topicへ変更
Create a new topic…… : タイトルを入力
Email endpoints that will receive the notification…: 通知先メールアドレスを入力
すべて入力が完了したら、Create topicをクリックし保存。その後Nextをクリック
Add Name and Description画面
名前を入力したら、Next
その後の確認画面で設定内容を確認し、アラートの作成完了
通知先メールアドレスの認証
アラート通知先メールアドレスが新しいものだった場合、認証作業が必要。
CloudWatchダッシュボードで、Some subscriptions are pending confirmation.と表示されたら、まだ認証完了していないメールアドレスがある。
通知先メールアドレスに"AWS Notification Subscription Confirmation" というタイトルのメールが届いているので、メール内リンク"Confirm Subscription"をクリックして承認する。
アラートメールは ALARM: "BillingAlarm" というタイトルで送られてくる
IAMユーザーの作成
IAMユーザーとは
IAM = Identity and Access Management
IAMユーザーとは、rootユーザーより権限を弱めたユーザー。そのため普段遣いはIAMユーザーで。
IAMユーザーは1人に1つ作成しておくのをおすすめします。なぜならば、誰が何をしたのか、というのを監視できるためです。
たとえば同じ権限設定だからといって、異なる人で同じユーザーアカウントを使い回さないこと。 きちんと1人1つ、IAMユーザーアカウントを作成するようにしましょう。
IAMユーザーの作成を開始
I AMダッシュボードから、IAMグループ・ユーザーを作成
画面左上 Services > Security, Identity & Compliance > IAM
IAMグループを作成し、IAMユーザーを所属させる
次に、IAMグループを作成します。
画面左メニュー Access management > User groups を選択
スクロール下、Attach permissions policiesでグループの権限を設定
IAMユーザーごとのポリシーの強さ
rootを除く最強: "AdministratorAccess" ,
ただし、rootのように全権をもっている訳ではない
たとえば、下記のアクションは不可です。
- 請求情報へのアクセス
- AWSアカウントの解約
次点で強いのが、AdministratorAccessからIAM関連の権限を除いた "PowerUserAccess"
IAMユーザーの作成
画面左メニュー Access management > Users
Select AWS access type
- Programatic access: プログラムからAWSのAPIを叩いて操作する権限
- AWS Management Console access: ブラウザでマネジメントコンソールを開いて画面上で操作する権限
Set Permissions
Add user to groupを選択
Add user to group
ユーザーグループにチェックを入れて所属させる
完了後、表示されるパスワードは必ずメモしておく
また、パスワードの右隣のメール送信をクリックして、自分宛てにメールを送っておく
IAMユーザーでのログインに必要なログイン情報は3つ
- AWSアカウント((URLの数字))
- ユーザー名
- パスワード
MFA(多要素認証)の有効化
MFA = Multi-Factor Authentification
左上Services > Security, Identity & Compliance > IAM
左メニュー > Users
MFAを有効化させたいユーザー名をクリック
タブ"Security credentials > Assigned MFA device の欄の鉛筆マークをクリックしてMFAを設定
(画像はすでに設定済なのでmanageとなっている)
rootユーザー、IAMユーザーともにMFAを有効化する
物理MFAデバイス、または仮想MFAとして認証アプリを利用
Google Authenticator((Google認証システム))のアプリは下記の点をレビューで指摘されていた((現在は改善されているのかも。しかし直近まで評価の低いレビューが多かった)
- バックアップが取れない
- 指紋認証不可
下記の点から、MFA認証アプリとしてはTwilio Authyが良さそうです。
- レビューでの評価が高い
- バックアップ、指紋認証ともに機能を備えている
リージョンの変更
画面右上が"Tokyo"以外の場合、東京リージョンに設定する
Asia Pacific (Tokyo) ap-northeast-1
利用場所から近いほうが応答時間も早くなる
日本国内向けにwebサイトを開設する場合には、基本的に"Tokyo"リージョンを選ぶ
サーバーを立てるときに、リージョンがTokyoになっているか確認して設立する
ただし、サービスによってはTokyoリージョンが使えないものがあるので注意。
その場合は次点として、米国東部(バージニア東部)を選択
CloudTrailでいつ誰が何をしたのかを記録
CloudTrail = いつ誰が何をしたのかを記録してくれるサービス
左上 Services > Management & Governance > CloudTrail
設定不要。デフォルトで有効となっている。
デフォルト設定で過去90日間のイベントが無料で記録される
CloudTrailの左メニュー Event History「イベント履歴] でログを確認できる
初期設定を行い、セキュアで安全なAWS運用を
今回ご紹介したのはAWSをはじめよう 改訂第2版 ~AWSによる環境構築を1から10まで~:mochikoAsTechからでした。「AWSに登録したら、まず最低限これだけは」という内容かと思います。
よりセキュリティに考慮、そして意図しないクラウド破産を防ぐために、AWSの仕組みや運用ルールをより深く学んでいく必要があるでしょう。
個人的に下記の本も気になっています。AWSにある程度慣れてきた方や、AWSで運用してみたいけれどクラウド破産のエピソードが怖い…!という方はぜひ読んでみると良いのではないでしょうか。
クラウド破産を回避するAWS実践ガイド – KOS-MOS – BOOTH
Leave a Reply