第1回目: この記事
第2回目: VPC構築編
はじめに...
2019/3/1 : アップデート!!
2019/3/31: AWS GuardDutyの項目を追加
2019/4/9: Trusted Advisorの項目を追加
これはAWSを初めて触る人向けに、これをやっておくといいかも、と思ったものを書いたものです。
あとで自分に合わせた形にしていけばいいので、まずは使ってみる、くらいで考えてください。
クラウドであるAWSを始める理由は様々でしょうが、主に作ったサービスをデプロイすることが理由になってくると思います。
そしてサーバー関連を扱ったことが少ない人ですと、EC2やS3といったサービスを使うことばかりを考えています。
意外と最初に何をやっておけばいいのだろうということまでは考えなかったりします。私はそうでした。
なので、ここに最初にやっておけばよかったなと思ったものを書いていきます。
S3は料金の安い[米国西部(オレゴン)]のリージョンを使います。
一部サービスでは[ 米国東部(バージニア北部) ]のリージョンを使います。
##やること
- [ CloudTrail ]による証跡(使った内容)をS3に保存
- [ IAM ]の設定ユーザーの作成、ログイン
- [ Billing Reports ]関連の設定
- [ Trusted Advisor]の起動
- [ AWS Config ]の起動
- [ AWS GuardDuty ]の起動
##1. CloudTrailによる証跡(使った内容)の保存
CloudTrailは自分のアカウントで作業した内容などのデータを蓄積できるサービスです。簡単にいうとアカウントの監視ツールですね。AWSが挙げているユースケースとして下記のものがあります。
- コンプライアンスの支援(操作権限の把握)
- セキュリティ分析(ログ管理、セキュリティ分析)
- データの不正引き出し検出
- トラブルシューティング(設定変更による問題を検出)
CloudTrail:
https://aws.amazon.com/jp/cloudtrail/
ドキュメント:
https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-user-guide.html
CloudTrailのコンソールに入り、[証跡の作成]をクリック
証跡をどの程度取得するかを設定します。
注意:
S3のバケットの命名規則についてはこちらをご参照ください。
####2. CloudTrailの設定の確認
設定した証跡の名前をクリックし、右上の[ログ記録]がonになっていれば大丈夫です。
少し時間がたつとダッシュボード画面にログが出てくることが確認できます。
####3. S3バケットの確認
[サービス]から[S3]を選択してください。バケットが存在することが確認できるはずです。
##2. IAM関連の設定
IAMは、ユーザーのアクセス制御についての管理サービスです。
会社では部署、作業内容などで扱っている項目が違ってきますよね。
必要最低限以上の権限を与えると不正行為の危険性もありますし、コンプライアンス上の問題が発生してきます。
個人でもこの内容は非常に重要です。root権限とは非常に強い権利であり、1度でも不正アクセスをされると、自分のアカウントを勝手に使われ膨大な金額の請求を招くことになってしまいます。
初心者がAWSでミスって不正利用されて$6,000請求、泣きそうになったお話。
自分自身のを守るためにも、IAMの有する機能をしっかり使ってアカウントを管理すると幸せになれます。
IAM:
https://aws.amazon.com/jp/iam/
ドキュメント:
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction.html
####1. MFAの設定
MFAとは、AndroidやiOSなどといった別のデバイスを用いる2段階認証を設定するものです。
Google Authenticatorというアプリを使って設定します。
iOS:
http://itunes.apple.com/jp/app/google-authenticator/id388497605?mt=8
Android:
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=ja
コンソール画面にアクセスします
QRコードを読み込むと、Google Authenticatorに登録されます。
登録されると、6桁の数字が出てきますので、それを認証コードに設定していきます。
この時、2つある認証コードの入力に注意してください。6桁の数字を認証コード1に入力して、更新を待ってから新たらしい6桁の数字を認証コード2に入力しましょう。
有効化がうまくいけば、画面を更新するとチェック項目が緑色に変わっていることが確認できます。
最後にMFAが動くか、サインアウトして確認してみましょう。
うまくいっていれば、アドレス、パスワード入力後にMFAの入力項目が追加されているはずです。
####2. パスワードポリシーの設定
これに関しては言うまでも無いですね。ご自身のパスワードをどの程度の強度にするか、と言うことです。
下記のものがAWSのセキュリティで良いものとされています。
2019年3月1日更新
- パスワードの最小長: 20(パスワードの自動生成ツールを使ったほうがいいですね。)
- 少なくとも 1 つの大文字が必要
- 少なくとも 1 つの小文字が必要
- 少なくとも 1 つの数字が必要
- 少なくとも 1 つの英数字以外の文字が必要
- パスワードの失効を許可 - 90日
- パスワード再利用の禁止 - 3個
設定が終わったら最後にダッシュボード画面に戻ってIMAパスワードポリシーの適用の項目が緑色になっていることを確認できます。
グループにポリシー(権限)を与えます。今回作成するのはrootユーザーの次に強い権限を持ったユーザーになります。
フィルターにIAMと入力して範囲を絞り、IAMFullAccessと言うポリシーをアタッチします。
この後の確認画面で[グループの作成]を押すと、権限の付与されたグループが作成されます。
####4. ユーザーの作成
最後にユーザーの作成に移ります。IAMコンソール画面から[ユーザーの管理]に進みます。
ユーザー名を記載し、アクセスの種類をチェックし[次のステップ]をクリックします。
[プログラムによるアクセス]は[AWS CLI]などのコマンドラインを使ったアクセスを許可します。
[マネジメントコンソールへのアクセス]は、現在のrootユーザーのようにコンソール画面の操作のことです。
私はパスワードを[カスタムパスワード]を使って生成します。先程設定したパスワードポリシーに乗っ取って設定しましょう。あとでこのパスワードは破棄することになるので、本番用のパスワードとは別のものにしておいてください。
先程作成したグループに所属させます。
最後に確認ができたらユーザーの作成し、.csvファイルをダウンロードします。
.csvファイルには作成されたIAMユーザーのデータが保存されています。管理はしっかり行いましょう。
IAMコンソール画面のセキュリティステータス画面が全て緑色になっていたらIAMのユーザーは作成完了です。
##3. Billing Reports関連の設定
AWSは従量課金のサービスです。基本的には使った分だけ。逆に考えると、使い方を考えないと際限なくお金がかかってくるサービスです。そのため、一定以上使った場合などに連絡が入るようにし、リスクコントロールができるような仕組みを構築する必要があります。
請求関連はrootユーザーのみ操作できる項目になっています。今後はrootユーザーではログインしない前提で作成したIAMに操作できる権限などを与えていきます。
ドキュメント:
https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/billing-what-is.html
####1. Billing ManagementでIAMアクセスの設定
画面下部まで進み、IAMユーザー/ロールによる請求情報へのアクセスの[編集]をクリック
[IAMアクセスのアクティブ化]の項目をチェックし、更新します。
「IAM ユーザー/ロールによる請求情報へのアクセスは有効になっています」と表示されれば大丈夫です。
####2. Billing Reports保存用S3の作成
バケット名とリージョンを設定して[作成]をクリック。
作成されたことを確認します。
Billingコンソールから、設定の項目をクリックします。
設定の中にある項目をチェックしていきます。
請求アラートを受け取るの項目については「一度オンにするとオフに戻す事はできません」となっていることだけご確認ください。
S3のバケットに保存に先程設定したS3バケットを指定します。
そのままではバケットポリシーでエラーが発生してしまうので、ポリシーの部分をクリックします。
ポリシーの内容が表示されるので、これをコピーしておきます。
別のタブかウィンドウでS3のコンソールを開きます。
先程作成したバケットに移動します。
[アクセス権限]から[バケットポリシー]を選択し、コピーしておいたポリシーを貼り付け[保存]をクリックします。
Billingコンソールに戻り、改めてバケットのポリシーを検証し[有効なバケット]と表示されれば大丈夫です。
その下に[レポート]という項目が表示されるので、ここにチェックを入れ、[設定の保存]をクリックすれば完了です。
####4. IAMユーザーでログイン
ここまでできたらrootユーザーにお疲れ様をして、IAMユーザーでログインしましょう。
IAMのコンソールを開きます。
ダッシュボードのIAMユーザーのサインインリンクのURLを開きましょう。
作成したIAMユーザー名を入力し、パスワードを入力します。
新しくパスワードを設定し直します。
これでIAMユーザーでログインできました!
##4. Trusted Advisorの起動
まずはTrusted Advisorを起動しましょう。「コスト最適化」、「パフォーマンス」、「セキュリティ」、「フォールトトレーランス」の4つの点から利用者のAWS環境をAWSが自動で精査し、推奨設定を教えてくれるサービスです。
アカウントを作成した時点で有効になっているので、サービスを確認すればそれだけでオッケーです。
公式ページ:
https://aws.amazon.com/jp/premiumsupport/trustedadvisor/?nc2=type_a
https://aws.amazon.com/jp/premiumsupport/technology/trusted-advisor/
画面左上[ サービス ]から[ Trusted Advisor ]を選択
ダッシュボードが表示され、すぐにAWSがアカウントを確認し始めます
少し時間を置くと、このように結果が出てきます
上の項目で行なった[ IAM ]の設定を行なっていないとこのように表示されます
重要度から[ 赤 > 黄 > 緑 ]です。
赤の項目はすぐに解消するようにしましょう。
##5. AWS Configの起動
AWS GuardDutyというサービスを起動します。リージョン毎のサービスの変更履歴のログを保存し、かつ可視化までをしてくれるサービスです。Configは課金されるので利用される際はご注意ください。
公式ページ:
https://aws.amazon.com/jp/guardduty/
ドキュメント:
https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/what-is-guardduty.html
画面左上[ サービス ]から[ Config ]を選択
AWS Configというサービスを起動します
デフォルトで入力されている内容そのままに進めていきましょう
ルールを設定すると通知を飛ばすこともできます
最低1ルールあたり2.0USDが課金されますので
必要な分のみチェックしましょう
今回はそのまま進みます
最後に確認をして終了です
10秒くらい待つとコンソール画面に戻るので、そうしますと起動完了です。
この時点で課金が発生され始めるので注意してください。
何かしらの変更1件あたり0.003USDです
グローバルリージョンへの対応
リージョンを[ バージニア北部 ]に変更します
先ほど入れなかったチェックボックスを入れます
[ 設定 ]の項目で先ほどオレゴンで作成した[ S3バケット ]を選択します
あとは先ほどと同じ流れです
##6. AWS GuardDutyの起動
AWS Configというサービスを利用します。これはリージョン毎にワンクリックで脅威検知をしてくれるサービスです。Configは課金されるので利用される際はご注意ください。
ドキュメント:
https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/WhatIsConfig.html
画面左上[ サービス ]から[ GuardDuty ]を選択
Amazon GuardDutyサービスを起動します
[ GuardDutyの起動 ]を押せば完了です。
・ここの文章にもありますが、今回起動した[ Cloud Trail ]やVPCを作った際に設定できる[ VPCフローログ]、DNS(Route53)のクエリログを参照して脅威検知をします。
(つまり設定していないと能力も落ちますね)
・30日間は無料でお試しいただけます
ちなみに詳細情報はこのようになります。
すぐにこのような画面になり、完了です。
簡単ですね。
[ サイドバー ]の[ 設定 ]からサンプルを作ることができます。
様々なサンプルが作成されます
普段は問題がなければ何も表示されません!!
##最後に...
ここまでのお付き合いありがとうございました!
改めて設計を見てみましょう。
それぞれ最低限で使われるべきサービスを挙げていきました。
今までの紹介をみていただけばわかるように、画面をポチポチするだけで
これだけのカバーができます。
AWS様様ですね!!
さて、今回作ったこのIAMユーザーは、いわゆる「人事部長」なのです。
ここからあなたがやりたい作業について、1人1人を作成して行くことであなたの会社は出来上がっていきます。
このことを理解して使っているのといないのとでは大きく変わってくるのではないでしょうか?
もしここから先に困ってしまったら、IAMのポリシーについて調べてみると良いかもしれないですね。
- ポリシーが会社の部署、社員であるあなたはどんな業務ができるのでしょうか?
- R/Wでしょうか? R/Oでしょうか?
- それがイメージできればあとは早いのではないでしょうか。
ご覧いただきありがとうございました。
では、皆さんこれからも良いAWSの日々をお過ごしください。