顧客フロントSEのIT勉強ブログ

顧客フロントSEがなるべく手を動かしながらIT技術を学んでいくブログです。

【AWS Tips】AWSアカウント発行したら初めにやっておくべきこと

f:id:se_o_chan:20210818100508p:plain

 今後AWSワークショップで色んな機能を試していくつもりですが、その前にまずはAWSアカウントの発行と、発行後にやっておくべき初期設定を整理しておきます。

アカウント発行したままのデフォルト設定だと、セキュリティが脆弱だったり、知らない間に膨大なコストがかかってしまったりすることもあるので、今回紹介する設定は基本ですが是非やっておくべき内容です。

AWSアカウント発行

なんにせよ、まずはAWSアカウントを発行しましょう!
アカウント発行には以下が必要です。

「Eメールアドレス」は、アカウント管理者であるルートアカウントを識別するIDになります。AWSからの通知にも利用されます。
「電話番号」は、登録の途中で音声通話 or SMSによる本人確認に使います。
「クレジットカード(またはデビットカード)」は、AWS利用料支払いのために登録します。

発行手順はAWS公式ページがわかりやすいので、こちらを参照してください。

aws.amazon.com

始めにやっておくべき設定

 アカウント発行したらやっておくべき初期設定は次の通りです。順番にご紹介します。

  1. ルートアカウントのMFA設定
  2. IAMユーザー作成
  3. パスワードポリシー設定
  4. サインインURLカスタマイズ
  5. 請求情報の設定

1.ルートアカウントのMFA設定(※スマホが必要)

 アカウント管理者である「ルートアカウント」は、デフォルト設定だと最初に登録したEメールアドレスとパスワードだけでログイン出来てしまうので、最初にルートアカウントの二段階認証(MFA)設定を行います。

1)あらかじめスマホに「Google Authenticator」か「Microsoft Authenticator」をインストールしておきます。機能は変わらないのでお好きなほうで。AppStore/Playストアで検索すればヒットします。

f:id:se_o_chan:20210817230510p:plain f:id:se_o_chan:20210817230525j:plain

2)画面右上のアカウント名をクリックし、表示された選択肢から「マイセキュリティ資格情報」をクリックします。

f:id:se_o_chan:20210817225343j:plain

3)多要素認証(MFA)タブを開き、「MFAの有効化」をクリックします。

f:id:se_o_chan:20210817225637j:plain

 4)「仮想MFAデバイス」を選択します。

f:id:se_o_chan:20210817230057j:plain

5)「QRコードの表示」をクリックし、表示されたQRコードを1でインストールしたAuthenticatorで読み取ります。Google/Microsoftどちらも「+」ボタンをクリックするとカメラが起動されるはずです。

f:id:se_o_chan:20210817231234j:plain

 6)Authenticatorに30秒ごとに切り替わる6桁の数字が表示されるので、その数字を上の画像のMFAコード1、2に入力し、右下の「MFAの割り当て」をクリックします。
※MFAコード1を入力した後、切り替わった数字をMFAコード2に入力。

これでルートアカウントのMFA設定は完了です!
今後ルートアカウントでAWSマネジメントコンソールにログインする際には、Eメールアドレス・パスワードに加えて、Authenticatorの6桁数字の入力が求められます。

2.IAMユーザー作成

 ルートアカウントは権限が強すぎて、普段の作業では使わないのがベストプラクティスです。
そこで普段の操作を行うユーザー(IAMユーザー)を作成します。

1)画面上部の検索窓に「IAM」と入力し、IAMコンソールに移動します。

f:id:se_o_chan:20210817224049j:plain

2)画面左の「ユーザー」を選択し、表示された画面から「ユーザーを追加」ボタンをクリックします。

f:id:se_o_chan:20210817232423j:plain

3)「ユーザー名」を入力します。「アクセスの種類」は”AWSマネジメントコンソールへのアクセス”を選択します。「コンソールのパスワード」、「パスワードのリセットが必要」はお好きなほうを選んで、「次のステップ:アクセス権限」ボタンをクリックします。

f:id:se_o_chan:20210817232845j:plain

4)IAMユーザが属するグループを作ります。「グループの作成」をクリックしてください。

f:id:se_o_chan:20210817233219j:plain

5)「グループ名」を入力します。そのグループに属するユーザーに付与したいポリシーを選択しますが、ここでは一通りの操作が行える管理権限を与えたいので”AdministartorAccess”を選択し、下の「グループの作成」ボタンをクリックします。

