🐣

とにかくEC2を立ててログインする - AWSをはじめからていねいに

2021/11/25に公開

ていねいを心掛けたAWS記事です。スクリーンショット満載でやった気になれます。
AWS関連の他の記事はAWSをはじめからていねいにからどうぞ。

概要

マネジメントコンソールでEC2を構築してセッションマネージャーで接続します。
セッションマネージャーを使うために専用のIAMロールを作成してEC2に割り当てる必要があります。
この記事では以下の順番で操作を行います。

  1. IAMロールの作成
  2. EC2の作成
  3. セッションマネージャーで接続

ゴール

EC2にセッションマネージャーで接続してechoコマンドでhello worldを表示します。地味。。。
Goal

必要なもの

  • 作業時間:30分
  • 費用:無料※
  • AWSアカウント

登場する主なコンポーネント

  1. EC2
    AWSの仮想サーバーです。課金が秒単位のため必要なときだけ起動して使い終わったら停止することで費用を節約することができます。
  2. セッションマネージャー
    ブラウザ上でEC2に接続して操作を行うための機能です。2019年9月に登場しました。
    この機能が登場するまではEC2サーバー上でSSHサービスを起動してSSHで接続するのが一般的でした。初心者にはハードルが高く、接続するための鍵情報の管理などで多くの問題がありました。
    セッションマネージャーの登場でEC2への接続の難易度は大幅に下がりました。
  3. IAMロールとIAMポリシー
    EC2にセッションマネージャーで接続するためには専用の権限をつける必要があります。
    権限のことをAWSではIAMポリシーと呼びます。IAMポリシーには多くの種類が存在しますが、今回はセッションマネージャーを使うための権限をEC2に与えます。
    EC2にIAMポリシーを直接与えることはできないので、IAMロールを使ってEC2に割り当てます。
    図にすると以下のようなイメージとなります。
    IAMRole IAMPolicy
    ただし、上記の説明は正確ではありません。IAM権限は理解が難しく、とりあえずEC2を動かすレベルであれば上記の理解で問題ないでしょう。IAMについて詳しく知りたい場合は専用の記事を書く予定なのでそちらを参照してください。

