AWS Service Catalog のサービスアクション - AWS Service Catalog

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

AWS Service Catalog のサービスアクション

AWS Service Catalog により、コンプライアンスとセキュリティ対策に従いながら、管理メンテナンスとエンドユーザートレーニングを減らすことができます。サービスアクションを使用すると、管理者は、AWS Service Catalog での運用タスクの実行、問題のトラブルシューティング、承認されたコマンドの実行、アクセス許可のリクエストをエンドユーザーに許可できます。AWS Systems Manager ドキュメントを使用して、サービスアクションを定義します。-AWS Systems ManagerドキュメントAmazon EC2 の停止や再起動など、AWS のベストプラクティスを実装する事前定義されたアクションにアクセスでき、カスタムアクションを定義することもできます。

このチュートリアルでは、Amazon EC2 インスタンスを再起動する機能をエンドユーザーに提供します。必要なアクセス許可を追加し、サービスアクションを定義して製品に関連付けたら、プロビジョニングされた製品でそのアクションを使用して、エンドユーザーのエクスペリエンスをテストします。

Prerequisites

このチュートリアルでは、AWS のフル管理アクセス許可を持ち、すでに AWS Service Catalog の使用に慣れていて、製品、ポートフォリオ、ユーザーの基本セットを所有していることを前提とします。AWS Service Catalog の使用に慣れていない場合は、このチュートリアルを使用する前に「設定」と「ご利用開始にあたって」のタスクを完了してください。

ステップ 1: エンドユーザーのアクセス許可を設定する

エンドユーザーアカウントには、特定のサービスアクションを表示および実行するアクセス許可が必要です。この例では、エンドユーザーにAWS Service Catalogサービスアクション機能を使用して、Amazon EC2 の再起動を実行します。