f:id:se_o_chan:20210817233456j:plain

6)前の画面に戻ってくるので、作成したグループにチェックをつけて、下の「次のステップ:タグ」ボタンをクリックします。

f:id:se_o_chan:20210817233950j:plain

7)ここは特に入力せず「次のステップ:確認」ボタンをクリックします。

f:id:se_o_chan:20210817234132j:plain

8)これまで入力してきた内容に間違いがないことを確認して「ユーザーの作成」ボタンをクリックします。

f:id:se_o_chan:20210817234348j:plain

9)IAMユーザーが作成できました!2で「コンソールのパスワード」を”自動生成パスワード”にした場合は、ここで「.csvのダウンロード」ボタンをクリックして初期パスワードをダウンロードしておきましょう。

f:id:se_o_chan:20210817234633j:plain

ルートアカウントと同様、IAMユーザーもMFA設定しておく必要があります。

そのためにはIAMユーザーでサインインする必要がありますが、その方法は「4. サインインURLカスタマイズ」の中で触れます。

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

デフォルトのパスワードポリシーはやや脆弱なので、個別にポリシー設定しておきましょう。

1)IAMコンソールの左にある「アカウント設定」を選択し、表示された画面の「パスワードポリシーを選択する」ボタンをクリックします。

f:id:se_o_chan:20210817235404j:plain

2)ここで任意のポリシーを設定しましょう。右下の「設定の保存」で完了です。
ちなみに私が勤務している会社では、次のようなポリシーが推奨されています。ちょっとガチガチすぎる気もするので、そこは個々の考えで緩めてください。

  • パスワードの最小文字数は14文字以上
  • 1文字以上のアルファベット大文字・小文字を必要とする
  • 少なくとも1つの数字が必要
  • 少なくとも1つの英数字以外の文字が必要
  • パスワードの有効期限は3か月以内
  • ユーザにパスワードの変更を許可する
  • パスワードは過去24回前まで再利用を禁止する 

f:id:se_o_chan:20210817235524j:plain

4.サインインURLカスタマイズ

2で作成したIAMユーザーでサインインするときのサインインURLをカスタマイズしましょう。デフォルト設定だとランダムの数字12桁が含まれており分かりにくいです。

1)IAMコンソールのダッシュボードにサインインURLが表示されています。右のカスタマイズをクリックします。

f:id:se_o_chan:20210818000432j:plain

2)任意の文字列を入力し「エイリアスを作成」ボタンをクリックします。ここで入力した値が、サインインURLのhttps://xxxxx.signin.aws.amazon.com/consoleの頭xxxxx部分になります。

f:id:se_o_chan:20210818000745j:plain

ここで一度IAMユーザーでのログインを試してみましょう。
画面右上のルートアカウント名をクリックし「サインアウト」します。

f:id:se_o_chan:20210817225343j:plain

ブラウザから先ほどのサインインURLに遷移すると、アカウントエイリアスに先ほど設定した文字列がプレ入力されているはずです。
あとはユーザー名・パスワードに「2.IAMユーザの作成」で作成した値を入力してサインインしてください。
サインイン後に、ルートアカウントと同じ手順でMFA設定をすることも忘れずに。

f:id:se_o_chan:20210818001358j:plain

5.請求情報の設定

月額利用料の請求に関する設定をしておきます。
これにより、IAMユーザで請求情報(AWSサービスごとの利用料や過去の支払履歴など)を確認できるようになったり、月額利用料がしきい値を超えそうになるとアラートメールを配信できるようになったりします。

この設定はルートアカウントでしか行えないので、IAMユーザはサインアウトして、ルートアカウントでログインしなおします。

5-1.IAMユーザーによる請求情報へのアクセス

デフォルトではルートアカウントしか請求情報を確認できません。原則、通常操作はIAMユーザーで行うのがベストプラクティスなので、IAMユーザでも見れるようにしておきます。

1)画面右上のルートアカウント名をクリックし、今後は「マイアカウント」をクリックします。

f:id:se_o_chan:20210817225343j:plain

2)遷移した画面下のほうに「IAMユーザー/ロールによる請求情報へのアクセス」があります。右のほうにある小さな「編集」をクリックします。

f:id:se_o_chan:20210818002244j:plain

3)すると下にチェックボックスとボタンが表示されるので、「IAMアクセスのアクティブ化」にチェックを入れ、「更新」ボタンをクリックします。
これでIAMユーザーでも請求情報にアクセスできるようになりました。

