Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/suwa-sh/ssm-instanceid-to-slack
lambda function for slack notification of an AWS SSM instanceID
https://github.com/suwa-sh/ssm-instanceid-to-slack
aws-lambda slack ssm ssm-agent ssm-instanceid
Last synced: about 5 hours ago
JSON representation
lambda function for slack notification of an AWS SSM instanceID
- Host: GitHub
- URL: https://github.com/suwa-sh/ssm-instanceid-to-slack
- Owner: suwa-sh
- License: mit
- Created: 2020-07-02T01:07:45.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-03-11T15:34:31.000Z (over 3 years ago)
- Last Synced: 2023-03-01T11:22:58.157Z (over 1 year ago)
- Topics: aws-lambda, slack, ssm, ssm-agent, ssm-instanceid
- Language: Python
- Homepage:
- Size: 106 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/suwa-sh/ssm-instanceid-to-slack)
# SSM instanceID to slack
## ■ Overview
ssm-agentから出力されたログから、SSM Session Managerでセッションを開始するリンクを、Slackに通知します。
![slack_notif](images/slack_notif.jpg)
## ■ Architecture
![arch](images/arch.png)
## ■ Install
### ● [Slack App](https://api.slack.com/apps)
- OAuth & PermissionsのScope設定
- Scope
- `channels:read`
- `channels:write`
- `groups:write`
- OAuth & PermissionsのTokenをコピー
- OAuth Access Token
- Bot User OAuth Access Token### ● Lambda 関数
- [最新のlambda.zip](https://github.com/suwa-sh/ssm-instanceid-to-slack/releases/latest) をダウンロード
- [Lambda関数の作成](https://ap-northeast-1.console.aws.amazon.com/lambda/home?region=ap-northeast-1#/create/function)
- 関数名: `ssm-instanceid-to-slack`
- ランタイム: `Python 3.8`
- 関数コード.アクション → zipファイルをアップロード: `ダウンロードした最新のlambda.zip`
- 環境変数
- SLACK_TOKEN: `Slack App の OAuth Access Token`
- SLACK_BOT_TOKEN: `Slack App の Bot User OAuth Access Token`
- SLACK_BOT_ICON: `任意`
- SLACK_BOT_NAME: `任意`
- Slack の public channel に通知する場合
- SLACK_CHANNEL_NAME: `public channel名`
- Slack の private channel に通知する場合
- SLACK_CHANNEL_ID: `private channel ID`### ● CloudWatch Logs サブスクリプションフィルタ
- [ssm-agent のログが出力される log group](https://ap-northeast-1.console.aws.amazon.com/cloudwatch/home?region=ap-northeast-1#logsV2:log-groups).アクション → Lambda サブスクリプションフィルタを作成
- Lambda 関数: `ssm-instanceid-to-slack`
- ログの形式: `その他`
- サブスクリプションフィルターのパターン: `Successfully registered the instance with AWS SSM`
- ssm-agentが接続を開始したときのログメッセージ