設定可能なシェルプロファイルを有効にする - AWS Systems Manager

設定可能なシェルプロファイルを有効にする

デフォルトでは、Linux 用 EC2 インスタンス上のセッションは Bourne シェル (sh) を使用して開始します。ただし、bash のような別のシェルを使用することを好む人もいます。設定可能なシェルプロファイルを有効にすると、シェルの設定、環境変数、作業ディレクトリ、セッション開始時の複数のコマンドの実行など、セッション内の設定をカスタマイズできます。

重要

Systems Manager は、実行前にインスタンスにどのような変更が加えられるかを確認するために、シェルプロファイル内のコマンドやスクリプトをチェックしません。シェルプロファイルに入力されたコマンドやスクリプトのユーザーによる変更を制限するため、次の操作を推奨します。

  • AWS Identity and Access Management (IAM) ユーザーおよびロール用にカスタマイズされたセッションタイプのドキュメントを作成します。次に、これらのユーザーとロールの IAM ポリシーを変更して、StartSession API オペレーションがユーザー用に作成したセッションタイプのドキュメントのみを使用できるようにします。詳細については、「Session Manager プリファレンスドキュメントを作成する (コマンドライン)」および「クイックスタート Session Manager のエンドユーザーポリシー」を参照してください。

  • IAM ユーザーおよびロールの IAM ポリシーを変更して、作成するセッションタイプのドキュメントリソースについて UpdateDocument API オペレーションへのアクセスを拒否します。これにより、ユーザーとロールは、設定の変更を許可されることなく、作成したドキュメントをセッションの環境設定に使用できます。

設定可能なシェルプロファイルを有効にするには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Session Manager] を選択します。

  3. [Preferences (設定)] タブを選択してから、[Edit (編集)] を選択します。

  4. 該当するオペレーティングシステムのフィールドで、セッションの開始時に実行する環境変数、シェル環境設定、またはコマンドを指定します。

  5. [Save] を選択します。

シェルプロファイルに追加できるコマンドの例を次に示します。

Linux インスタンスで bash シェルに移動し、/usr ディレクトリに移動します。

exec /bin/bash cd /usr

セッションの開始時にタイムスタンプと「ようこそ」メッセージを出力します。

Linux & macOS
timestamp=$(date '+%Y-%m-%dT%H:%M:%SZ') user=$(whoami) echo $timestamp && echo "Welcome $user"'!' echo "You have logged in to a production instance. Note that all session activity is being logged."
Windows
$timestamp = (Get-Date).ToString("yyyy-MM-ddTH:mm:ssZ") $splitName = (whoami).Split("\") $user = $splitName[1] Write-Host $timestamp Write-Host "Welcome $user!" Write-Host "You have logged in to a production instance. Note that all session activity is being logged."

セッション開始時の動的システムアクティビティを表示します。

Linux & macOS
top
Windows
while ($true) { Get-Process | Sort-Object -Descending CPU | Select-Object -First 30; ` Start-Sleep -Seconds 2; cls Write-Host "Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName"; Write-Host "------- ------ ----- ----- ----- ------ -- -----------"}