EC2の作成手順

  1. リージョンを東京に変更する
    マネジメントコンソールにログインしたら右上のリージョンを確認してください。東京になっていない場合は東京に変更します。
    「アジアパシフィック(東京)」を選択すると東京リージョンに変わります。
    select tokyo region

  2. マネジメントコンソールからIAMサービスを選択する
    マネジメントコンソールの左上の「サービス」を押すと表示されるメニューから「セキュリティ、ID、およびコンプライアンス」を選択します。表示されるサブメニューから「IAM」を選択します。
    select iam from menu

  3. IAMロール一覧を表示する
    IAMダッシュボード左側のメニューから「ロール」を選択してロール一覧を表示します。
    select iamrole from dashbord

  4. IAMロールの作成を開始する
    「ロールを作成」ボタンを押してIAMロールの作成をはじめます。
    create iamrole

  5. EC2用のロールとして作成する
    「ユースケースの選択」から「EC2」を選択して「次のステップ:アクセス権限」ボタンを押します。
    select assume role

  6. セッションマネージャー用のポリシーを選ぶ
    「ポリシーのフィルタ」に「AmazonSSMManagedInstanceCore」を入力して絞り込みます。
    表示されたポリシーのチェックボックスをチェックして「次のステップ:タグ」ボタンを押します。
    select policy

  7. タグの作成はスキップする
    タグの追加画面が表示されますが、必須ではないのでスキップして「次のステップ:確認」ボタンを押します。
    skip tag

  8. ロールに名前をつける
    「ロール名」に「SessionManagerRole」を入力し「ロールの作成」ボタンを押します。
    name iamrole

  9. 一覧に作成したロールがあることを確認する
    これでIAMロールの作成は完了です。
    check iamrole list

  10. EC2ダッシュボードを表示する
    マネジメントコンソールの左上の「サービス」を押すと表示されるメニューから「コンピューティング」を選択します。表示されるサブメニューから「EC2」を選択します。
    show EC2 dashbord

  11. EC2インスタンス一覧んを表示する
    EC2ダッシュボード左側のメニューから「インスタンス」を選択してインスタンス一覧を表示します。
    show EC2 list

  12. EC2の作成を開始する
    右上の「インスタンスを起動」ボタンを押してEC2の作成をはじめます。
    start create ec2

  13. マシンイメージにAmazon Linux 2 AMIを選択する
    マシンイメージの一覧から「Amazon Linux 2 AIM」を選択します。
    「Amazon Linux 2 AIM」が複数表示されている場合、リストの一番上に表示されている最新バージョンを選択します。
    select amazon linux2

  14. インスタンスタイプに無料枠対象のt2.microを選択する
    インスタンスタイプの一覧から「t2.micro」を選択して「次のステップ:インスタンス詳細の設定」ボタンを押します。
    select instance type

  15. IAMロールにSessionManagerRoleを設定する
    IAMロールに「SessionManagerRole」を設定して「確認と作成」ボタンを押します。
    select iamrole

  16. 構成を確認する
    AMIが「Amazon Linux 2 AIM」になっていること、インスタンスタイプが「t2.micro」であることを確認して「起動」ボタンを押します。

    confirm ec2 create

  17. キーペアは作成せずにEC2を作成する
    キーペアの使用に関するダイアログが表示されます。
    「キーペアなしで続行」を選択し「私は、キーペアがない場合・・・」のチェックボックスをチェックして「インスタンスの作成」ボタンを押します。

    select key pair

  18. インスタンスの作成が開始されたことを確認する
    「インスタンスは現在作成中です」が表示されていることを確認して「インスタンスの表示」ボタンを押します。
    check ec2 status

  19. 一覧に作成したEC2があることを確認する
    EC2の一覧に追加された行のインスタンスの状態が「実行中」になっていることを確認します。
    check ec2 list

  20. EC2に接続する
    EC2の一覧の左側のチェックボックスをチェックして「接続」ボタンを押します。
    connect ec2

  21. 接続方法にセッションマネージャーを選択する
    「セッションマネージャー」を選択して「接続」ボタンをおします。
    select connection way

  22. セッションマネージャーでコマンドを実行する
    別タブでコンソール画面が表示されます。(起動するまではAWSコンソールの画面で処理が行われます)
    ここで「echo hello world!」コマンドを入力してみましょう。
    以下画面のようにhello world!が表示されれば正常に接続できています。
    exec command

  23. セッションマネージャーを終了する
    「exit」コマンドを入力してセッションマネージャーを終了します。
    exit session manager

  24. 終了確認ダイアログを閉じる
    終了確認ダイアログが表示されるので「閉じる」ボタンを押します。
    hide exit dialog

  25. EC2一覧を表示する
    接続画面に戻るのでパンくずリストの「インスタンス」を選択してEC2一覧を表示します。
    show ec2 list

  26. 作成したEC2を停止する
    EC2の一覧の左側のチェックボックスをチェックして「インスタンスの状態」プルダウンから「インスタンスを停止」を選択します。
    stop ec2

  27. 確認ダイアログで停止を押す
    確認ダイアログが表示されるので「停止」ボタンを押します。
    confirm dialog

  28. 一覧の表示が停止中になったことを確認する
    EC2の一覧のインスタンスの状態が「停止中」となったことを確認します。
    しばらくすると「停止済み」に自動的に変わります。
    check ec2 status

  29. 一覧の表示が停止済みになったことを確認する
    EC2の一覧のインスタンスの状態が「停止済み」となったことを確認します。
    停止中のインスタンスは課金されません。
    check ec2 status

感想

セッションマネージャーの登場でEC2の構築や操作が格段に楽になりました。
セッションマネージャーの登場でSSH接続することは少なくなっていると思うので、EC2作成時のキーペアの確認は表示しないほうが初心者を不安にさせなくて良いと思いますね。

次はこれをやろう

AWS関連の他の記事はAWSをはじめからていねいにからどうぞ。

GitHubで編集を提案

Discussion