Slide 1

Slide 1 text

AWS ChatbotでEC2インスタンスを 起動できるようにした 2022-05-20 JAWS-UG SRE支部 #3 https://jawsug-sre.connpass.com/event/244615/ Takashi Iwamoto (@iwamot)

Slide 2

Slide 2 text

インフラエンジニア兼SREになった 昨夏まで、AWS Japanの技術サポートをしていた モノづくりの現場で、技術的負債の返済に取り組みたくなった ENECHANGE株式会社に転職した

Slide 3

Slide 3 text

AWSアクセスキーの棚卸を引き受けた ベストプラクティスはIAMロールの利用 棚卸の方針 既存アクセスキーの用途を明らかにする 使われていないものは削除する IAMロールに移行できるものは移行し、アクセスキーを削除する

Slide 4

Slide 4 text

EC2起動専用アクセスキーを見つけた エンジニアでない担当者が、AWS CLIで開発機を起動している そのためだけに作られたアクセスキー 起動タイミングは不定期

Slide 5

Slide 5 text

ChatOpsに変えたいと思った 全社的にSlackが使われている Slackで開発機を起動できれば: IAMロールに移行し、不要になったアクセスキーを削除できる 担当者がAWS CLIを使う手間も省ける

Slide 6

Slide 6 text

実装した (2021-11-04) 構成:Slack → AWS Chatbot → Lambda AWS ChatbotではEC2を直接起動できないため、Lambdaで起動

Slide 7

Slide 7 text

API Gatewayが不要でよかった AWS Chatbotがベータリリースされたのは2019年7月 それ以前は、API Gateway経由のLambda呼び出しが一般的だった

Slide 8

Slide 8 text

神アプデが来た (2021-11-29) AWS ChatbotでEC2起動が可能になった (re:Invent 2021) https://d1.awsstatic.com/webinars/jp/pdf/services/20211203_AWSB lackBelt_AWS-reinvent2021_digest.pdf (P.128)

Slide 9

Slide 9 text

Lambdaを取り除いた (2021-12-03) 構成:Slack → AWS Chatbot

Slide 10

Slide 10 text

結果、いい感じに対応できた IAMロールに移行し、アクセスキーが削除できた Slackでポチポチするだけで開発機が起動できるようになった 神アプデのおかげで、Lambdaの運用コストも不要になった

Slide 11

Slide 11 text

AWS Chatbotで手軽にChatOpsを 一部制限はあるものの、SlackでAWSリソースが管理できて便利 https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-cli- commands.html#intro-to-the-aws-cli-in-slack