Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

【AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得】セクション2: AWSを使うときの初期設定で知らなかったことをざっくりまとめてみた

目次

ルートユーザーとは

ルートユーザーとは、 AWSアカウントを作成した時のEメールアドレスとパスワードで使用できるユーザー のことです。 ルートユーザーは全てのAWSサービスと全てのAWSリソースに対してアクセスする権限を持ちます。

ルートユーザーはなんでもできるので、作業用に使わない方が良いです。

AWSにルートユーザーでログインしてマネジメントコンソールを見てみる

(注) 事前にAWSアカウントを作っている前提で話を進めます。

手順1:
ルートユーザーを選択して、ルートユーザーのEメールアドレスを入力します。入力できたら次へをクリックします。 Image from Gyazo

手順2:
パスワード入力画面が表示されるので、パスワードを入力してログインすると、 ルートユーザー用のマネジメントコンソール が表示されます。

Image from Gyazo

AWSを使うときにやった方がいい3つのこと

AWSを使う場合、以下の3つを事前に設定しておいた方が良いです。

  • CloudWatchを使って料金アラートを設定する
  • IAMで作業用ユーザーを作る
    IAMユーザーを作る前にルートユーザーでIAMアクセスを有効にします。 IAMアクセスを有効にすると、IAMユーザーでも請求情報を確認できます。
  • CloudTrailで操作ログを記録する

CloudWatchを使って料金アラートを設定する

何円以上使ったらアラートを通知するように設定する。使い過ぎを防ぐ

CloudWatchを使った料金アラートの設定手順

ざっくり言うと、まずは、請求ダッシュボードで請求アラートを受け取れるように設定します。その後、CloudWatchで料金アラートを設定します。

手順1:
ルートユーザー用のマネジメントコンソールを開いて、請求ダッシュボードをクリックします。 Image from Gyazo

手順2:
請求ダッシュボードの請求設定をクリックします。 Image from Gyazo

手順3:
「E メールで PDF 版請求書を受け取る」、「無料利用枠の使用アラートを受信する」、「請求アラートを受け取る」にチェックを入れます。その後、Eメールアドレスを入力して、保存をクリックします。 Image from Gyazo

手順4:
「請求アラートを受け取る」の下に「請求アラートを管理する」というリンクがあるのでクリックすると、別タブでCloudWatchの設定画面が開きます。 このCloudWatchの設定画面から、「利用料が何円超えたらアラートを出す」などの請求アラートを設定します。 Image from Gyazo

手順5:
CloudWatchの画面左端に請求という項目があるので、クリックします。そうすると、請求アラートの画面に遷移します。その後、画面中央の「アラームの作成」をクリックします。 Image from Gyazo

手順6:
画面をスクロールして、条件の部分で10ドルを設定します。 Image from Gyazo

手順7: その後、通知の送信先、アラーム名を設定して作成を押すと、アラームを作成できます。私の場合、testという名前でアラームを作成しました。このtestアラームでは、料金が10ドルを超えたらメールで通知が来るように設定しています。 Image from Gyazo

(※) AWSの請求が気になる場合、請求ダッシュボードや請求ダッシュボードの請求書を見ると、確認できます。

IAMで作業用ユーザーを作って、セキュリティを高める。

IAMユーザーとは、 AWS上で作成する作業ユーザー のことです。 IAMユーザーにはユーザーごとに権限を割り振ることができます。そのため、なんでもできるルートユーザーに比べて思わぬ操作ができないようになっています。

(※)基本的にはユーザーごとにIAMユーザーを作成した方が良いです。ユーザーごとにIAMユーザーを作ることで、誰がどんなことをしたかを表す作業ログも個別に記録されます。

ルートユーザーはなんでもできるので、作業するときはIAMユーザーを使用した方が良いでしょう。アカウントの変更、解約、サポートプランの変更をするときだけ、ルートユーザーを使います。

IAMユーザーの作成手順

手順1:
IAMユーザーでも請求情報を確認できるようにするために、IAMアクセスをアクティブ化しておきます。ルートユーザーでマネジメントコンソールを開き、アカウントをクリックします。その後、スクロールすると「IAM ユーザー/ロールによる請求情報へのアクセス」があるので、IAMアクセスをアクティブ化します。以下の画像では、IAMアクセスを既にアクティブ化しています。 Image from Gyazo

手順2:
マネジメントコンソールの検索欄でIAMと入力します。そうすると、IAMが検索候補で出るのでクリックすると、IAMの設定画面が表示されます。 Image from Gyazo

手順3:
IAMユーザーを作成したいので、IAM設定画面の左側にある「ユーザー」をクリックします。その後、画面右にある「ユーザーを追加」をクリックします。クリックすると、以下のような画面が表示されます。ユーザー名を入力した後、マネジメントコンソールからAWSを操作するので、「パスワード - AWS マネジメントコンソールへのアクセス」にチェックをします。 Image from Gyazo

↓ 入力後 Image from Gyazo

手順4: カスタムパスワードにチェックして、好きなパスワードを入力します。その後、パスワードのリセットが必要のチェックを外します。その後、下にあるアクセス権限をクリックします。 Image from Gyazo

手順5:
既存のポリシーを直接アタッチをクリックします。ユーザーごとに適切な権限をつけます。なるべく無駄な権限はつけず、厳し目な権限をつけた方が安全です。今回は練習なので、AdministratorAccessという権限をつけます。その後、タグをクリックします。 Image from Gyazo

(※) AdministratorAccessはほとんどのサービスにアクセスできる権限です。

手順6:
タグでは、そのユーザーがどのような役割なのかを付与して行きます。今回は特に必要ないので、確認をクリックします。

Image from Gyazo

最後にユーザーを作成をクリックしたらユーザーの作成は完了です。 Image from Gyazo

手順7:
緑の枠内にあるリンクから 作成したIAMユーザー用のマネジメントコンソール にログインできます。最後に閉じるをクリックして終了します。 Image from Gyazo

CloudTrailで操作ログを記録する

CloudTrailとは、AWSの操作ログを記録するサービスです。 CloudTrailを使って、いつ(when) 誰が(who)何をした(what) を記録します。

(注)操作ログ自体はS3に保存しています(S3はファイルの置き場)。また、CloudTrail自体にお金はかかりません。しかし、S3は安価だがお金がかかります。

CloudTrailの設定手順

手順1:
マネジメントコンソールでCloudTrailを検索します。その後、「証跡の作成」をクリックします。証跡を作成することで、操作ログをずっと記録することができます。

Image from Gyazo

手順2:
証跡名を入力します。その後、証跡の作成をクリックします。

手順3:
現状だとS3バケットが新規作成されないので、編集でS3バケットを作成にチェックをつけます。S3バケット名も付与しておきます。

Image from Gyazo

(※) S3バケットとは、S3に保存されるフォルダのようなものです。

AWSを操作する2つの方法

AWSを操作する場合、2つの方法があります。1つは、コマンドラインなどプログラムによる操作です。もう一つがマネジメントコンソールから操作する方法です。

S3の権限しか付与しないIAMユーザーを作成してみる

s3_onlyというユーザー名のユーザーを作ってみます。このユーザーにはS3の権限(AmazonS3FullAccess)しか付与しないようにします。

Image from Gyazo

S3の権限を付与したのでS3は使えましたが、他のIAMやCloudTrailにアクセスすると、権限がありませんというエラーが出ました。

参考記事

AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得 | Udemy

AWSのルートユーザーとは?IAMユーザーの作成方法もご紹介 | FEnet コラム for AWS

Amazon S3バケットの仕組み | Seagate 日本