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
ネットワークエンジニアこそGASを覚えた方がよいと思った話 / network-enginee...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
komeinw
January 12, 2018
Technology
3.7k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ネットワークエンジニアこそGASを覚えた方がよいと思った話 / network-engineer-gas
komeinw
January 12, 2018
More Decks by komeinw
See All by komeinw
kubevirt動かしてみた_npstudy#19 / try_kubevirt_npstudy#19
komeiy
3
1.7k
Datadog_で作る_NW_監視のメリット_デメリット.pdf / Datadog_NW_Monitoring
komeiy
3
3.7k
ここ3年におけるサイバーエージェントのネットワークを取り巻く環境の変化 / cyberagent-adtech-network-for-these-3years
komeiy
11
4.9k
OkinawaOpendays2016_ネットワーク運用コード化への取り組み
komeiy
1
1.3k
Interop2016_Mellanox_ca_yamamoto.pdf
komeiy
0
1.3k
Interop2016_SDI_OpenStage-アドテクに必要なSDN_NFV_ca_yamamamoto.pdf
komeiy
0
1.3k
Interop2016_Mellanox_ca_40g_hasegawa.pdf
komeiy
0
1.4k
Interop2016_huawei_ca.pdf
komeiy
0
1.4k
mellanox_switch_shortreview_interop_2015.pdf
komeiy
0
190
Other Decks in Technology
See All in Technology
20260619 私の日常業務での生成 AI 活用
masaruogura
1
120
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
790
爆速でマルチプロダクトを立ち上げる時 事業・CTO目線で大事にしたい事
miyatakoji
0
100
失敗を資産に変えるClaude Code
shinyasaita
0
430
200個のGitHubリポジトリを横断調査したかった
icck
0
110
脆弱性対応、どこで線を引くか
rymiyamoto
0
360
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
810
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
120
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
120
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
790
フロンティアAIのゲート化と地政学リスク
nagatsu
0
120
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
1
230
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Mind Mapping
helmedeiros
PRO
1
240
A designer walks into a library…
pauljervisheath
211
24k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Practical Orchestrator
shlominoach
191
11k
Fireside Chat
paigeccino
42
3.9k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Transcript
ネットワークエンジニア こそGASを覚えるべきと思っ た話 CyberAgent アドテク本部 山本 孔明
❏ 山本 孔明 アドテク本部のインフラ組織所属のエンジニア 今はプライベートクラウドチームのリーダーをやっていま す 主な業務 • オンプレとパブリックのネットワーク(物理/仮想) •
OpenStack / CircleCI / Aritifactory ...etc • チームマネジメント 自己紹介
アドテク本部について インターネット広告において、広告配信の最適化やメディアの収益最大化という観点から アドテクノロジーの重要度が高まっています。 サイバーエージェントではアドテクノロジー分野における これらのサービスについて各子会社を通じ開発しておりましたが、 各サービスの開発部門を横断して組織化する専門部署として アドテク本部が設立されました。
サイバーエージェントのアドテク 詳細は「日本一やさしいアドテク教室」を御覧ください! https://www.cyberagent.co.jp/ir/personal/adtech/adtech_01/
ポート表の作成ってめんどくさい・・・ • モデルごとに違うポート番号 • ディスクリプションに書いてあることを転記する無駄感 • スイッチの VLAN 変えたらポート表を変えないといけない二度手間感 •
更新を何回か忘れて管理が事実上崩壊 そもそもポート表を作るのが本質ではない・・・!!
で、どうする? • Ansible で管理すればいいのでは? ◦ ios_config 並べるみたいな管理を全メーカーやる・・・? ◦ ( 割とありかもしれない
) • GitHub にコンフィグを自動でアップしておけばいいのでは? ◦ 簡単だけどネットワークエンジニア以外の可読性がいまいち問題 ◦ ( 便利っちゃ便利なので活用はしている ) そういえば、ポート表を自動生成する方法はないのかな?
Ansible 2.4の話 Ansible 2.4 でネットワークプログラマビリティな運用を考える https://adtech.cyberagent.io/techblog/archives/3801 • parse_cli_textfsm + ntc-templates
がスーパー便利 • ios_command などで各メーカーの ネットワーク機器を操作するのは割と楽 • json で情報取れるので加工しやすい
あ、Databaseに入れちゃえば いいんじゃない??
Databaseに入れることで • いろんな場面で二次利用できる • フロントに Redash 使ったりして可視化が楽 • スプレッドシート使えばまさにポート表いらない ファイル共有のしやすさ、同時編集などを考えると
CSV よりスプレッドシートがおすすめ。
構成概要 MySQL Switch Jenkins ① ② ③ 定期取得
GAS (Google App Script) について • JavaScript をベースにしている • カレンダーやスプレッドシートなど多数の
Google Apps を操作可能 • マニュアルがしっかりしている • こういうレベルの活用なら学習コストが意外と低い Let’s Try GAS!!
結構簡単にできちゃう • DB に接続してテーブル作る例 SQL そのまんま !!
今回GASでやること • DB に接続 • 任意のテーブルを select する • 目的のシートに書き出す
すごく Simple !!
今回GASでやること • DB に接続 ◦ var conn = Jdbc.getConnection(dbUrl, user,
userPwd); ◦ var stmt = conn.createStatement(); • 任意のテーブルを select する ◦ var result = stmt.executeQuery(sql); • 目的のシートに書き出す ◦ var sheet = SpreadsheetApp.getActiveSheet(); ◦ var cell = sheet.getRange('A1'); ◦ cell.offset(row, 0).setValue(results.getString(1)); やっぱり Simple !!
技術的なハードルは 意外と低い?
まとめ • とりあえず DB へ入れておくとなにかと便利 • フロントにはスプレッドシートがおすすめ • この用途なら GAS
はそんなに難しくない • 自動化するコストとポート表にかけてるコストと要相談 プライベートクラウドでそもそも ポート表に管理コストそんなにか かってない疑惑・・・。