AWSSupport-TroubleshootSSH - AWS Systems Manager オートメーションランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSupport-TroubleshootSSH

説明

AWSSupport-TroubleshootSSH ランブックは、Linux 用の Amazon EC2Rescue ツールをインストールし、その EC2Rescue ツールを使用して、Linux マシンへの SSH 経由でのリモートからの接続を妨げる、一般的な問題を確認しその修正を試みます。オプションで、ユーザーがオフラインの修復を明示的に許可している場合は、インスタンスを停止して起動することで、オフラインで変更を適用できます。デフォルトでは、このランブックは読み込み専用モードで動作します。

このオートメーションを実行する (コンソール)

AWSSupport-TroubleshootSSH ランブックの使用の詳細については、AWS プレミアムサポートの「AWSSupport-TroubleshootSSHトラブルシューティングトピック」を参照してください。

ドキュメントタイプ

Automation

所有者

Amazon

[Platforms] (プラットフォーム)

Linux

[Parameters] (パラメータ)

  • アクション

    型: 文字列

    有効な値: CheckAll | FixAll

    デフォルト: CheckAll

    説明: (必須) 検出された問題を修正せずにチェックのみを行うか、チェックし自動的に修正するかを指定します。

  • AllowOffline

    型: 文字列

    有効な値: true | false

    デフォルト: false

    説明: (オプション) 修正のみ - オンラインのトラブルシューティングが失敗した場合、または提供されたインスタンスがマネージドインスタンスではない場合に、オフラインで SSH の修復を許可する場合は true に設定します。注: オフライン修復の場合、SSM Automation はインスタンスを停止し、操作を試みる前に AMI を作成します。

  • AutomationAssumeRole

    型: 文字列

    説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

  • InstanceId

    型: 文字列

    説明: (必須) Linux 用 EC2 インスタンスの ID。

  • S3BucketName

    型: 文字列

    説明: (オプション) オフラインのみ - トラブルシューティングのログをアップロードするアカウントの S3 バケット名です。収集されたログにアクセスする必要がないユーザーへの不必要な読み取り/書き込みアクセス権限をバケットポリシーに付与しないようにします。

  • SubnetId

    型: 文字列

    デフォルト: SelectedInstanceSubnet

    説明: (オプション) オフラインのみ - オフラインのトラブルシューティングを実行するために使用される EC2Rescue インスタンスのサブネット ID。サブネット ID が指定されていない場合、AWS Systems Manager Automation は新しい VPC を作成します。

    重要

    サブネットは InstanceId と同じアベイラビリティーゾーンである必要があり、SSM エンドポイントへのアクセスを許可する必要があります。

必要な IAM アクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

このコマンドを受信する EC2 インスタンスには、[AmazonSSMManagedInstanceCore] Amazon 管理ポリシーがアタッチされた IAM ロールがあることが推奨されます。オンライン修復の場合、オートメーションを実行し、インスタンスにコマンドを送信するには少なくとも [ssm:DescribeInstanceInformation]、[ssm:StartAutomationExecution] および [ssm:SendCommand] が必要です。また、オートメーションの出力を読み取るためには、[ssm:GetAutomationExecution] も必要です。オフライン修復の場合、自動化の出力を読み取るためには、少なくとも [ssm:DescribeInstanceInformation]、[ssm:StartAutomationExecution]、[ec2:DescribeInstances]、および [ssm:GetAutomationExecution] が必要です。AWSSupport-TroubleshootSSHAWSSupport-ExecuteEC2Rescueを呼び出してオフライン修復を実行します。自動化を正常に実行できるように、AWSSupport-ExecuteEC2Rescue のアクセス許可を確認してください。

ドキュメントステップ

  1. aws:assertAwsResourceProperty - インスタンスがマネージドインスタンスかを確認します

    1. (オンラインの修復) インスタンスがマネージドインスタンスの場合は以下のようになります。

      1. aws:configurePackage - AWS-ConfigureAWSPackage 経由で Linux 用 EC2Rescue をインストールします。

      2. aws:runCommand - bash スクリプトを実行し、Linux 用の EC2Rescue を実行します。

    2. (オフラインの修復) インスタンスがマネージドインスタンスでない場合は以下のようになります。

      1. aws:assertAwsResourceProperty - AllowOffline = true をアサートします

      2. aws:assertAwsResourceProperty - Action = FixAll をアサートします

      3. aws:assertAwsResourceProperty - SubnetId の値をアサートします

      4. (指定されたインスタンスのサブネットを使用) SubnetId が SelectedInstanceSubnet の場合は、aws:executeAutomation を使用し、提供されたインスタンスのサブネットで AWSSupport-ExecuteEC2Rescue を実行します。

      5. (指定されたカスタムサブネットを使用) SubnetId が SelectedInstanceSubnet ではない場合、aws:executeAutomation を使用し、提供された SubnetId の値で AWSSupport-ExecuteEC2Rescue を実行します。

[Outputs] (出力)

troubleshootSSH.Output

troubleshootSSHOffline.Output

troubleshootSSHOfflineWithSubnetId.Output