

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

# を使用した Slack リソースでの AWS サポート アプリの作成 AWS CloudFormation
<a name="creating-resources-with-cloudformation"></a>

AWS サポート Slack のアプリは と統合されています。これは AWS CloudFormation、 AWS リソースとインフラストラクチャの作成と管理に費やす時間を短縮できるように、リソースのモデル化とセットアップに役立つサービスです。必要なすべての AWS リソース (AccountAlias や SlackChannelConfiguration など) を記述するテンプレートを作成し、それらのリソースを CloudFormation プロビジョニングして設定します。

を使用すると CloudFormation、テンプレートを再利用して AWS サポート アプリリソースを一貫して繰り返しセットアップできます。リソースを一度記述し、複数の AWS アカウント およびリージョンで同じリソースを何度もプロビジョニングします。

## AWS サポート アプリケーションと CloudFormation テンプレート
<a name="working-with-templates"></a>

 AWS サポート アプリおよび関連サービスのリソースをプロビジョニングおよび設定するには、 [CloudFormation テンプレート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)を理解する必要があります。テンプレートは、JSON や YAML でフォーマットされたテキストファイルです。これらのテンプレートは、 CloudFormation スタックでプロビジョニングするリソースを記述します。JSON または YAML に慣れていない場合は、 CloudFormation デザイナー を使用して CloudFormation テンプレートの使用を開始できます。詳細については、 *AWS CloudFormation ユーザーガイド*の[CloudFormation 「デザイナーとは](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html)」を参照してください。

AWS サポート アプリは、 での AccountAlias と SlackChannelConfiguration の作成をサポートしています CloudFormation。AccountAlias と SlackChannelConfiguration リソース向けの JSON および YAML テンプレートの例を含む詳細については、「AWS CloudFormation ユーザーガイド」の「[AWS サポート アプリケーションのリソースタイプのリファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SupportApp.html)」を参照してください。

## 組織用の Slack 設定リソースを作成する
<a name="using-cloudformation-templates-for-support-app"></a>

CloudFormation テンプレートを使用して、 AWS サポート アプリケーションに必要なリソースを作成できます。組織の管理者アカウントである場合は、 AWS Organizationsでテンプレートを使用して、メンバーアカウント用にこれらのリソースを作成できます。

たとえば、テンプレートを使用して組織内のすべてのアカウントに対して同じ Slack ワークスペース設定を作成し、別のテンプレートを使用して特定の単位 AWS アカウント または組織単位 (OUs) に対して異なる Slack チャネル設定を作成できます。テンプレートを使用して Slack ワークスペース設定を作成して、メンバーアカウントが AWS アカウントの必要な Slack チャンネルを設定できるようにすることもできます。