※請求情報にアクセスするには専用のポリシーが必要ですが「2.IAMユーザの作成」で付与した”AdministratorAccess”には、請求情報へのアクセス権限が含まれています。

f:id:se_o_chan:20210818002757j:plain

5-2.支払通貨設定

デフォルトでは月額利用料はドル建てで請求されます。任意ではありますが、日本円で請求されるよう設定を変更することができます。

企業によってはドル建てでの請求を処理できない、処理が面倒になるところもあると思うので、そういうケースは日本円での請求にしておくと良いですね。

1)先ほどと同じ画面の上のほうに「お支払い通貨の設定」があるので、右の「編集」をクリックします。

f:id:se_o_chan:20210818003523j:plain

2)通貨が選択できるようになるので「JPY - Japanese Yen」を選択し、「更新」ボタンをクリックします。

f:id:se_o_chan:20210818003630j:plain

5-3.コストエクスプローラーの有効化

これも任意ではありますが、コストエクスプローラーという機能を有効化しておきます。
コストエクスプローラーでは日別の利用料や、月末の予想料金などがグラフを使って表示されます。

1)画面左の「Cost Explorer」を選択し、遷移した画面内の「Cost Explorerを起動」ボタンをクリックします。これで24時間後にはCost Explorerが閲覧できるようになります。

f:id:se_o_chan:20210818004327j:plain

5-4.請求アラートの設定

月額利用料が任意のしきい値を超えたタイミングでメール通知させることができます。
知らない間に数万円を使っていて請求を見てびっくりすることを避けるために、アラートは設定しておきましょう。

1)画面左の「請求設定」を選択し、「請求アラートを受け取る」にチェックを入れて「設定の保存」ボタンをクリックします。

f:id:se_o_chan:20210818004735j:plain

2)上の画面の「請求アラートを管理する」リンクをクリックすると、CloudWatchコンソールが表示されます。ここでアラート内容の詳細を設定します。

f:id:se_o_chan:20210818005048j:plain

3)画面左の「請求」を選択し、表示された画面の「アラームの作成」ボタンをクリックします。

f:id:se_o_chan:20210818005210j:plain

4)まずはアラートをあげる条件として、画面下部のしきい値を設定します。ここでは50USDとしました。「次へ」ボタンをクリックします。

f:id:se_o_chan:20210818005402p:plain

5)「SNSトピックの選択」で”新しいトピックの作成”を選択します。するとトピック名とEメールエンドポイントを入力する箇所が出てくるので、トピック名は任意文字列、Eメールエンドポイントは通知させたいメールアドレスを入力してください。その後「トピックの作成」ボタンをクリックし、下部の「次へ」ボタンをクリックします。

f:id:se_o_chan:20210818005911p:plain

6)「アラーム名」に任意の名前を付けて、「次へ」ボタンをクリックします。次の画面でプレビューが表示されるので内容に問題なければ、画面下部の「アラームの作成」ボタンをクリックして請求アラーム定義は完了です。

f:id:se_o_chan:20210818010354j:plain

7)ただし、このままではまだアラームメールは受信できません。画面上部の検索窓に「SNS」を入力して表示される”Simple Notification Service”をクリックして、Amazon SNSコンソールに移動します。

すると、先ほど登録したSNSトピックが表示されるはずです。ただしステータスが”保留中の確認”という微妙な日本語で、まだ設定が未完了であることを示しています。

f:id:se_o_chan:20210818010759j:plain

8)先ほどアラーム先に登録したEメールアドレス宛に次のようなメールが届いているはずです。メール本文の「Confirm subscription」をクリックして、今後アラートメールを受信することを承諾してください。

f:id:se_o_chan:20210818011952j:plain

9)SNSコンソールを更新すると、ステータスが”確認済み”になりました。これでアラームメールが受信できるようになります。

f:id:se_o_chan:20210818011224j:plain

まとめ

AWSアカウント発行手順と、発行後にやっておくべき初期設定手順をまとめました。

これでAWSサービスを安心・安全に使えるようになりましたので、次回からAWSワークショップの内容に入っていきたいと思います。

※書くことは決めていても一つの記事を書くのに数時間はかかってしまうんだなぁ。。今後誰かが書いたブログや記事はありがたみを感じながら読ませてもらおう。

ブログランキング・にほんブログ村へにほんブログ村PVアクセスランキング にほんブログ村