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
レガシーなAnsibleを改善していくための方針/How to improve the leg...
Search
tom-256
April 17, 2019
Technology
10
2.7k
レガシーなAnsibleを改善していくための方針/How to improve the legacy Ansible
Ansible Night in Tokyo 2019.04の発表資料
https://ansible-users.connpass.com/event/125609/
tom-256
April 17, 2019
Tweet
Share
More Decks by tom-256
See All by tom-256
PipeCDを導入してリリースフローを改善した話/How to improve release workflow by pipecd
tom256
0
18
サーバサイドTypeScriptモノレポを半年運用した結果/How to maintain server side typescript monorepo
tom256
0
310
フロントエンドのCIについて/front end ci tips
tom256
0
83
Slack + Cloud Functionsで迅速な障害の初動対応をする/incident management by slack
tom256
0
140
AWSで実現するChatOps〜サーバレスでBlue/Greenデプロイする仕組みと工夫点〜 /chatops deployment
tom256
0
390
GHEとAWSを使用したデプロイ/リリースフローの紹介/introduction-deployflow-aws-and-ghe
tom256
0
130
Other Decks in Technology
See All in Technology
Qiita埋め込み用スライド
naoki_0531
0
5.1k
UI State設計とテスト方針
rmakiyama
2
600
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
なぜCodeceptJSを選んだか
goataka
0
160
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
510
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
16
4.3k
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
180
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
kargoの魅力について伝える
magisystem0408
0
210
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
230
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
570
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
BBQ
matthewcrist
85
9.4k
Faster Mobile Websites
deanohume
305
30k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Mobile First: as difficult as doing things right
swwweet
222
9k
GraphQLとの向き合い方2022年版
quramy
44
13k
The Invisible Side of Design
smashingmag
298
50k
Navigating Team Friction
lara
183
15k
Unsuck your backbone
ammeep
669
57k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Transcript
ϨΨγʔͳ"OTJCMFΛ վળ͍ͯͨ͘͠Ίͷํ "OTJCMF/JHIUJO5PLZP
XIPBNJ 5XJUUFSUB 8FCۀք όοΫΤϯυΤϯδχΞ GSPNۚࢢ
Զͷʢࢲͷʣ"OTJCMFܦݧஊ
ϨΨγʔͳ"OTJCMFΛͲ͏͍͔ͬͯͯ͘͠ʁ
ͳ͢͜ͱ
ɾഎܠ ɾΊ͟͢ͱ͜Ζ ɾϦϑΝΫλ·ͰͷಓͷΓ ɾϦϑΝΫλํ ɾ·ͱΊ
എܠ
ߏਤ ΦϯϓϨ IPTUT QSETUHEFW $POUSPM.BDIJOF .BOBHFNFOU/PEF TTI
ɾαʔόʹखಈͰมߋΛՃ͑ͯ͋Δ ɾ݅Λ͑ΔDIBOHFE ɾ$IFDLNPEF͕GBJMFE͢Δ ɾҎલ͍࣮ͭߦ͞Ε͔ͨఆ͔Ͱͳ͍ ɾTUHͱQSEͰࠩҟ͕͋Δ ɾWFSTJPO य़࣌
Ί͟͢ͱ͜Ζ
Ί͟͢ͱ͜Ζ QMBZCPPLͱαʔόͷ͕ࠩͳ͍ ႈੑ͕୲อ͞Ε͍ͯΔ ճҎ߱DIBOHFE ɹ͘͠ɺDIBOHFE͕ආ͚ΒΕͳ͍߹ OBNFͳͲͰͦΕ͕Θ͔ΔΑ͏ʹͳ͍ͬͯΔ
Ί͟͢ͱ͜Ζ ఆظతʹ࣮ߦ͞Ε͍ͯΔ ࣮ߦཤྺ͕ཧ͞Ε͍ͯΔ
ϦϑΝΫλ·ͰͷಓͷΓ
Քಇ͍ͯ͠ΔαʔόͱͷࠩΛͳ͘͢ αʔόͷίϐʔΛͱͬͯݕূڥΛ࡞Δ ݱࡏՔಇ͍ͯ͠ΔαʔόͷઃఆΛίʔυʹө͢Δ "OTJCMFΛ࣮ߦݕূ͢Δ ͳ͍͜ͱ͕֬ೝͰ͖ͨΒຊ൪αʔόͰ࣮ߦ͢Δ
Քಇ͍ͯ͠ΔαʔόͱͷࠩΛͳ͘͢ ɾҰ୴݅ͷDIBOHFEແࢹ ɾ$IFDLNPEF͕GBJMFE͢ΔͷΛमਖ਼
"OTJCMFͷόʔδϣϯΛ্͛Δ ɾ࠷৽ͷ҆ఆ൛ʹ্͛Δ ɾಈ࡞ݕূΛ͢Δ
͜ΕͰαʔόͱQMBZCPPL͕ಉ͡ঢ়ଶʹͳͬͨ ࣍ํΛܾΊΔ
ϦϑΝΫλํ
ͳΔ͘UBTLͷத৮Βͣʹ֎ງΛຒΊ͍ͯ͘
·ͣ$*ڥΛ͑Δ ɾ"89ͷಋೖ ɾ$*ͷಋೖ
"89ͷಋೖ ɾ࣮ߦཤྺ͕ͬͯͳ͍ ɾ"OTJCMFͷϗετʹ44)ͯ͠࡞ۀͨ͘͠ͳ͍ &$Ͱ"OTJCMF"89ΛཱͯΔ &$  &*1ͷ࠷খݶߏͰ࡞Δ
"89ͷಋೖ ެࣜʹ$'OςϯϓϨʔτ͕͋Δ͕ɺࠓճͷέʔεʹରͯ͠ ͳͷͰݟૹΓ https://aws.amazon.com/jp/quickstart/architecture/awx/
$POUSPM.BDIJOF "89 .BOBHFNFOU/PEF
$*ͷಋೖ $JSDMF$*&OUFSQSJTFͰύΠϓϥΠϯ࡞ (JU)VC"DUJPOT(JU)VC&OUFSQSJTFʹରԠͯ͠ͳ͍ͨΊ ݟૹΓ
$*ͷಋೖ Γ͍ͨ͜ͱ ϦϞʔτCSBODIʹQVTI ͍ܰॲཧ ɾ੩తղੳ TZOUBYDIFDL BOTJCMFMJOU ɾςετ Ϣχοτςετ
QVTISFNPUFCSBODI BOTJCMFQMBZCPPL ɾTZOUBYDIFDL ɾBOTJCMFMJOU ɾVOJUUFTU
$*ͷಋೖ Γ͍ͨ͜ͱ ඇಉظPSεέδϡʔϧ࣮ߦ ॏ͍ॲཧ ɾႈੑͷݕূ ɾςετ ౷߹ςετ
$POUSPM.BDIJOF "89 .BOBHFNFOU/PEF 13NBSHF UPXFSDMJ ݕূ༻αʔό ɾEFQMPZ ɾ*OUFHSBUJPOUFTU
͜ΕͰݕূαΠΫϧ͕ͬͨ ͔͜͜ΒϦϑΝΫλϦϯά
ɾΘΕ͍ͯͳ͍SPMFͷআ ɾϢχοτςετͷಋೖ ɾϩʔΧϧݕূڥΛ࡞Δ ɾσΟϨΫτϦߏΛϕετϓϥΫςΟεʹ ɾSPMF୯ҐͰλά͚ ɾ࣮ߦ࣌ؒͷܭଌ ɾύϑΥʔϚϯενϡʔχϯά ɾႈੑͷमਖ਼
ΘΕ͍ͯͳ͍SPMFΛআ ߏਤΛݩʹલऀʹಓʹ֬ೝ
ϢχοτςετͷՃ ɾϦϑΝΫλ͍ͯ͘͠ࡍʹ࠷ݶͷηʔϑωοτΛઃ͚͍ͨ 1"5)ɺϓϩηεͷঢ়ଶɺϙʔτͷ֬ೝ "OTJCMFͷUBTLͱͯ͠ϢχοτςετՃ ɹUFTUJOGSBֶशίετͷ͔ΒݟૹΓ
ϩʔΧϧݕূڥΛ࡞Δ ɾUBTLʹมߋΛՃ͑ͨͱ͖ɺ ɹຖճϦϞʔταʔόʹରͯ͠ݕূ͢Δͷେม ɾႈੑ֬ೝͷͨΊ࡞ͬͯյͤΔڥ͕΄͍͠
ϩʔΧϧݕূڥΛ࡞Δ ݕূ༻%PDLFSڥΛ༻ҙ͢Δ ɾ$*Ͱ༻͢Δ͜ͱߟྀ͠ɺ7BHSBOUͰͳ͘%PDLFSΛબ ɾύεϫʔυ͋ΓͩͱTVEPͰ͖ͳ͍όά͕͋Δ https://github.com/ansible/ansible/issues/31759 ɾطଘΦϯϓϨαʔόͱͷࠩҟߟྀͷඞཁ͋Γ
σΟϨΫτϦߏΛϕετϓϥΫςΟεʹ ɾSPMFTσΟϨΫτϦ͕ͳ͍ IPHF@SPMFTDFOUPTʜͷΑ͏ͳσΟϨΫτϦߏ ɾSPMF͕̎ͭͷσΟϨΫτϦʹผΕ͍ͯΔ ɾ૬ରύεࢦఆͩΒ͚
σΟϨΫτϦߏΛϕετϓϥΫςΟεʹ https://docs.ansible.com/ansible/latest/user_guide/ playbooks_best_practices.html#alternative-directory-layout HSPVQIPTU͝ͱʹม͕ҟͳ͍ͬͯͨͷͰɺ"MUFSOBUJWF %JSFDUPSZ-BZPVUΛ༻
σΟϨΫτϦߏΛϕετϓϥΫςΟεʹ SPMFͷ૬ରύεࢦఆ͕ͳ͘ͳͬͨ QMBZCPPL࣮ߦ࣌ͷίϚϯυ͘ͳͬͨ QMBZCPPL͕ڥ͝ͱʹผΕ͓ͯΓཧ͕େม͕ͩ·ͱΊΔͷ ϘϦϡʔϜ͕େ͖͍ͷͰޙճ͠ʜ
SPMF୯ҐͰλά͚ ్தͰGBJMFEͨ͠ͱ͖ʹGBJMFEͨ͠SPMF͔Β࣮ࢪ͍ͨ͠ SPMF୯ҐͰλάΛ͚ͭΔ UBHTIPHF BOTJCMFQMBZCPPLTJUFZNMUBHTIPHF
࣮ߦ࣌ؒͷܭଌ ႈੑΛ͢ࡍʹɺ͕͔͔͍࣌ؒͬͯΔͷ͔Β͍ͨ͠ $BMMCBDL1MVHJOTͷQSPpMF@UBTLTΛ͏ ansible.cfg [defaults] callback_whitelist = profile_tasks
ύϑΥʔϚϯενϡʔχϯά ެࣜ#MPHΛࢀরͯ͠ઃఆ͢Δ IUUQTXXXBOTJCMFDPNCMPHBOTJCMFQFSGPSNBODF UVOJOHBOTJCMFDGH ansible.cfg [defaults] pipelining = True ssh_args
= -o ControlMaster=auto -o ControlPersist=300s
ႈੑͷमਖ਼ ࣌ؒͷ͔͔Δͷ͔Βमਖ਼͍ͯ͘͠ ຖճιʔεͷ%-ͱίϯύΠϧΛ͍ͯ͠ΔUBTLͳͲ ɾTIFMM DPNNBOENPEVMFΛସͰ͖ͳ͍͔ݕ౼͢Δ ɾXIFOTUBUFNFOUΛ༻͢Δ
·ͱΊ
ϨΨγʔͳ"OTJCMFͱૺ۰ͨ͠ͱ͖ ɾ$*ڥΛͭͬͯ͘ΛݻΊΑ͏ ɾςετΛॻ͍ͯ֎ງΛຒΊΑ͏ ɾஈ֊తʹվળ͠Α͏ ɾܭଌɾվળαΠΫϧΛճͦ͏ ɾͳΔ͘#FTU1SBDUJDFTʹد͍ͤͯ͜͏ ɾϓϩμΫτͷϑΣʔζΛݟࣺͯͯΔํੑߟ͑Α͏
͓ΘΓ