Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS・Hubot・Slackで ChatOpsする話[実装編]
Search
Kazuhisa Togo
November 08, 2016
Programming
0
850
AWS・Hubot・Slackで ChatOpsする話[実装編]
AWSとHubotを用いてSlackと連携したChatOpsを行った際の実装をお話します。
Kazuhisa Togo
November 08, 2016
Tweet
Share
More Decks by Kazuhisa Togo
See All by Kazuhisa Togo
Continuous Deployment with Go on AWS ECS
ktogo
1
4k
Golangで支えるハイパフォーマンスAPI
ktogo
6
2.9k
SIMD meets ES7
ktogo
0
98
Other Decks in Programming
See All in Programming
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
定理証明プラットフォーム lapisla.net
abap34
1
1.7k
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
260
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
890
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
210
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.1k
Software Architecture
hschwentner
6
2.1k
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
29
11k
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
110
ARA Ansible for the teams
kksat
0
150
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
550
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
150
Featured
See All Featured
Optimizing for Happiness
mojombo
376
70k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
The Pragmatic Product Professional
lauravandoore
32
6.4k
For a Future-Friendly Web
brad_frost
176
9.5k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
A designer walks into a library…
pauljervisheath
205
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Transcript
AWSɾHubotɾSlackͰ ChatOps͢Δ ࣮ ฤ Kazuhisa Togo
ΞϓϦέʔγϣϯߏ
HubotͰSlackʹଓɺ࿈ܞ
Node.js ͰՔಇ
DockerͰ ΞϓϦέʔγϣϯΛԾԽ
EC2 ΠϯϑϥશAWS
Πϯϑϥ
EC2 ECS ECR
EC2 ECS ECR ؋Ϛγϯ DockerίϯςφΛΒͤΔ
EC2 ECS ECR DockerίϯςφͷϚωδϝϯτ ࢮ׆ࢹͳͲ
EC2 ECS ECR DockerΠϝʔδͷϓϥΠϕʔτஷଂݿ
EC2 ECS ECR 3ͭ߹ΘͤͯDockerίϯςφཧ
σϓϩΠ
CIπʔϧ
CodeDeployͱΈ߹Θͤͯ Continuous Deployment CodeDeploy
ϦιʔεɺΞϓϦέʔγϣϯͷ σϓϩΠ
CodeDeploy S3 EC2 ͓͓·͔ͳྲྀΕ
CodeD S3 ϦϙδτϦʹ git push
CodeD S3 GitHub Hook
CodeD S3 ϒϥϯνͷσʔλΛऔಘ Ϗϧυˍςετ
CodeDeploy S3 E σϓϩΠ༻ͷϑΝΠϧҰࣜΛΞʔΧΠϒ S3ʹసૹ
CodeDeploy S3 EC2 ४උ͕Ͱ͖ͨΒCodeDeployݺͼग़͠
CodeDeploy S3 EC2 S3͔ΒΞʔΧΠϒΛμϯϩʔυ ల։ɾΠϯετʔϧ
CodeDeploy S3 EC2 Πϯετʔϧॲཧ ྃޙͷޙย͚
CodeDeploy S3 EC2 σϓϩΠΛશࣗಈԽ
CodeDeploy S3 EC2 ChatOpsΛͬͨϓϩηε EC2
CodeDeploy S3 EC2 Bot͔ΒσϓϩΠࢦࣔ EC2
CodeDeploy S3 EC2 εςʔδϯάڥʹσϓϩΠͨ͠༰Λ ϓϩμΫγϣϯڥʹσϓϩΠ EC2
ίϯςφͷ σϓϩΠ
ECR ͓͓·͔ͳྲྀΕ ECS
ECR CIͷϑοΫ·Ͱڞ௨ pushΛϑοΫͯࣗ͠ಈͰ։࢝ ECS
ECR CircleCIͰ docker build ECS
ECR ECRʹ docker push ECS
ECR ECS͔Βࢀর λά࣍ୈͰखଓ͖ແ͠Ͱߋ৽ ECS
ECR λεΫΛ্ཱͪ͛͢ͱ ৽͍͠Πϝʔδ͕ࣗಈద༻ ECS
ECR ͜ΕશࣗಈԽ͕Մೳ ECS
AWS-SDK
खް͍SDK Node.js SDK
όονىಈ ੲͳ͕Βͷ git pull σϓϩΠetc. Node.js SDK
ΠϯελϯεͷIPΛऔಘͨ͠Γ͢Δͷʹ SDKେ׆༂ Node.js SDK
ΞΫηε੍ޚ
ϝοηʔδͷߘϢʔβʔ SlackଆͰ ݪଇ ೝূࡁΈ
௨ৗ HubotଆͰIDͷνΣοΫ͚ͩͰOK
APIΛۦͯ͠ as_user ͱ͔͞ΕͪΌͬͨ߹ྫ֎ ͦͷ߹ݖݶΛݟ͠·͠ΐ͏
τʔΫϯͷηΩϡϦςΟʔ
S3 EC2 ιʔείʔυʹೝূใΛॻ͖ࠐΉͱ ͯ͢ͷܦ࿏Ͱ伴Λ࿐ͯ͠͠·͏
Task Definition Ͱڥมͱͯ͠ఆٛ ECS
࿙Ӯ͠͏ΔՕॴΛେ͖͘ݮ ECS
ΫϩεΞΧϯτΞΫηε
AWSΞΧϯτΛ͍ͯ͠Δ߹ ΞΫηεͰ͖ͳ͍
ΫϩεΞΧϯτΞΫηε
ϩʔϧΛ࡞
STSΛͬͯҰ࣌τʔΫϯΛऔಘ
τʔΫϯΛͬͯΞΫηε
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