アクセス許可を更新するには

  1. を開くAWS Identity and Access Management(IAM) コンソール (https://console.aws.amazon.com/iam/

  2. メニューの [グループ] を選択します。

  3. [グループ] ページで、エンドユーザーによって AWS Service Catalog リソースへのアクセスに使用されるグループを選択します。この例では、エンドユーザーグループを選択します。独自の実装では、該当するエンドユーザーによって使用されるグループを選択します。

  4. グループの詳細ページの [Permissions (アクセス許可)] タブで、新しいポリシーを作成するか、既存のポリシーを編集します。この例では、グループの AWS Service Catalog プロビジョニングおよび終了アクセス許可用に作成されたカスタムポリシーを選択して、既存のポリシーにアクセス許可を追加します。

  5. [Policy (ポリシー)] ページで、[ポリシーの編集] を選択して必要なアクセス許可を追加します。ビジュアルエディタまたは JSON エディタを使用してポリシーを編集できます。この例では、JSON エディタを使用してアクセス許可を追加します。このチュートリアルでは、以下のアクセス許可をポリシーに追加します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1536341175150", "Action": [ "servicecatalog:ListServiceActionsForProvisioningArtifact", "servicecatalog:ExecuteprovisionedProductServiceAction", "ssm:DescribeDocument", "ssm:GetAutomationExecution", "ssm:StartAutomationExecution", "ssm:StopAutomationExecution", "cloudformation:ListStackResources", "ec2:DescribeInstanceStatus", "ec2:StartInstances", "ec2:StopInstances" ], "Effect": "Allow", "Resource": "*" } ] }
  6. ポリシーを編集した後、ポリシーの変更を確認して承認します。これで、エンドユーザーグループのユーザーに、Amazon EC2 の再起動アクションを実行するアクセス許可が付与されました。AWS Service Catalog。

ステップ 2: サービスアクションを作成する

次に、Amazon EC2 インスタンスを再起動するサービスアクションを作成します。

  1. を開くAWS Service Catalogコンソール (https://console.aws.amazon.com/sc/

  2. メニューの [Service actions (サービスアクション)] を選択します。

  3. [service actions (サービスアクション)] ページで、[Create new action (新しいアクションの作成)] を選択します。

  4. [Create action] ページで、サービスアクションを定義する AWS Systems Manager ドキュメントを選択します。Amazon EC2 インスタンスの再起動アクションは、AWS Systems Managerドキュメントなので、ドロップダウンメニューのデフォルトのオプションをそのまま使用します。Amazon ドキュメント

  5. [AWS-RestartEC2Instance] アクションを選択します。

  6. お客様の環境とチームに合ったアクションの名前と説明を指定します。この説明はエンドユーザーに表示されるため、アクションの内容を理解するのに役立つものを選択してください。

  7. []パラメータとターゲットの設定で、アクションのターゲットとなる SSM ドキュメントパラメータ (たとえば、インスタンス ID) をクリックし、パラメーターのターゲットを選択します。パラメータを追加するには、[パラメータの追加] を選択します。

  8. [Permissions] で、ロールを選択します。この例では、デフォルトのアクセス許可を使用します。他のアクセス許可の設定も可能で、このページで定義します。

  9. 設定を確認したら、[Create action (アクションの作成)] を選択します。

  10. 次のページでは、アクションが作成されて使用可能になると確認メッセージが表示されます。

ステップ 3: サービスアクションを製品バージョンに関連付ける

アクションを定義したら、そのアクションを製品に関連付ける必要があります。

  1. [Service actions] ページで、[AWS-RestartEC2instance]、[Associate action] の順に選択します。

  2. [Associate action (アクションの関連付け)] ページで、エンドユーザーによってサービスアクションが実行されるようにする製品を選択します。この例では、[Linux Desktop] を選択します。

  3. 製品バージョンを選択します。1 番上のチェックボックスを使用して、すべてのバージョンを選択できます。

  4. [Associate action (アクションの関連付け)] を選択します。

  5. 次のページで、確認メッセージが表示されます。

これで、AWS Service Catalog でサービスアクションが作成されました。このチュートリアルの次のステップは、エンドユーザーとしてサービスアクションを使用することです。

ステップ 4: エンドユーザーエクスペリエンスをテストする

エンドユーザーはプロビジョニングされた製品に対してサービスアクションを実行できます。このチュートリアルの目的上、エンドユーザーには少なくとも 1 つのプロビジョニングされた製品が必要です。プロビジョニングされた製品は、前のステップでサービスアクションに関連付けた製品バージョンから起動する必要があります。

エンドユーザーとしてサービスアクションにアクセスするには

  1. エンドユーザーとして AWS Service Catalog コンソールにログインします。

  2. AWS Service Catalog ダッシュボードのナビゲーションペインで、[プロビジョニングされた製品のリスト] を選択します。このリストには、エンドユーザーのアカウント用にプロビジョンされた製品が表示されます。

  3. [プロビジョニングされた製品のリスト] ページで、プロビジョニングされたインスタンスを選択します。

  4. [プロビジョニングされた製品の詳細] ページで、右上の [Actions (アクション)] を選択してから、[AWS-RestartEC2instance] アクションを選択します。

  5. カスタムアクションを実行することを確認します。アクションが送信されたという確認メッセージが表示されます。

ステップ 5: トラブルシューティング

サービスアクションの実行が失敗した場合は、エラーメッセージが出力セクションでサービスアクション実行イベントのプロビジョニング済み製品ページで. 以下に、よくあるエラーメッセージの説明を示します。

注記

エラーメッセージの正確なテキストは変更される可能性があるため、いずれの種類の自動化プロセスでも使用しないでください。

内部エラー

AWS Service Catalog で内部エラーが発生しました。後でもう一度お試しください。問題が解決しない場合は、カスタマーサポートまでお問い合わせください。

[An error occurred (ThrottlingException) when calling the StartAutomationExecution operation (StartAutomationExecution オペレーションの呼び出し時にエラーが発生しました (ThrottlingException))]

サービスアクションの実行が SSM などのバックエンドサービスによって制限されました。

[Access denied while assuming the role (ロールの引き受け中にアクセスが拒否されました)]

AWS Service Catalog は、サービスアクション定義で指定されたロールを引き受けることができませんでした。次のことを確認してください。amazonaws.comプリンシパル、またはservicecatalog.us-east-1.amazonaws.comは、ロールの信頼ポリシーで許可されています。

[An error occurred (StartAutomationExecution オペレーションの呼び出し時にエラーが発生しました。ユーザーには、リソースに対して:SSM: StartAutomationExecution を実行する権限がありません。

サービスアクション定義で指定されたロールに、ssm:StartAutomationExecution を呼び出すアクセス許可がありません。ロールに適切な SSM アクセス許可があることを確認してください。

タイプのリソースが見つかりませんTargetTypeプロビジョニング済み製品

プロビジョニング済み製品に、SSM ドキュメントで指定されたターゲットタイプと一致するリソース (AWS። EC2። Instance など) が含まれていません。プロビジョニングされた製品でこれらのリソースを確認するか、ドキュメントが正しいことを確認してください。

[Document with that name does not exist (その名前のドキュメントは存在しません)]

サービスアクション定義で指定されたドキュメントが存在しません。

[Failed to describe SSM Automation document (SSM 自動化ドキュメントの定義の取得に失敗しました)]

AWS Service Catalog指定したドキュメントの定義を取得しようとしたときに、SSM から不明な例外が検出されました。

[Failed to retrieve credentials for role (ロールの認証情報の取得に失敗しました)]

AWS Service Catalog は指定されたロールの引き受け中に不明なエラーを検出しました。

パラメータに値」InvalidValue「が見つからない{ValidValue1}, {ValidValue2}

SSM に渡されたパラメータ値がドキュメントの許容値のリストにありません。渡されたパラメータが有効であることを確認し、再試行してください。

[Parameter type error. に指定された値ParameterNameは有効な文字列ではありません。

SSM に渡されたパラメータの値がドキュメントのこのタイプでは無効です。

[Parameter is not defined in service action definition (パラメータがサービスアクション定義で定義されていません)]

サービスアクション定義で定義されていないパラメータが AWS Service Catalog に渡されました。使用できるのは、サービスアクション定義で定義されたパラメータのみです。

[Step fails when it is executing/canceling action. エラーメッセージ。 診断の詳細については、「Automation Service トラブルシューティングガイド」を参照してください。

SSM 自動化ドキュメントのステップが失敗しました。さらにトラブルシューティングするには、メッセージ内のエラーを参照してください。

次のパラメータの値は、プロビジョニングされた製品にはないため、許可されません。InvalidResourceId

プロビジョニングされた製品にないリソースに対するアクションをユーザーがリクエストしました。

[TargetType not defined for SSM Automation document (SSM 自動化ドキュメントに TargetType が定義されていません)]

サービスアクションでは、SSM 自動化ドキュメントに TargetType を定義する必要があります。SSM 自動化ドキュメントを確認してください。