0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWSハンズオン実践】Systems Managerを使ったサーバ管理はじめの一歩編

Last updated at Posted at 2025-09-06

1. ハンズオン内容

image.png

  • ハンズオンでは各リソースを段階的に作成していきます

※Cloud9はVSCodeとPowerShellで代用
※画像はAWS公式ページより引用

  • CloudFormationによる自動化はこちら
  • Terraformによる自動化は準備

前提条件&注意事項

  • 一部課金が発生します(数十円程度)。終了後は必ず削除しましょう。
  • 親ページ見てない人は見てね
  • CodeCommitは利用しません。GitHubを代用しますので、AWSから接続できるようご用意ください。
  • ブログ内でバケット、ドメインを扱っている場合、同一名称は使わないでください。
  • UIの操作は基本的にはルートアカウントを使っています。必要に応じてサービスロールを作成しています

2. Step1、環境作成

image.png

※画像はハンズオンより引用

2.1 (Step1)CFnによる環境作成

json形式のテンプレートがハンズオンで用意されていますがyml形式に変換しておきます。

CloudFormation > スタック > スタックの作成

大項目 中項目 選択肢 備考
前提条件 - テンプレートの準備 テンプレートの準備 既存のテンプレートを選択
テンプレートの指定 テンプレートソース テンプレートファイルのアップロード
テンプレートファイルのアップロード h4b-ssm-basic-template.yml
スタック名を提供 スタック名 h4b-ssm-basic-template
アクセス許可 - オプション IAM ロール (なし) ユーザ権限で作成
上記以外 全てデフォルト

1点だけ補足。SSMを使うときのSGの設定はアウトバウンドになります。EC2から出ていく設定という意味。インバウンドではない。これは試験でもよくでるかな。

3. Step2、SSMでEC2に接続する

image.png

※画像はハンズオンより引用

3.1 (Step2)SSM用IAMロール作成

EC2にSSMを使ってアクセスするには、SSMの権限をもったロールをEC2につける必要があります。

  • IAM > ロール > ロールを作成

画面名:信頼されたエンティティを選択

大項目 中項目 選択肢 備考
信頼されたエンティティタイプ 🔴 ✅ AWS のサービス
⬜ AWS アカウント
⬜ ウェブアイデンティティ
⬜ SAML 2.0 フェデレーション
⬜ カスタム信頼ポリシー

画面名:許可を追加

大項目 中項目 選択肢 備考
ユースケース 🔴サービスまたはユースケース EC2
🔴ユースケース EC2 Role for AWS Systems Manager

画面名:許可を追加

大項目 中項目 選択肢 備考
許可ポリシー ポリシー名 AmazonSSMManagedInstanceCore
許可の境界を設定 - オプション ✅ 許可の境界なしでロールを作成
⬜ 許可の境界を使用して、最大ロール許可を制御

画面名:名前、確認、および作成

大項目 中項目 選択肢 備考
ロールの詳細 🔴ロール名 h4b-role
説明 Allows EC2 instances to call AWS services like CloudWatch and Systems Manager on your behalf.
信頼ポリシー 省略
許可ポリシーの概要 AmazonSSMManagedInstanceCore
タグを追加 - オプション

追加
終盤で行う作業ですが二度手間になるのでここで実施します。SSMがイベントログに書き込む設定です

  • IAM > ロール > h4b-role > 許可を追加 > IAMポリシー追加 > ポリシーをアタッチ

CloudWatchLogsFullAccessを追加

3.2 (Step2)EC2作成

  • EC2 > インスタンス > インスタンスを起動

画面名:インスタンスを起動

大項目 中項目 選択肢 備考
名前とタグ 🔴名前 h4b-instance
アプリケーションおよび OS イメージ (Amazon マシンイメージ) Amazon マシンイメージ (AMI) Amazon Linux 2023
アーキテクチャ 64 ビット (x86)
インスタンスタイプ インスタンスタイプ t3.micro
キーペア (ログイン) キーペア名 - 必須 キーペアなしで続行 未選択でも同じ意味だと思う
ネットワーク設定 🔴VPC - 必須 h4b-vpc 編集ボタンクリックすると入力画面が切り替わります
🔴サブネット
✅ h4b-private-subnet
⬜ ...
privateだよ
🔴パブリック IP の自動割り当て ⬜ 有効化
✅ 無効化
🔴ファイアウォール (セキュリティグループ) ⬜ セキュリティグループを作成
✅ 既存のセキュリティグループを選択する
🔴共通のセキュリティグループ ✅ h4b-ec2-sg
⬜ ...
高度なネットワーク設定 項目多数により省略
ストレージを設定 1 x 8 GiB gp3 ルートボリューム, 3000 IOPS, 暗号化なし
高度な詳細 ドメイン結合ディレクトリ 値は省略
🔴IAM インスタンスプロフィール h4b-role
ホスト名のタイプ 値は省略
DNS ホスト名 値は省略
インスタンスの自動復旧 値は省略
シャットダウン動作 値は省略
停止 - 休止動作 値は省略
終了保護 値は省略
停止保護 値は省略
CloudWatch モニタリングの詳細 値は省略
クレジット仕様 値は省略
プレイスメントグループ 値は省略
EBS 最適化インスタンス 値は省略
インスタンス帯域幅設定 値は省略
購入オプション 値は省略
キャパシティーの予約 値は省略
テナンシー 値は省略
RAM ディスク ID 値は省略
カーネル ID 値は省略
Nitro Enclave 値は省略
ライセンス設定 値は省略
CPU オプション 値は省略
アクセス可能なメタデータ 値は省略
メタデータ IPv6 エンドポイント 値は省略
メタデータのバージョン 値は省略
メタデータレスポンスのホップ制限 値は省略
メタデータのタグを許可 値は省略
ユーザーデータ - オプション
⬜ ユーザーデータは既に base64 エンコードされています

