見ながらやろう! AWSを始める前に最初にやっておくこと -初心者向け事前準備-


はじめに...

これはAWSを初めて触る人向けに、これをやっておくといいかも、と思ったものを書いたものです。
あとで自分に合わせた形にしていけばいいので、まずは使ってみる、くらいで考えてください。


クラウドであるAWSを始める理由は様々でしょうが、主に作ったサービスをデプロイすることが理由になってくると思います。
そしてサーバー関連を扱ったことが少ない人ですと、EC2やS3といったサービスを使うことばかりを考えています。
意外と最初に何をやっておけばいいのだろうということまでは考えなかったりします。私はそうでした。
なので、ここに最初にやっておけばよかったなと思ったものを書いていきます。

S3は料金の安い[米国西部(オレゴン)]のリージョンを使います。

AWS マネジメントコンソール.png

やること

  1. CloudTrailによる証跡(使った内容)をS3に保存
  2. IAMの設定ユーザーの作成、ログイン
  3. Billing Reports関連の設定

Screen Shot 2018-01-09 at 23.51.36.png

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

1. 証跡の作成

AWS マネジメントコンソール (1).png

CloudTrailのコンソールに入り、[証跡の作成]をクリック

CloudTrail Management Console.png

CloudTrail Management Console (1).png

証跡をどの程度取得するかを設定します。

CloudTrail Management Console (3).png

注意:
S3のバケットの命名規則についてはこちらをご参照ください。

2. CloudTrailの設定の確認

設定した証跡の名前をクリックし、右上の[ログ記録]がonになっていれば大丈夫です。

CloudTrail Management Console (4).png

CloudTrail Management Console (5).png

少し時間がたつとダッシュボード画面にログが出てくることが確認できます。
CloudTrail Management Console (6).png

3. S3バケットの確認

[サービス]から[S3]を選択してください。バケットが存在することが確認できるはずです。

CloudTrail Management Console (8).png

S3 Management Console.png

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

AWS マネジメントコンソール.png

コンソール画面にアクセスします

IAM Management Console (1).png

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f37323537382f38336636333630382d306535632d393231372d343436342d3363303862386235613463302e706e67.png

ここだけキャプチャー失敗してしまってます。

IAM Management Console (3).png

最新.png

QRコードを読み込むと、Google Authenticatorに登録されます。
登録されると、6桁の数字が出てきますので、それを認証コードに設定していきます。

この時、2つある認証コードの入力に注意してください。6桁の数字を認証コード1に入力して、更新を待ってから新たらしい6桁の数字を認証コード2に入力しましょう。

有効化がうまくいけば、画面を更新するとチェック項目が緑色に変わっていることが確認できます。

IAM Management Console (7).png

最後にMFAが動くか、サインアウトして確認してみましょう。
うまくいっていれば、アドレス、パスワード入力後にMFAの入力項目が追加されているはずです。

Amazon Web Services Sign In.png

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

これに関しては言うまでも無いですね。ご自身のパスワードをどの程度の強度にするか、と言うことです。
大体下記のくらいは欲しいな、と言うものを挙げておきます。

  • パスワードの最小長: 10
  • 少なくとも 1 つの大文字が必要
  • 少なくとも 1 つの小文字が必要
  • 少なくとも 1 つの数字が必要
  • 少なくとも 1 つの英数字以外の文字が必要 (期限系の制限はお好みで。)

IAM Management Console (8).png

IAM Management Console (9).png

設定が終わったら最後にダッシュボード画面に戻ってIMAパスワードポリシーの適用の項目が緑色になっていることを確認できます。

IAM Management Console (10).png

3. グループの作成

IAM Management Console (11).png

IAM Management Console (12).png

IAM Management Console (13).png

グループにポリシー(権限)を与えます。今回作成するのはrootユーザーの次に強い権限を持ったユーザーになります。
フィルターにIAMと入力して範囲を絞り、IAMFullAccessと言うポリシーをアタッチします。

IAM Management Console (14).png

この後の確認画面で[グループの作成]を押すと、権限の付与されたグループが作成されます。

IAM Management Console (15).png

4. ユーザーの作成

最後にユーザーの作成に移ります。IAMコンソール画面から[ユーザーの管理]に進みます。

IAM Management Console (16).png

IAM Management Console (17).png

IAM Management Console (1).png

