【おまけだよ】ぜんぜんわからなかったECSについてまとめてみました(ECS実践前にAWSアカウントまわりを未経験から設定しよう!)
こんにちはこぐまです。
これから、ECSの実践をしていきたいのですが・・
本日はちょっと休憩。
ECSを実践していくには、前回紹介したようなAWS画面(AWSマネジメントコンソール)にログインできることが必要です。本日は、ECSを実施するために必要なAWSマネジメントコンソール関連の準備について書いていきます。すでにAWSマネジメントコンソールにログインできているという方は本記事は読み飛ばしてください。
1.AWSアカウント
AWSマネジメントコンソールにログインするためには、まずは「AWSアカウント」を作成することが必要です。
AWSアカウント自体は無料で作成できます。
AWSで利用していくEC2インスタンス等はそのスペックや稼働時間によって料金がかかることがあります。しかしご安心ください。これから紹介する実践で行っていくECSに対しては、利用するコンテナインスタンスも最小のタイプを利用するため、基本的にコストはかかりません。(現在、このNote記事を書くために自分もここ2週間ほど作っては壊し・・を繰り返していますが、今のところ料金は発生しておりません。)
AWSアカウントの作り方はAWS公式の以下のサイトがとても詳しいので
これを参照ください。
作成には、Eメールアドレス、クレジットカード等の情報が必要です。
Eメールアドレスがそのまま「AWSマネジメントコンソール」へのログイン情報となります。(これをルートユーザーと呼びます)
2.AWSアカウント作成後に行うこと
AWSアカウントを作成できたら、
上記で入力した3つの情報
・AWSアカウント名
・メールアドレス
・パスワード
を入力することでAWSマネジメントコンソール画面は利用できます。
このまますぐにECSの実践に向かうこともできるのですが、
セキュリティを強くしておいたほうが絶対に良いので、以下の設定をしておきましょう。(AWS公式でも強く勧めています。またいろんな記事でも
絶対にやるべき!と書かれております。)
それでは順番に行きましょう。
2-1.Google Authenticator(Google 認証システム)をスマホにインストール
いわゆる多要素認証のためのアプリです。
ログインしようとしている人が、あらかじめ申告されていたその人の持ち物(スマホとか)で、今この瞬間送った6桁の数字をちゃんと入力してきてくれるかどうか?をチェックします。
私はAndroidですが、iphoneでも使えるようです。
これをスマホにインストールします。
まずは、ただそれだけで大丈夫です。
2-2.ルートユーザーのMFA有効化
まずは、AWSマネジメントコンソールに入ります。
次に、画面上部の「サービス」の右の検索窓に「IAM」と入れて、
IAMを選択します。
画面中央に赤い三角で「!」の警告が出ていると思います。
ここで「MFAの追加」をクリックします。
セキュリティ認証情報の「多要素認証(MFA)」のところを展開し、
「MFAの有効化」をクリックします。
「MFAデバイスの管理」のところで、「仮想MFAデバイス」を選択します。
すると次の画面にうつります。
「QRコードの表示」を押して、QRコードを表示させます。
ここで、スマホに入れた「google認証システム」アプリを立ち上げます。
Google認証システムの左下に「+」のマークがあるので、
そちらをクリックして「QRコードをスキャン」をクリックします。
赤線内にQRコードを表示してくださいとなるので、先程の仮想MFAデバイス設定画面にて表示したQRコードを読み取ります。
すると、「シークレットキーを保存しました」と表示され6桁の数字が
一定時間ごとに切り替わって表示されるようになります。
そしてどのタイミングからでもいいので、
今表示されている6桁の数字を「MFAコード1」に
その次に表示される6桁の数字を「MFAコード2」に入力します。
たとえばある瞬間「012 345」と表示されていて、
その次に「678 910」と表示されていた場合、
「MFAコード1」に「012345」
「MFAコード2」に「678910」
を入力します。
ここまで来たら一回サインアウト(画面右上のプルダウンからできます)し、
「もう一度ログインする」をクリックしてログイン処理を進めます。
すると、先程のパスワード、文字入力などの認証に加えて、
以下のように多要素認証を求められる状態となります。
無事、MFA認証が有効となったルートユーザーでログインできましたでしょうか。
もう一度、サービスの横の検索窓に「IAM」と入力して、IAMサービスを選択します。または最近アクセスしたサービスから「IAM」を選択しても大丈夫です。先程まで出ていた警告がなくなり、今度はちゃんと緑になっていますね。
ルートユーザーのMFA有効化作業はここまでです。
2-3.ルートユーザーのアクセスキー削除
先程の画面で、「rootユーザーにアクティブなアクセスキーがありません」
の項目が緑色である場合は特に何もしなくて大丈夫です。
ルートユーザーのアクセスキー削除はここまでです。
2-4.アカウントエイリアスの設定
続いてアカウントエイリアスの設定です。
これはAWSマネジメントコンソールにログインするときのURLを
わかりやすい形に変えるためのものです。
先程のIAMサービス画面の右に、「アカウントエイリアス」という部分があるので、ここの「作成」をクリックします。
アカウントエイリアスの設定はここまでです。
2-5.IAMグループの作成
ここまでは、ルートユーザーに関する設定を行ってきました。
最初にAWSアカウントを作成すると、デフォルトで作成されるユーザとして「ルートユーザー」が作られます。
AWSのあるべき使い方(ベストプラクティス)として、
ルートユーザーは日常的には利用しないという決まりがあります。
なぜなら、ルートユーザーはとても強い権限を持っているからです。
その代わり、AWSには、IAMユーザーという考え方があります。
IAMユーザーはたくさん作ることができ、それぞれのIAMユーザーごとに
必要な権限(IAMポリシーといいます)をアタッチさせることができます。
必要な権限(IAMポリシー)は、IAMユーザーごとにアタッチさせることも
もちろんできますが、複数のIAMユーザーをまとめたIAMグループという管理方法があり、そのグループに対してIAMポリシーを付与することで、
所属するIAMユーザーみんなに同じ権限を付与することができます。
一般的にはIAMポリシーは個々のIAMユーザーよりもIAMグループに付与するほうが望ましいです。
なので、今回もまず、IAMグループを作ります。
IAMグループの作成はここまでです。
2-6.IAMユーザーの作成
つづいて、IAMユーザーを作成して、2-5で作成したIAMグループに所属させます。
次の画面で、好きなユーザ名を入れます。まず最初に画面例を示します。
ここは少し注意が必要です。
まず、「AWS認証情報タイプを選択」のところでは、パスワード-AWSマネジメントコンソールへのアクセスのほうだけをチェックします。
(アクセスキー-プログラムによるアクセスのほうはチェックは不要です)
続いて、「コンソールのパスワード」は、「カスタムパスワード」を選択し、好きなパスワードを入れてください。
(パスワードはこの時点ではデフォルトポリシーなので、設定できるのは以下の条件となります)
「パスワードのリセットが必要」のところのチェックを外します。
IAMユーザーの作成はここまでです。
2-7.IAMユーザーのMFA有効化
最後に、IAMユーザのMFAを有効化します。
これ以降は、「2-2.ルートユーザのMFA有効化」のところと同様です。
ルートユーザーだけでなく、IAMユーザに対してもQRコードを読み取り、6桁の数字を連続で2回入力し、MFAを有効化していきます。
IAMユーザーのMFA有効化についてはここまでです。
ここまで出来たら、一度サインアウトし、
作成したIAMユーザでログインしてみましょう。
サインアウト前に、「2-4.アカウントエイリアスの設定」で行った
以下のようなログイン用のURLをコピーしておきましょう。
(https://エイリアス名.signin.aws.amazon.com/console)
コピーしたURLをブラウザに貼り付けます。
すると以下の画面が出てきます。
ブラウザのキャッシュなのか、なんなのかよくわかりませんが、
この時に、ユーザ名の部分が「ルートユーザーのユーザ名(メールアドレス)」が入ってしまっていることがあります。
最初の枠にあるように、これは「IAMユーザ」としてサインインをしているため、「ルートユーザー」で入れるわけがありません。
なので、必ずユーザ名(とパスワード)が「ルートユーザー」ではなく
「IAMユーザー」のものであるかどうかを確認して、違った場合は入力しなおしてください。
その次に、MFA認証画面に行きます。
無事にログインできましたでしょうか?
それでは一度サインアウトして、今度はルートユーザーで入ってみましょう。ルートユーザの場合は、先程の画面(IAMユーザーとしてサインイン)のところで、「ルートユーザのEメールを使用したサインイン」を選択します。
すると今度は「サインイン」という画面になります。
ここで、「ルートユーザー」を選択して、ルートユーザのEメールアドレス
を入力します。以降は、2-2の最初の画面と同じです。
パスワード、文字入力認証、MFA認証をして、ログインできます。
ここまでで、AWSマネジメントコンソールを安全に利用するための
最低限の設定は完了です。
あとは、ルートユーザーで追加で2つだけ、設定をしておくといいかと思います。
このままルートユーザーで作業を続けましょう。
2-8.IAMユーザー/ロールによる請求情報へのアクセス許可
「2-5.IAMグループの作成」のところで少しお話したように、「ルートユーザー」は非常に強い権限があるため、日常的には利用しないことになっています。
そのため、ほとんどの作業を「IAMユーザー」で行うことになりますが、
デフォルトではIAMユーザーは請求情報を閲覧することができません。
(デフォルトではルートユーザーだけが閲覧できるようになっています)
これだと、今いくら使用したのかを確認するのに、毎回ルートユーザーでログインしなおさなければならなくなるので、少し不便ですね。
そのためIAMユーザーでも請求情報を見れるようにしておく設定をここで紹介します。
遷移先のページは、「アカウント設定」や「連絡先情報」などが続いて
縦に長いページとなっています。
ずっとスクロールしていると以下のような
「IAMユーザ/ロールによる請求情報へのアクセス」
という欄があるので、そこの「編集」をクリックします。
そして、「IAMアクセスのアクティブ化」をクリックして「更新」です。
これでIAMユーザでも請求情報を確認することができます。
ちなみに、請求情報はトップページの画面右側の
「請求ダッシュボード」から見れます。
IAMユーザー/ロールによる請求情報へのアクセス許可についてはここまでです。
次は最後、予算のアラートを作成しておきましょう。
このままルートユーザーで作業を続けます。
2-9.Budgetsの設定
最後にBudgetsの設定です。
Budgetsとは「予算」の意味です。
AWSを使うにあたり、あらかじめ「予算」を決めておいて、
予算を超えそうになったり、超えた場合にアラートメールを送ることができます。
スマホでいう、モバイルデータ使用量の警告みたいなやつですね。
ちなみに、次回行う、ECSの実践では基本的にコストはかかりませんので、
設定は任意ですが、今後もAWSを利用していくにあたっては設定しておいたほうが良いかと思いますので紹介します。
まずは、ルートユーザーで画面右上の「請求ダッシュボード」をクリックします。
画面左側の「Budgets」をクリックします。
オレンジの「予算を作成する」をクリックします。
ここまでが予算自体の設定です。
続いてこの予算を超えそうなときに通知する設定を行います。
これで設定は完了です。
サインアウトし、IAMユーザでログインしてみましょう。
(以降はもう、ルートユーザーは利用しません)
IAMユーザで「請求ダッシュボード」がちゃんと見れていたら問題ないです。
以上でBudgetsの設定は終わりです。
・・・休憩といいつつ、すごく長くなってしまいました。
自分も画面キャプチャのために初心に帰って実施したので、
記事書きあげるのに3日かかってしまいました(笑)
少なくとも現時点では上記の通りで実施できることを確認済みです。
では、次回は、ECSを実際に触り、ゼロからECS上でコンテナを動かすことを進めていきたいと思います。
ここまで読んでくれて本当にありがとうございました!
【マガジン紹介】
「ぜんぜんわからなかったECSシリーズ」のマガジンです!
鋭意更新中です!
AWS未経験者にもわかるように、優しく解説しています。
是非お読みいただけると嬉しいです!
この記事が気に入ったらサポートをしてみませんか?