CloudFormation テンプレートを使用するかどうかを選択できます。CloudFormation テンプレートを使用しない場合は、手動で次の手順を実行できます。
+ で AWS サポート アプリリソースを作成します AWS Support Center Console。
+ [https://docs.aws.amazon.com/supportapp/latest/APIReference/API_RegisterSlackWorkspaceForOrganization.html](https://docs.aws.amazon.com/supportapp/latest/APIReference/API_RegisterSlackWorkspaceForOrganization.html) API 操作を呼び出して、アカウントの Slack ワークスペースを登録します。CloudFormation スタックはユーザーに代わってこの API オペレーションを呼び出します。
+ 各メンバーアカウントに必要なアクセス許可を持つ IAM ロールを作成します。
+ [https://docs.aws.amazon.com/supportapp/latest/APIReference/API_CreateSlackChannelConfiguration.html](https://docs.aws.amazon.com/supportapp/latest/APIReference/API_CreateSlackChannelConfiguration.html) API オペレーションを呼び出して、各メンバーアカウントの Slack チャネルを設定します。

手動手順の詳細については、「」を参照してください[複数のアカウントを承認](authorize-slack-workspace.md#authorize-multiple-accounts)。

次の手順に従って、組織で CloudFormation テンプレートをアップロードします。[[AWS サポート アプリケーションのリソースタイプのリファレンス]](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SupportApp.html) ページで、テンプレートのサンプルを使用できます。

テンプレートは、CloudFormation が次のリソースを作成するよう指示します。
+ [Slack チャンネル設定](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html)。
+ [Slack ワークスペース設定](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html)。
+ `AWSSupportSlackAppCFNRole` 名を持つ [IAM ロール](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)。AWSSupportAppFullAccess AWS 管理ポリシーがアタッチされています。

**Contents**
+ [Slack 向けの CloudFormation テンプレートを更新する](#update-the-templates-for-slack)
+ [管理者アカウント用のスタックを作成する](#create-your-stack-for-slack)
+ [組織のスタックセットを作成する](#create-your-stackset-for-your-organization)

### Slack 向けの CloudFormation テンプレートを更新する
<a name="update-the-templates-for-slack"></a>

まず、以下のテンプレートを使用してスタックを作成します。テンプレートは Slack のワークスペースとチャンネルの有効な値に置き換える必要があります。

**注記**  
テンプレートを使用して組織の [AccountAlias](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html) リソースを作成することはお勧めしません。AccountAlias リソースは、 AWS サポート アプリ AWS アカウント 内の を一意に識別します。メンバーアカウントは、サポートセンターコンソールにアカウント名を入力できます。詳細については、「[Slack ワークスペースを承認する](authorize-slack-workspace.md)」を参照してください。

**Slack 向けの CloudFormation テンプレートを更新するには**

1. 組織の管理者アカウントである場合は、メンバーアカウントが CloudFormation を使用してリソースを作成できるようにするため、アカウントの Slack ワークスペースを手動で承認する必要があります。まだの場合は、「[Slack ワークスペースを承認する](authorize-slack-workspace.md)」を参照してください。

1. [[AWS サポート アプリケーションのリソースタイプのリファレンス]](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SupportApp.html)ページから、希望するリソース向けの JSON テンプレートまたは YAML テンプレートをコピーします。

1. テキストエディタで、テンプレートを新しいファイルに貼り付けます。

1. テンプレートで、必要なパラメータを指定します。少なくとも、以下のフィールドの値を置き換えてください。
   + Slack ワークスペース ID を使用した `TeamId`
   + Slack チャンネル ID を使用した `ChannelId`
   +  Slack チャンネル設定を識別する名前付き `ChannelName`
**ヒント**  
ワークスペースとチャンネル ID を確認するには、ブラウザで Slack チャンネルを開きます。URL は、ワークスペース ID が最初の識別子で、チャンネル ID が 2 番目の識別子です。例えば、https://app.slack.com/client/T012ABCDEFG/C01234A5BCD では、T012ABCDEFG がワークスペース ID で、C01234A5BCD がチャンネル ID です。

1. ファイルを JSON または YAML ファイルとして保存します。

### 管理者アカウント用のスタックを作成する
<a name="create-your-stack-for-slack"></a>

次に、組織の管理者アカウント用のスタックを作成する必要があります。この手順では、ユーザーに代わって [https://docs.aws.amazon.com/supportapp/latest/APIReference/API_RegisterSlackWorkspaceForOrganization.html](https://docs.aws.amazon.com/supportapp/latest/APIReference/API_RegisterSlackWorkspaceForOrganization.html) API 操作が呼び出され、Slack でワークスペースが承認されます。

**注記**  
前の手順で更新した Slack ワークスペース設定テンプレートを管理者アカウント用にアップロードすることをお勧めします。 AWS サポート アプリを使用するように管理アカウントも設定しない限り、Slack チャネル設定テンプレートをアップロードする必要はありません。

**管理者アカウント用のスタックを作成するには**

1. 組織の管理アカウント AWS マネジメントコンソール として にサインインします。

1. [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソールを開きます。

1. まだの場合は、**リージョンセレクタ**で、次のいずれかを選択します AWS リージョン。
   + 欧州 (フランクフルト)
   + 欧州 (アイルランド)
   + 欧州 (ロンドン)
   + 米国東部 (バージニア北部)
   + 米国東部 (オハイオ)
   + 米国西部 (オレゴン)
   + アジアパシフィック (シンガポール)
   + アジアパシフィック (東京)
   + カナダ (中部)

1. 手順に従って、スタックを作成します。詳細については、「[CloudFormation コンソールでのスタックの作成](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)」を参照してください。

   CloudFormation が正常にスタックを作成したら、同じテンプレートを使用して組織向けのスタックセットを作成できます。

### 組織のスタックセットを作成する
<a name="create-your-stackset-for-your-organization"></a>

次に、同じテンプレートを Slack ワークスペース設定に使用して、`service-managed` アクセス許可のあるスタックセットを作成します。スタックセットを使用して組織全体のスタックを作成することも、必要な OU を指定することもできます。詳細については、「[スタックセットを作成する](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)」を参照してください。

この手順では、ユーザーに代わって [https://docs.aws.amazon.com/supportapp/latest/APIReference/API_RegisterSlackWorkspaceForOrganization.html](https://docs.aws.amazon.com/supportapp/latest/APIReference/API_RegisterSlackWorkspaceForOrganization.html) API 操作も呼び出します。この API 操作では、メンバーアカウントの Slack を使用してワークスペースを承認されます。

**組織のスタックセットを作成するには**

1. 組織の管理アカウント AWS マネジメントコンソール として にサインインします。

1. [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソールを開きます。

1. まだの場合は、**リージョンセレクタ**で、前の手順で使用 AWS リージョン したものと同じ を選択します。

1. ナビゲーションペインから **[StackSets]** を選択します。

1. **[Create StackSet]** (StackSet の作成) を選択します。

1. **[Choose a template]** (テンプレートの選択) ページで、以下のオプションはデフォルトのままにします。
   + **[Permissions]** (アクセス許可) で、**[Service-managed permissions]** (サービスマネージド型のアクセス許可) を選択します。
   + **[Prerequisite - Prepare template]** (前提条件 - テンプレートの準備) で、**[Template is ready]** (テンプレートの準備完了) を受け入れます。

1. **[Specify template]** (テンプレートの指定) で、**[Upload a template file]** (テンプレートファイルのアップロード) を選択し、**[Choose file]** (ファイルの選択) を選択します。

1. ファイルを選択してから、**[Next]** (次へ) を選択します。

1. **[Specify StackSet details]** (StackSet の詳細を指定) ページで、スタック名 (**support-app-slack-workspace** など) を入力してから **[Next]** (次へ) を選択します。

1. **[Configure StackSet options]** (StackSet オプションを設定) ページで、デフォルトオプションを受け入れてから **[Next]** (次へ) を選択します。

1. **[Set deployment options]** (デプロイオプションの設定) ページの **[Add stacks to stack set]** (スタックをスタックセットに追加) では、デフォルトの **[Deploy new stacks]** (新しいスタックをデプロイ) オプションを受け入れます。

1. **[Deployment targets]** (デプロイターゲット) では、組織全体のスタックを作成するか、特定の OU のスタックを作成するかを選択します。OU を選択した場合は、OU ID を入力します。

1. **リージョンを指定する**には、**次のいずれかを入力します AWS リージョン。
   + 欧州 (フランクフルト)
   + 欧州 (アイルランド)
   + 欧州 (ロンドン)
   + 米国東部 (バージニア北部)
   + 米国東部 (オハイオ)
   + 米国西部 (オレゴン)
   + アジアパシフィック (シンガポール)
   + アジアパシフィック (東京)
   + カナダ (中部)
**注記:**  
ワークフローを合理化するには、ステップ 3 で選択した AWS リージョン ものと同じ を使用することをお勧めします。
複数の を選択すると AWS リージョン 、スタックの作成と競合する可能性があります。

1. **[Deployment options]** (デプロイオプション) の **[Failure tolerance - optional]** (障害耐性 - オプション) に、CloudFormation がオペレーションを停止するまでにスタックに障害が発生する可能性のあるアカウントの数を入力します。追加するアカウントの数から 1 を引いた数を入力することをお勧めします。例えば、指定した OU にメンバーアカウントが 10 個ある場合は、「9」と入力します。つまり、CloudFormation がオペレーションを 9 回失敗しても、少なくとも 1 つのアカウントは成功することになります。

1. [**次へ**] を選択します。

1. **[Review]** (確認) ページで選択内容を確認し、**[Submit]** (送信) を選択します。**[Stack Instances]** (スタックインスタンス) タブでスタックのステータスをチェックできます。

1. (オプション) Slack チャンネル設定のテンプレートをアップロードするには、この手順を繰り返します。サンプルテンプレートは、IAM ロールも作成し、 AWS 管理ポリシーをアタッチします。このロールには、お客様に代わって他のサービスにアクセスするために必要なアクセス許可があります。詳細については、「[AWS サポート アプリへのアクセスの管理](support-app-permissions.md)」を参照してください。

   Slack チャンネル設定を作成するスタックセットを作成しない場合、メンバーアカウントは Slack チャンネルを手動で設定できます。詳細については、「[Slack チャンネルの設定](add-your-slack-channel.md)」を参照してください。

CloudFormation がスタックを作成すると、各メンバーアカウントはサポートセンターコンソールにサインインし、設定した Slack ワークスペースとチャンネルを見つけることができます。その後、 AWS サポート アプリを に使用できます AWS アカウント。「[Slack チャンネルでのサポートケースの作成](create-case-in-slack.md)」を参照してください。

**ヒント**  
新しいテンプレートをアップロードする必要がある場合は、以前に指定したものと同じ AWS リージョン を使用することをお勧めします。

## CloudFormation の詳細はこちら
<a name="learn-more-cloudformation"></a>

 CloudFormation の詳細については、以下のリソースを参照してください。
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation API リファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [AWS CloudFormation コマンドラインインターフェイスユーザーガイド](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)

## Terraform を使用して AWS サポート アプリリソースを作成する
<a name="terraform-support-app"></a>

[Terraform](https://www.terraform.io/) を使用して、 の AWS サポート アプリリソースを作成することもできます AWS アカウント。Terraform は、クラウドアプリケーションに使用できるコードとしてのインフラストラクチャツールです。CloudFormation スタックをアカウントにデプロイする代わりに、Terraform を使用して AWS サポート アプリケーションリソースを作成できます。

Terraform をインストールしたら、必要な AWS サポート アプリリソースを指定できます。Terraform は、[https://docs.aws.amazon.com/supportapp/latest/APIReference/API_RegisterSlackWorkspaceForOrganization.html](https://docs.aws.amazon.com/supportapp/latest/APIReference/API_RegisterSlackWorkspaceForOrganization.html) API 操作を呼び出し、ユーザーに代わって Slack ワークスペースを登録してリソースを作成します。その後、サポートセンターコンソールにログインして、設定した Slack のワークスペースとチャンネルを見つけることができます。

**注意事項**  
組織の管理者アカウントである場合は、メンバーアカウントがリソースの作成に Terraform を使用できるよう、アカウントの Slack ワークスペースを手動で承認する必要があります。まだの場合は、「[Slack ワークスペースを承認する](authorize-slack-workspace.md)」を参照してください。
CloudFormation スタックセットとは異なり、Terraform を使用して組織内の OU 向けの AWS サポート アプリケーションリソースを作成することはできません。
これらのアップデートのイベント履歴は、 AWS CloudTrailの Terraform からも確認できます。これらのイベントの `eventSource` は `cloudcontrolapi.amazonaws.com` と `supportapp.amazonaws.com` になります。詳細については、「[を使用した Slack API コールでの AWS サポート アプリのログ記録 AWS CloudTrail](logging-using-cloudtrail-support-app.md)」を参照してください。

### 詳細情報
<a name="learn-more-terra-form"></a>

Terraform の詳細については、以下のトピックを参照してください。
+  [Terraform のインストール](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)
+ [Terraform チュートリアル: のインフラストラクチャを構築する AWS](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/aws-build)
+ `[awscc\$1support\$1app\$1account\$1alias](https://registry.terraform.io/providers/hashicorp/awscc/latest/docs/resources/supportapp_account_alias)`
+ `[awscc\$1supportapp\$1slack\$1workspace\$1configuration](https://registry.terraform.io/providers/hashicorp/awscc/latest/docs/resources/supportapp_slack_workspace_configuration)`
+ `[awscc\$1supportapp\$1slack\$1channel\$1configuration](https://registry.terraform.io/providers/hashicorp/awscc/latest/docs/resources/supportapp_slack_channel_configuration)`