ユーザー名を記載し、アクセスの種類をチェックし[次のステップ]をクリックします。
[プログラムによるアクセス]は[AWS CLI]などのコマンドラインを使ったアクセスを許可します。
[マネジメントコンソールへのアクセス]は、現在のrootユーザーのようにコンソール画面の操作のことです。

私はパスワードを[カスタムパスワード]を使って生成します。先程設定したパスワードポリシーに乗っ取って設定しましょう。あとでこのパスワードは破棄することになるので、本番用のパスワードとは別のものにしておいてください。

IAM Management Console (19).png

先程作成したグループに所属させます。

IAM Management Console (20).png

最後に確認ができたらユーザーの作成し、.csvファイルをダウンロードします。

.csvファイルには作成されたIAMユーザーのデータが保存されています。管理はしっかり行いましょう。

IAM Management Console (22).png

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アクセスの設定

AWS マネジメントコンソール (1).png

Billing Management Console.png

画面下部まで進み、IAMユーザー/ロールによる請求情報へのアクセスの[編集]をクリック

Billing Management Console (1).png

[IAMアクセスのアクティブ化]の項目をチェックし、更新します。
「IAM ユーザー/ロールによる請求情報へのアクセスは有効になっています」と表示されれば大丈夫です。

2. Billing Reports保存用S3の作成

CloudTrail Management Console (8).png

S3 Management Console (1).png

S3 Management Console (2).png

バケット名とリージョンを設定して[作成]をクリック。

S3 Management Console (3).png

作成されたことを確認します。

3. Billing Reports通知などの設定

AWS マネジメントコンソール (1).png

Billing Management Console (3).png

Billingコンソールから、設定の項目をクリックします。
設定の中にある項目をチェックしていきます。

請求アラートを受け取るの項目については「一度オンにするとオフに戻す事はできません」となっていることだけご確認ください。

S3のバケットに保存に先程設定したS3バケットを指定します。
そのままではバケットポリシーでエラーが発生してしまうので、ポリシーの部分をクリックします。

Billing Management Console (4).png

ポリシーの内容が表示されるので、これをコピーしておきます。

CloudTrail Management Console (8).png

別のタブかウィンドウでS3のコンソールを開きます。

S3 Management Console (4).png

先程作成したバケットに移動します。

S3 Management Console (5).png

[アクセス権限]から[バケットポリシー]を選択し、コピーしておいたポリシーを貼り付け[保存]をクリックします。

Billing Management Console (5).png

Billingコンソールに戻り、改めてバケットのポリシーを検証し[有効なバケット]と表示されれば大丈夫です。
その下に[レポート]という項目が表示されるので、ここにチェックを入れ、[設定の保存]をクリックすれば完了です。

4. IAMユーザーでログイン

ここまでできたらrootユーザーにお疲れ様をして、IAMユーザーでログインしましょう。

AWS マネジメントコンソール.png

IAMのコンソールを開きます。

IAM Management Console.png

ダッシュボードのIAMユーザーのサインインリンクのURLを開きましょう。

Amazon Web Services Sign In.png

作成したIAMユーザー名を入力し、パスワードを入力します。

Amazon Web Services Sign In (1).png

新しくパスワードを設定し直します。

AWS マネジメントコンソール.png

これでIAMユーザーでログインできました!

最後に...

ここまでのお付き合いありがとうございました!
改めて設計を見てみましょう。

Screen Shot 2018-01-09 at 23.51.36.png

4番やってないぞ、という声が聞こえてきそうですね。

今回作ったこのIAMユーザーは、いわゆる「人事部長」なのです。
ここからあなたがやりたい作業について、1人1人を作成して行くことであなたの会社は出来上がっていきます。

このことを理解して使っているのといないのとでは大きく変わってくるのではないでしょうか?

もしここから先に困ってしまったら、IAMのポリシーについて調べてみると良いかもしれないですね。
* ポリシーが会社の部署、社員であるあなたはどんな業務ができるのでしょうか?
* R/Wでしょうか? R/Oでしょうか?
* それがイメージできればあとは早いのではないでしょうか。

どうもご覧いただきありがとうございました。
では、皆さん新年も良いAWSの日々をお過ごしください。


ちなみにIAMって[アイアム]と[アイエーエム]、どちらで呼んでいますか?
結構海外のかたは[アイエーエム]の方が多いイメージ何ですよね。
私は[アイアム]の方が好きだったりします。

設計図は正直うまくできていないと思っています。
どなたかアドバイスを頂けますと嬉しいです。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.