AWS Support App in Slackを試してみました
はじめに
AWS Support App in Slackが発表されましたね!
今まではマネジメントコンソールからぽちぽちケースを起票していましたが、明らかにSlackから起票できる方が気軽です。せっかくサポートを利用しているのに起票が面倒で質問できないなんてもったいないので少しでも手間が省けるのはすごく嬉しいです。
利用できる条件
Support Appを利用するには
Slackを利用している
AWSサポートプランがビジネスプラン以上である
ことが必要です。
クラシコムではSlackを利用しておりビジネスプランを契約しているため、設定を行いました。
前準備
Slackで連携するためのchannelを作成します
Support AppにアタッチするためのIAM RoleとPolicyを作成します
Channelの作成
SlackにAWS Support App専用のchannelを作成します。
AWSではSlack channelはprivateにして、サポートの操作を必要なメンバーのみ操作できることが推奨されています。
そのため、今回もprivateのchannelを作成しました。
IAM Role, Policyの作成
クラシコムではIAMはTerraformで管理しているため、上記のドキュメントのとおりIAM RoleとPolicyを作成しました。
*残念ながらSupport AppはTerraform resourceがまだ無いようです。
# ----------------------------------------------------------------------
# AWS support Slack連携用
# ----------------------------------------------------------------------
data "aws_iam_policy_document" "aws_support_app_assume_role_policy" {
version = "2012-10-17"
statement {
effect = "Allow"
principals {
type = "Service"
identifiers = ["supportapp.amazonaws.com"]
}
actions = [
"sts:AssumeRole"
]
}
}
resource "aws_iam_role" "aws_support_app" {
name = "aws-support-app"
assume_role_policy = data.aws_iam_policy_document.aws_support_app_assume_role_policy.json
}
resource "aws_iam_role_policy_attachment" "aws_support_app" {
policy_arn = "arn:aws:iam::aws:policy/AWSSupportAppFullAccess"
role = aws_iam_role.aws_support_app.name
}
ドキュメントでは細かくポリシーが指定されていましたが、AWSマネージドのAWSSupportAppFullAccessが同等のポリシーになっていたため、そちらを利用するようにしました。
設定方法
まず「サポート」のページから「AWS Support App in Slack」ページへ移動します。
次に、「Authorize workspace」をクリックしSlackと連携します。
*連携するSlack workspaceにログインしている必要があります。
「許可する」を押してワークスペースへのAWS Supportの権限を許可します。
次にマネジメントコンソールのAWS Support CenterからSlack configurationを行なっていきます。
「Add channel」をクリックし詳細を入力します。
Add channelでは作成したチャネルの情報を入れていきます。
NotificationsはAll casesにしてみました。
後はSlackのチャネルでAWS Support appをinviteする必要があります。
これで準備完了です。
起票する
Slackのチャネルでサポートの起票を試してみます。
/awssupport create-case
チャネルのチャット欄で上記コマンドを実行します。
すると画像のようなダイアログが表示されるので、いつも通りケースの入力を行います。
Subject: ケースタイトル
Description: ケースの内容
を記入します。
Nextを押すと追加で選択する項目が出るのでそちらも入れます。
Issue type: 問題の種類
Account and billing support: アカウントや支払いに関するサポート
Technical support: 技術に関するサポート
Service: 対象のサービス
Category: 困っている内容のカテゴリ
Severity: 緊急度
最後にAWSからどのように連絡が来るかを選べます。今回は「Email and Slack notifications」を選択しました。
まだChatを試していないのですが、「Live chat in Slack」にするとSlackのprivate chanelで連絡することができるようです。
「Review」を押すと、Slackのチャネルにケースが表示されます。まだ起票はしていない状況で、添付ファイルなどがある場合はこの後に設定できます。
ほとんど隠してしまっていて申し訳ないのですが、ケースの内容を確認し「Create case」を押すと起票完了です。
添付ファイルがある場合は「Attach file」で良さそうです。
念のため、マネジメントコンソールから確認します。
このように起票ができていることが確認できました。
今回調査が足らず、日本語で英語のケースを作成してしまいました。
そのため、サポートの方で新しく日本語のケースを作成していただくという形になってしまいました。AWS Support App in Slackを利用する際は英語でケースを起票する必要がありそうです。
ケースの検索
過去に起票したケースをSlackのchannelで検索できます。
/awssupport search-case
上記コマンドをchannelで実行します。
日付やケースのステータスをいれて「Search」を押すと
当てはまるケースがあればこのような形でchannel上に表示されます。
おわりに
以上のようにとても簡単にAWSのサポートケースを作成できるようになりました。
英語のケースのみしか対応しておらず、今後日本語のケースへの対応が待ち遠しいですね。日本語で起票ができるようになれば、よりサポートを利用しやすくなり開発スピードも上がりそうです。
クラシコムでは一緒にAWSでインフラ環境を構築し、安定したサービスを提供できるようにするエンジニアを募集しています。
もし興味がありましたらぜひお話しさせてください!