![見出し画像](https://assets.st-note.com/production/uploads/images/73264866/rectangle_large_type_2_a240ad638d05de5886d5baad3b29b10e.png?width=1200)
【おまけだよ】ぜんぜんわからなかったECSについてまとめてみました(ECS実践前にAWSアカウントまわりを未経験から設定しよう!)
こんにちはこぐまです。
これから、ECSの実践をしていきたいのですが・・
本日はちょっと休憩。
ECSを実践していくには、前回紹介したようなAWS画面(AWSマネジメントコンソール)にログインできることが必要です。本日は、ECSを実施するために必要なAWSマネジメントコンソール関連の準備について書いていきます。すでにAWSマネジメントコンソールにログインできているという方は本記事は読み飛ばしてください。
![](https://assets.st-note.com/img/1646062442108-WWN5rjofGD.png?width=1200)
ここから様々な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 認証システム)をスマホにインストール
2-2.ルートユーザーのMFA有効化
2-3.ルートユーザーのアクセスキー削除
2-4.アカウントエイリアスの設定
2-5.IAMグループの作成
2-6.IAMユーザーの作成
2-7.IAMユーザーのMFA有効化
セキュリティとしてはここまでです。
そして、使い過ぎ防止のために以下を有効にしておくといいかと思います。
2-8.IAMユーザー/ロールによる請求情報へのアクセス許可
2-9.Budgetsの設定
それでは順番に行きましょう。
2-1.Google Authenticator(Google 認証システム)をスマホにインストール
いわゆる多要素認証のためのアプリです。
ログインしようとしている人が、あらかじめ申告されていたその人の持ち物(スマホとか)で、今この瞬間送った6桁の数字をちゃんと入力してきてくれるかどうか?をチェックします。
私はAndroidですが、iphoneでも使えるようです。
これをスマホにインストールします。
まずは、ただそれだけで大丈夫です。
![](https://assets.st-note.com/img/1646063137586-3BlnNeW8MW.png?width=1200)
検索してインストールできます。
2-2.ルートユーザーのMFA有効化
まずは、AWSマネジメントコンソールに入ります。
![](https://assets.st-note.com/img/1646065610082-LDNSYkyMzm.png?width=1200)
「コンソールにサインイン」をクリック
![](https://assets.st-note.com/img/1646065882069-DfWhjbO213.png)
ルートユーザーのEメールアドレスを入れて「次へ」
![](https://assets.st-note.com/img/1646066057376-Gh84zUj9A6.png)
わかりにくかったら更新でやり直す。
入力して「送信」
![](https://assets.st-note.com/img/1646205007744-YBAYc9q4v9.png)
![](https://assets.st-note.com/img/1646066284060-BDpiSllD1J.png?width=1200)
画面の表示(サービス)は若干違うかもしれません。
次に、画面上部の「サービス」の右の検索窓に「IAM」と入れて、
IAMを選択します。
![](https://assets.st-note.com/img/1646066628160-mabGnPvJ2Y.png?width=1200)
次回からクイックアクセスができるのでとてもお勧めです!
画面中央に赤い三角で「!」の警告が出ていると思います。
ここで「MFAの追加」をクリックします。
![](https://assets.st-note.com/img/1646097565209-d80AOPocRJ.png?width=1200)
セキュリティ認証情報の「多要素認証(MFA)」のところを展開し、
「MFAの有効化」をクリックします。
![](https://assets.st-note.com/img/1646097626638-VDmBtgAzcQ.png?width=1200)
「MFAデバイスの管理」のところで、「仮想MFAデバイス」を選択します。
![](https://assets.st-note.com/img/1646097771596-vfmtwo6FFy.png?width=1200)
すると次の画面にうつります。
![](https://assets.st-note.com/img/1646097897781-tjVpjf4NqM.png?width=1200)
1の説明「互換性のあるアプリケーション・・・」とは
「2-1.Google Authenticator(Google 認証システム)をスマホにインストール」
のことを指しているので、ここはすでに実施済みです。
「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」
を入力します。
![](https://assets.st-note.com/img/1646099752010-lm9R8gmvg8.png?width=1200)
任意のタイミングからで問題ない。
![](https://assets.st-note.com/img/1646115012985-m8UZUBHZiM.png?width=1200)
ここまで来たら一回サインアウト(画面右上のプルダウンからできます)し、
「もう一度ログインする」をクリックしてログイン処理を進めます。
すると、先程のパスワード、文字入力などの認証に加えて、
以下のように多要素認証を求められる状態となります。
![](https://assets.st-note.com/img/1646115403483-5Z6WPsd5A2.png)
ここで、スマホにその時表示されている
6桁の数字を入力する。
無事、MFA認証が有効となったルートユーザーでログインできましたでしょうか。
もう一度、サービスの横の検索窓に「IAM」と入力して、IAMサービスを選択します。または最近アクセスしたサービスから「IAM」を選択しても大丈夫です。先程まで出ていた警告がなくなり、今度はちゃんと緑になっていますね。
![](https://assets.st-note.com/img/1646115706954-hbsEBNMMhl.png?width=1200)
ルートユーザーのMFA有効化作業はここまでです。
2-3.ルートユーザーのアクセスキー削除
先程の画面で、「rootユーザーにアクティブなアクセスキーがありません」
の項目が緑色である場合は特に何もしなくて大丈夫です。
![](https://assets.st-note.com/img/1646115905031-e3pUQQug8U.png?width=1200)
![](https://assets.st-note.com/img/1646116039108-6XgEkla8OK.png?width=1200)
![](https://assets.st-note.com/img/1646116141882-2R3kubKrCg.png?width=1200)
![](https://assets.st-note.com/img/1646116280101-lQP0xADL6W.png?width=1200)
![](https://assets.st-note.com/img/1646115905031-e3pUQQug8U.png?width=1200)
ルートユーザーのアクセスキー削除はここまでです。
2-4.アカウントエイリアスの設定
続いてアカウントエイリアスの設定です。
これはAWSマネジメントコンソールにログインするときのURLを
わかりやすい形に変えるためのものです。
先程のIAMサービス画面の右に、「アカウントエイリアス」という部分があるので、ここの「作成」をクリックします。
![](https://assets.st-note.com/img/1646116815966-81vpYmYIh0.png?width=1200)
AWSアカウントID(12桁の数字)が表示されます。
![](https://assets.st-note.com/img/1646117071459-tWU7weS6n6.png?width=1200)
その下の「新しいサインインURL」も併せて表示されます。
このURLをブックマークしておくと次回のログインがとても楽になります。
アカウントエイリアスの設定はここまでです。
2-5.IAMグループの作成
ここまでは、ルートユーザーに関する設定を行ってきました。
最初にAWSアカウントを作成すると、デフォルトで作成されるユーザとして「ルートユーザー」が作られます。
AWSのあるべき使い方(ベストプラクティス)として、
ルートユーザーは日常的には利用しないという決まりがあります。
なぜなら、ルートユーザーはとても強い権限を持っているからです。
その代わり、AWSには、IAMユーザーという考え方があります。
IAMユーザーはたくさん作ることができ、それぞれのIAMユーザーごとに
必要な権限(IAMポリシーといいます)をアタッチさせることができます。
必要な権限(IAMポリシー)は、IAMユーザーごとにアタッチさせることも
もちろんできますが、複数のIAMユーザーをまとめたIAMグループという管理方法があり、そのグループに対してIAMポリシーを付与することで、
所属するIAMユーザーみんなに同じ権限を付与することができます。
一般的にはIAMポリシーは個々のIAMユーザーよりもIAMグループに付与するほうが望ましいです。
なので、今回もまず、IAMグループを作ります。
![](https://assets.st-note.com/img/1646117411958-vJImUDZt2r.png?width=1200)
![](https://assets.st-note.com/img/1646121263717-lvvbr4ZTSk.png?width=1200)
![](https://assets.st-note.com/img/1646121317898-2CUYbAykc4.png?width=1200)
スクロールして下に続きます。
![](https://assets.st-note.com/img/1646121365277-lAZpzFGvq7.png?width=1200)
スクロールして下に続きます。
![](https://assets.st-note.com/img/1646121842087-Y1pNQthiRm.png?width=1200)
すると候補が出てくるので、その中から「AdministratorAccess」をチェック。
そして「グループを作成」をクリック
![](https://assets.st-note.com/img/1646121937893-riAjNjSWeV.png?width=1200)
IAMグループの作成はここまでです。
2-6.IAMユーザーの作成
つづいて、IAMユーザーを作成して、2-5で作成したIAMグループに所属させます。
![](https://assets.st-note.com/img/1646122074086-ePsVVuF24s.png?width=1200)
![](https://assets.st-note.com/img/1646122130975-apGIl9BMIv.png?width=1200)
次の画面で、好きなユーザ名を入れます。まず最初に画面例を示します。
![](https://assets.st-note.com/img/1646122346636-q9cizlxTIx.png?width=1200)
以下の注意部分を参考に入力してください。
ここは少し注意が必要です。
まず、「AWS認証情報タイプを選択」のところでは、パスワード-AWSマネジメントコンソールへのアクセスのほうだけをチェックします。
(アクセスキー-プログラムによるアクセスのほうはチェックは不要です)
続いて、「コンソールのパスワード」は、「カスタムパスワード」を選択し、好きなパスワードを入れてください。
(パスワードはこの時点ではデフォルトポリシーなので、設定できるのは以下の条件となります)
![](https://assets.st-note.com/img/1646122607221-wGWOge7gqV.png?width=1200)
「パスワードのリセットが必要」のところのチェックを外します。
![](https://assets.st-note.com/img/1646122346636-q9cizlxTIx.png?width=1200)
この状態で「次のステップ:アクセス権限」をクリックします。
(IAMユーザ名、パスワードは忘れずに覚えておきましょう。)
![](https://assets.st-note.com/img/1646122938701-Ib9KyK7BCF.png?width=1200)
2-5で作成したIAMグループにチェックを入れます。
この状態で「次のステップ:タグ」をクリック
![](https://assets.st-note.com/img/1646123047790-cmaGuVfNzv.png?width=1200)
![](https://assets.st-note.com/img/1646123127998-ytRtUTcEU1.png?width=1200)
![](https://assets.st-note.com/img/1646123167555-MOYKkiYkw3.png?width=1200)
IAMユーザーの作成はここまでです。
2-7.IAMユーザーのMFA有効化
最後に、IAMユーザのMFAを有効化します。
![](https://assets.st-note.com/img/1646124089221-zQ4SFMtuQL.png?width=1200)
ユーザ一覧から、先程作成したIAMユーザをクリック。
(横のチェックボックスではなく、青くなっているIAMユーザ名をクリックします)
![](https://assets.st-note.com/img/1646124777703-eESDgl35nz.png?width=1200)
![](https://assets.st-note.com/img/1646124861258-nrAayNBwrl.png?width=1200)
これ以降は、「2-2.ルートユーザのMFA有効化」のところと同様です。
ルートユーザーだけでなく、IAMユーザに対してもQRコードを読み取り、6桁の数字を連続で2回入力し、MFAを有効化していきます。
![](https://assets.st-note.com/img/1646124891191-wLBMLkigcD.png?width=1200)
ルートユーザーの6桁数字とIAMユーザの6桁数字は別々に管理されます。
IAMユーザーのMFA有効化についてはここまでです。
ここまで出来たら、一度サインアウトし、
作成したIAMユーザでログインしてみましょう。
サインアウト前に、「2-4.アカウントエイリアスの設定」で行った
以下のようなログイン用のURLをコピーしておきましょう。
(https://エイリアス名.signin.aws.amazon.com/console)
コピーしたURLをブラウザに貼り付けます。
すると以下の画面が出てきます。
ブラウザのキャッシュなのか、なんなのかよくわかりませんが、
この時に、ユーザ名の部分が「ルートユーザーのユーザ名(メールアドレス)」が入ってしまっていることがあります。
最初の枠にあるように、これは「IAMユーザ」としてサインインをしているため、「ルートユーザー」で入れるわけがありません。
なので、必ずユーザ名(とパスワード)が「ルートユーザー」ではなく
「IAMユーザー」のものであるかどうかを確認して、違った場合は入力しなおしてください。
![](https://assets.st-note.com/img/1646126111848-woiFdx6xlO.png)
「ルートユーザのEメールを使用したサインイン」をクリックする。
似たような画面なので、混乱するんですかね。。
よくログインできないという問い合わせをもらうことが多いです。
色が違ったりするとわかりやすいのかもしれませんね。
その次に、MFA認証画面に行きます。
![](https://assets.st-note.com/img/1646126541338-ODZZQYl9Uf.png)
IAMユーザのほうの6桁の数字を入れます。
(くどいかもしれませんが、ルートユーザのほうの数字ではありません!)
無事にログインできましたでしょうか?
それでは一度サインアウトして、今度はルートユーザーで入ってみましょう。ルートユーザの場合は、先程の画面(IAMユーザーとしてサインイン)のところで、「ルートユーザのEメールを使用したサインイン」を選択します。
![](https://assets.st-note.com/img/1646126687854-WWUFWbpKFu.png)
すると今度は「サインイン」という画面になります。
ここで、「ルートユーザー」を選択して、ルートユーザのEメールアドレス
を入力します。以降は、2-2の最初の画面と同じです。
パスワード、文字入力認証、MFA認証をして、ログインできます。
![](https://assets.st-note.com/img/1646126782360-3BZXXM9M2a.png)
ここで2-4で設定した「アカウントエイリアス名」を入れることで、
「IAMユーザとしてサインイン」の画面に遷移する。
ここまでで、AWSマネジメントコンソールを安全に利用するための
最低限の設定は完了です。
あとは、ルートユーザーで追加で2つだけ、設定をしておくといいかと思います。
このままルートユーザーで作業を続けましょう。
2-8.IAMユーザー/ロールによる請求情報へのアクセス許可
「2-5.IAMグループの作成」のところで少しお話したように、「ルートユーザー」は非常に強い権限があるため、日常的には利用しないことになっています。
そのため、ほとんどの作業を「IAMユーザー」で行うことになりますが、
デフォルトではIAMユーザーは請求情報を閲覧することができません。
(デフォルトではルートユーザーだけが閲覧できるようになっています)
これだと、今いくら使用したのかを確認するのに、毎回ルートユーザーでログインしなおさなければならなくなるので、少し不便ですね。
そのためIAMユーザーでも請求情報を見れるようにしておく設定をここで紹介します。
![](https://assets.st-note.com/img/1646181949423-HcgXsgS5Nx.png?width=1200)
ちなみに、「サインアウト」もここからできますね。
遷移先のページは、「アカウント設定」や「連絡先情報」などが続いて
縦に長いページとなっています。
ずっとスクロールしていると以下のような
「IAMユーザ/ロールによる請求情報へのアクセス」
という欄があるので、そこの「編集」をクリックします。
![](https://assets.st-note.com/img/1646183688118-J3QWrGuXLE.png?width=1200)
そして、「IAMアクセスのアクティブ化」をクリックして「更新」です。
![](https://assets.st-note.com/img/1646183793357-rixiFLGN7t.png?width=1200)
これでIAMユーザでも請求情報を確認することができます。
ちなみに、請求情報はトップページの画面右側の
「請求ダッシュボード」から見れます。
![](https://assets.st-note.com/img/1646183882229-FZtmemfOfB.png?width=1200)
IAMユーザー/ロールによる請求情報へのアクセス許可についてはここまでです。
次は最後、予算のアラートを作成しておきましょう。
このままルートユーザーで作業を続けます。
2-9.Budgetsの設定
最後にBudgetsの設定です。
Budgetsとは「予算」の意味です。
AWSを使うにあたり、あらかじめ「予算」を決めておいて、
予算を超えそうになったり、超えた場合にアラートメールを送ることができます。
スマホでいう、モバイルデータ使用量の警告みたいなやつですね。
ちなみに、次回行う、ECSの実践では基本的にコストはかかりませんので、
設定は任意ですが、今後もAWSを利用していくにあたっては設定しておいたほうが良いかと思いますので紹介します。
まずは、ルートユーザーで画面右上の「請求ダッシュボード」をクリックします。
![](https://assets.st-note.com/img/1646184275647-ZxcnDRcPUe.png?width=1200)
画面左側の「Budgets」をクリックします。
![](https://assets.st-note.com/img/1646184396492-2PTlf7Ecqv.png?width=1200)
オレンジの「予算を作成する」をクリックします。
![](https://assets.st-note.com/img/1646184478542-BPVPqtZWp1.png?width=1200)
直接予算のページに遷移します。
![](https://assets.st-note.com/img/1646184542125-FDlmQpoH3H.png?width=1200)
![](https://assets.st-note.com/img/1646184625599-IqkY25wP2m.png?width=1200)
![](https://assets.st-note.com/img/1646184655056-YD1TZoObyb.png?width=1200)
リニューアルタイプは「定期」
予算設定方法は「固定」です。
そして予算額を入力します。
ここでは例として「1ドル(約110円くらい?)」としました。
![](https://assets.st-note.com/img/1646184796711-nLS2Q1Sqf9.png?width=1200)
「予算」を適用するという意味合いです。
とくに変更せず、「次へ」で大丈夫です。
ここまでが予算自体の設定です。
続いてこの予算を超えそうなときに通知する設定を行います。
![](https://assets.st-note.com/img/1646184954175-5unDVlp9pY.png?width=1200)
下にスクロールします。
![](https://assets.st-note.com/img/1646185182882-P4V6GdiQ3o.png?width=1200)
つまり、1ドルに対して80%(0.8ドル)を超えた場合、
アラートメールを送信します。
トリガーの部分は、「実績」となっていますが、ここを「予測」にすることで、
0.8ドルを超えそうな場合に送るということもできます。
Eメールの受信者のところに、受信したいメールアドレスを記載します。
![](https://assets.st-note.com/img/1646185340008-3skiA3HVy3.png?width=1200)
![](https://assets.st-note.com/img/1646185597689-CWnSlp7MdN.png?width=1200)
![](https://assets.st-note.com/img/1646185627716-VcCf9pi710.png?width=1200)
これで設定は完了です。
サインアウトし、IAMユーザでログインしてみましょう。
(以降はもう、ルートユーザーは利用しません)
IAMユーザで「請求ダッシュボード」がちゃんと見れていたら問題ないです。
![](https://assets.st-note.com/img/1646186086144-Rh6nop52u3.png?width=1200)
このページ自体が閲覧できていることが大切です。
![](https://assets.st-note.com/img/1646186270228-UEuhKKH7hg.png?width=1200)
このように表示される場合は、
「2-8.IAMユーザー/ロールによる請求情報へのアクセス許可」がうまくいっていません。
以上でBudgetsの設定は終わりです。
・・・休憩といいつつ、すごく長くなってしまいました。
自分も画面キャプチャのために初心に帰って実施したので、
記事書きあげるのに3日かかってしまいました(笑)
少なくとも現時点では上記の通りで実施できることを確認済みです。
では、次回は、ECSを実際に触り、ゼロからECS上でコンテナを動かすことを進めていきたいと思います。
ここまで読んでくれて本当にありがとうございました!
【マガジン紹介】
「ぜんぜんわからなかったECSシリーズ」のマガジンです!
鋭意更新中です!
AWS未経験者にもわかるように、優しく解説しています。
是非お読みいただけると嬉しいです!
この記事が気に入ったらサポートをしてみませんか?