3.3 (Step2)動作確認1、フリートマネージャー

  • Systems Manager > フリートマネージャー > マネージドノード

作成したEC2がFleetManagerに表示されていればOK

3.4 (Step2)動作確認2、セッションマネージャーでEC2に接続

  • Systems Manager > Session Manager > セッションの開始

画面名:Specify target

大項目 中項目 選択肢 備考
理由 🔴セッション – optional の理由 ハンズオン 必須ではありません
🔴ターゲットインスタンス ✅ h4b-instance

画面名:Specify session document - optional

デフォルトのままでOK

画面名:Review and launch

デフォルトのままでOK

このあと、ec2にログインできればOKです。

sh-5.2$

3.5 (Step2)動作確認3、CloudWatchロググループ作成

ここは確認ではないですが、次のセッションマネージャで必要です

  • CloudWatch > ロググループ > ロググループを作成

ロググループを作成

大項目 中項目 選択肢 備考
ロググループの詳細 🔴ロググループ名 h4b-log
保持期間の設定 ✅ 失効しない
...
ログクラス ✅ スタンダード
⬜ Infrequent Access
KMS キー ARN - オプション
タグ

ここで作ったロググループへEC2の操作が記録される設定をこの後します

3.6 (Step2)動作確認4、セッションマネージャー設定変更

ここは確認ではないですが、デフォルトではログ出力しないようだ。そこで設定変更を行う

  • Systems Manager > Session Manager > 設定 > 編集

画面名:Session Manager

大項目 中項目 選択肢 備考
一般的な詳細設定 アイドルセッションタイムアウト 20
最大セッション時間 ⬜ I最大セッション時間を有効にする
KMS 暗号化 ⬜ KMS 暗号化を有効にする
セッションのオペレーティングシステムユーザーを指定する ⬜ Linux インスタンスの Run As サポートを有効にする
CloudWatch ログ記録 🔴CloudWatch ログ記録 ✅ 有効にする
ご希望のログ記録オプションを選択 ✅ セッションログをストリーミング (Recommended)
⬜ セッションログをアップロード
🔴暗号化を強制 ⬜ カスタマーマスターキー (CMK) によって暗号化された CloudWatch ロググループのみを許可
🔴Find Log Groups ✅ リストからロググループを選択する
⬜ テキストボックスにロググループ名を入力する
h4b-log
S3 ログ記録 S3 にセッションログを送信 ⬜ 有効にする
Linux シェルプロファイル
Windows シェルプロファイル

これで設定は完了ですが、SSMがイベントログに書き込む権限がまだありません。

3.7 (Step2)動作確認5、ログ確認

EC2で何かコマンドを実行し、CloudWatchにログが出力されていればOKです

  • CloudWatch > ロググループ > h4b-log > ログストリームを選択
{
    "eventVersion": "1.0",
    "eventTime": "2025-09-06T08:10:37Z",
    "awsRegion": "ap-northeast-1",
    "target": {
        "id": "i-07498afc860d335f7"
    },
    "userIdentity": {
        "arn": "arn:aws:iam::414328432170:root"
    },
    "runAsUser": "ssm-user",
    "sessionId": "root-g2lp2x3yenayijirx2dlo2hrli",
    "sessionData": [
        "sh-5.2$ "
    ]
}

3.8 (Step2)動作確認6、システムマネージャのRun Command

image.png

  • AWS Systems Manager > Run Command > Run Command
大項目 中項目 選択肢 備考
コマンドドキュメント 🔴 ✅ AWS-RunShellScript OSのコマンドを実行するもの
ドキュメントのバージョン ✅ 1(デフォルト)
...
コマンドのパラメータ 🔴Commands pwd
whoami
なんでもOK
Working Directory
Execution Timeout 3600
ターゲット ターゲット
⬜ インスタンスタグの指定
✅ インスタンスを手動で選択する
⬜ リソースグループの選択
h4b-instance
その他のパラメータ コメント
タイムアウト (秒) 600
レート制御 使わなそうなので省略
出力オプション 🔴コマンド出力の Amazon S3 バケットへの書き込み ⬜ S3 バケットへの書き込みを有効化する 今回はマネジメントコンソール上に出力されるものを確認する
コマンド出力を Amazon CloudWatch Logs に書き込む ⬜ CloudWatch 出力 今回はマネジメントコンソール上に出力されるものを確認する
CloudWatch alarm - optional Alarm name
SNS 通知 SNS 通知 ⬜ SNS 通知の有効化
AWS コマンドラインインターフェイスのコマンド プラットフォーム Linux/Unix/OS X 存在価値がわからん
CLI コマンド ... 存在価値がわからん

この後、画面に結果が出力されますが、わかりずらいです

image.png

image.png

4. Step3、インベントリマネージャ・ステートマネジャー

インベントリマネージャ・ステートマネジャーの操作は省略します。ハンズオン動画の通りです。

  • AWS Systems Manager > インベントリ
  • AWS Systems Manager > ステートマネージャー

インベントリ(SSM Inventory): 管理対象インスタンスの構成情報を収集して見える化する(読む)。

ステートマネージャ(SSM State Manager): 望ましい設定を自動で適用・維持する(書く)。

5. Step4、削除

  1. State Managerの関連付けを削除 → なんの意味があるかはわからん
  2. Session Managerのログ出力設定削除
  3. EC2インスタンスの削除
  4. CloudWatch Logsグループの削除
  5. IAMロールの削除
  6. CloudFormationスタックの削除

さいごに

感想です

  • もうsshで接続することはないのかな。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?