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
패커로 AMI 빌드하고, 베이그런트로 이미지 검증하기
Search
nacyot
July 28, 2018
Programming
370
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
패커로 AMI 빌드하고, 베이그런트로 이미지 검증하기
nacyot
July 28, 2018
More Decks by nacyot
See All by nacyot
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
1.3k
AI 코딩 에이전트 더 똑똑하게 쓰기
nacyot
0
980
기술 블로그 생존 전략 - 구글 시대의 글쓰기
nacyot
7
2.9k
연말정산이란 무엇인가
nacyot
1
12k
테라폼 도입기: 클라우드 인프라스트럭처 코드로 재정의하기
nacyot
5
1.4k
Write the Docs Seoul Meetup #1: Explorable Explanations
nacyot
1
1k
Write the Docs Seoul Meetup #1: Welcome
nacyot
0
180
주피터: 파이썬 노트북, 파이썬을 넘어
nacyot
5
2.8k
ConfConf 2016 - Act Festival by 김대권
nacyot
0
690
Other Decks in Programming
See All in Programming
yield再入門 #phpcon
o0h
PRO
0
1k
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
110
今さら聞けない .NET CLI
htkym
0
190
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
220
Go 1.27 における memory allocation の高速化
andpad
0
160
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
170
FDEが実現するAI駆動経営の現在地
gonta
2
280
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
190
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
780
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
560
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
570
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
690
Deep Space Network (abreviated)
tonyrice
0
250
Darren the Foodie - Storyboard
khoart
PRO
3
3.6k
The Invisible Side of Design
smashingmag
301
52k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
We Have a Design System, Now What?
morganepeng
55
8.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Transcript
ಁழPacker۽ AMI ࠽٘ೞҊ Hashicorp Korea User Group 1st Meetup @nacyo_t
߬Ӓ۠Vagrant۽ Ѩૐೞӝ
Ӕ݃
44bits.io
• Part 1. ಁழ • hashicorp/packer • Part 2. ߬Ӓ۠
• hashicorp/vagrant য়ט ઁ Hashicorp
• Part 1. ಁழ • ಁழ ࣗѐ ߂ AMI ࠽٘ೞӝ
• Part 2. ߬Ӓ۠ • ࢿ য়ט ઁ Hashicorp
ಁழ: ߧਊ ழझథ ࠽٘ بҳ Part 1
• ఋѶ গܻா࣌ زೞח Ӑഋ ࢚క • ۽࠺ դ ࢚కܳ
۽ ழझథ ࠽٘?
“ ۽࠺ۆ ࢲߡ ١ ਃࣗܳ ࢎਊೡ ࣻ ח ࢚క ۽
݅٘ח ରܳ ݈ೠ. ৈӝীח ೧ ਃࣗী ਗਸ ೡೞҊ, ੋझఢझചೞҊ, ҳࢿਸ ೠ റ, хदա DNS ৬ э ੋۄ ࢲ࠺झী ١۾ೞח ରо ನೣػ. ۽࠺ ରо ৮ܐغݶ ೧ ਃࣗח ࢎਊೡ ળ࠺о ػ Ѫ. ٘۽ ੋۄ ҙܻೞӝ 6, Kief Morris
• և • ೞ٘ਝয৬ ֎ਕ ਗਸ ನೣ • hashicorp/terraform
• ગ • ઁ ਤীࢲ গܻா࣌ਸ प೯ оמೠ ࢚క • hashicorp/packer ۽࠺
• և • ೞ٘ਝয৬ ֎ਕ ਗਸ ನೣ • hashicorp/terraform
• ગ • ઁ ਤীࢲ গܻா࣌ਸ प೯ оמೠ ࢚క • hashicorp/packer ۽࠺
• গܻா࣌ زೞח ੋझఢझܳ Ӓ۽ • ࢲߡҙܻо ࢲߡܳ
ࣻ • ߸҃ ࢎ೦ ਵݶ ࢚కܳ द Ӓ۽ • ࢲߡ ࢚కܳ ഝਊ оמೠ ഄनੋ ߑߨ! ӝઓ ࠽٘
ӝઓ ࠽٘ AMI A AMI A' AMI A'' AMI
A''' EC2 A EC2 A' EC2 A'' EC2 A'''
• গܻா࣌ زೞח ੋझఢझܳ Ӓ۽ • ࢲߡҙܻо ࢲߡܳ
ࣻ • ߸҃ ࢎ೦ ਵݶ ࢚కܳ द Ӓ۽ • ࢲߡ ࢚కܳ ഝਊ оמೠ ഄनੋ ߑߨ! • ҙܻо য۵Ҋ അ ࠛоמ New! ӝઓ ࠽٘
• ࠽٘ җਸ ഛ അ ࠛо • زചо য۵Ҋ
࠽٘/ઁܳ ࣚࣻ ೧ঠೣ • جইоҊ ח ࢲߡܳ ୭ೠ ߑೞѱ غח ࠗਊ • ઁ ਃೡ ݽܰ۽ ب ઁ ࠛо • ח ҅ࣘ ऺӝ݅ ೣ ӝઓ ࠽٘ ޙઁ
brew install packer
• ಁழ ࠽٘ח ࠽؊৬ ۽࠺ց ઑ • ࠽؊: ౠ ۖಬ
ܳ ݅٘ח ۞Ӓੋ • ۽࠺ց: ۽࠺ਸ ࣻ೯ೞח ۞Ӓੋ ಁழ ҳࢿ ਃࣗ ࠽؊ / ۽࠺ց
Builder Image Provisioner Image
Builder: docker Docker Image Provisioner shell Docker Image
Builder: virtualbox-ovf VirtualBox VM Provisioner chef-solo OVF
Builder: amazon-ebs AMI Provisioner ansible-local AMI
{ "builders": [ ... ], "provisioners": [ ... ] }
ಁழ ࢸ ੌ
"builders": [ { "type": "amazon-ebs", "region": "ap-northeast-2", "availability_zone": "ap-northeast-2c", "source_ami":
"ami-9d6fd8f3", "instance_type": "t2.small", "ssh_username": "ubuntu", "ami_name": "image {{isotime \"2006-01-02 1504\" | clean_ami_name}}", "security_group_ids": [ "sg-b8ad09d1", "sg-5594bc3f" ], "subnet_id": "subnet-abcacae1", "ssh_interface": "public_ip", "associate_public_ip_address": true } ], ࠽؊: amazon-ebs
"provisioners": [ { "type": "ansible", "playbook_file": "./provisioner/server.yml", "host_alias": "server", "extra_arguments":
[ "--extra-vars", "ansible_python_interpreter=/usr/bin/python3" ] } ] ۽࠺ց: ansible
• ಁழ ۽ં • ۽࠺ց৬ ೣԋ ٘۽ ҙܻ • ߸҃
ਸ ٸ݃ ݒߣ ܳ ࢜۽ ࠽٘ • ߸҃ ࢎ೦ ݽف غ۽ അ оמ೧ • ٘ച۽ ҙܻغ۽ زചо оמ೧ ಁழ ࠽٘ ౠ
Packer Build Builder: amazon-ebs AMI Provisioner ansible-local AMI
Packer Build Repo 8b819 AMI A Repo 2ce54 AMI B
Repo 099c3 AMI C Repo 934b6 AMI D commit
AMI A AMI A' AMI A'' AMI A''' EC2 A
EC2 A' EC2 A'' EC2 A''' Packer Build Repo 8b819 AMI A Repo 2ce54 AMI B Repo 099c3 AMI C Repo 934b6 AMI D commit ੋझఢझ ӝ߈ ࠽٘ ಁழܳ ࢎਊೠ ࠽٘
1. ੋझఢझ ߂ द ܻࣗझ ࢤࢿ 2. ੋझఢझী ܻ ળ࠺ೠ
۽࠺ց۽ ۽࠺ 3. ۽࠺ աݶ ࢚కܳ ۽ 4. ੋझఢझ ߂ द ܻࣗझ ઁѢ ಁழ۽ ࠽٘ җ
• nacyot/packer_and_vagrant ؘݽ 01 ಁழ۽ AMI ࠽٘
• ݽٚ җ ױ ೠ ߑী ܖয • ࠽٘
दр ӡ • ਗਵ۽ ࠽٘ җী ѐੑೡ ࣻ হ • ۽࠺ীࢲ ޙઁо ࢤӝݶ ࠗఠ द ಁழ ױ
߬Ӓ۠۽ ࢿ Part 2
brew cask install vagrant
ठۄ٘ ࢚
• ߬Ӓ۠ ߅झח ۽߄؊৬ ۽࠺ց ઑ • ۽߄؊: ౠ ۖಬ
VMਸ ݅٘ח ۞Ӓੋ • ۽࠺ց: ۽࠺ਸ ࣻ೯ೞח ۞Ӓੋ ߬Ӓ۠ ҳࢿਃࣗ ۽߄؊ / ۽࠺ց
• ۽߄؊ vs. ࠽؊ • ಁழ ࠽؊ח ߬Ӓ۠ ۽߄؊ী
• ۽߄؊: Ѿҗޛ۽ VMਸ ݅ٝ • ࠽٘: Ѿҗޛ۽ ܳ ݅ٝ • ۽࠺ց = ۽࠺ց ߬Ӓ۠৬ ಁழ ࠺Ү (1)
• ಁழ ࠽٘ • ܻࣗझ ࢤࢿ, ࠽٘, ܻࣗझ
ઁѢо ೠߣী • ߬Ӓ۠ VM ળ࠺ җ • upਸ ೞݶ VMਸ ࢤࢿೞҊ ۽࠺ ೯ؽ • ۽࠺ցо ߸҃غݶ ୶о۽ provision оמ • VM ਗೞח दী destroy оמ ߬Ӓ۠৬ ಁழ ࠺Ү (2)
Packer Build Repo 8b819 AMI A Repo 2ce54 AMI B
Repo 099c3 AMI C Repo 934b6 AMI D commit
ग܉٬Ѣ ಁழ ࠽٘ ࠽٘ܳ प೯ೞӝ өח ࠽٘ ࢿҕ ৈࠗܳ ঌ
ࣻ হ ۽࠺ց ٘ সؘ
Packer Build Repo 8b819 AMI A Repo 2ce54 Error! Repo
099c3 Error! Repo 934b6 AMI D commit
Repo a3e89 Packer build Repo 32ab21 AMI VM vagrant up
VM' VM'' vagrant provision vagrant provision error! update provisioner code
о࢚ ݠन? о࢚ ݠनҗ ಁழ ࠽٘ ജ҃ ܰ
• VM न AWS ੋझఢझо प೯ • ಁழо पઁ۽ ࠽٘ೞח
ജ҃ਸ Ӓ۽ ࢎਊ оמ • AMI ܳ ࢎਊ оמ • ই݃ઓ ֿܻझ ജ҃ب ࢎਊ оמ • ݄݃ ழ 2016֙... vagrant-aws ߬Ӓ۠ AWS ۽߄؊
• nacyot/packer_and_vagrant ؘݽ 02 vagrant-aws ۽࠺
• destroyܳ ೞ ঋਵݶ ੋझఢझо ҅ࣘ թই • زਵ۽ ઙܐೞب۾
ҳࢿೞח ѱ ߬झ • ޑೞѱ ಁழ ࠽٘ ജ҃җ ܳ ࣻ • оמೞݶ ݽٚ ২࣌ਸ ಁழ ജ҃җ زੌೞѱ • ۽࠺ਸ ৈ۞ߣ ೞࠁݶ ࢚కо ׳ۄ • ಁழ ࠽٘ ীח destroy റ द up೧ࢲ Ѩૐ ߬Ӓ۠ ೣ
• ಁழܳ ࢎਊ೧ ࠽٘ܳ زച • ߬Ӓ۠ܳ ࢎਊ೧
࠽٘ җਸ ܻ Ѩૐ • Ӕ݃ীࢲ पઁ۽ ࢎਊೞҊ ח ߑߨ • Үള: әೡࣻ۾ جইо Ѿۿ
None
Thank you @nacyo_t