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
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
210
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
220
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
360
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
370
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
260
今さら聞けない .NET CLI
htkym
0
190
Go 1.27 における memory allocation の高速化
andpad
0
170
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
150
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
330
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
780
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
910
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
460
Raft: Consensus for Rubyists
vanstee
141
7.6k
Visualization
eitanlees
152
17k
GraphQLとの向き合い方2022年版
quramy
50
15k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Typedesign – Prime Four
hannesfritz
42
3.1k
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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