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
700
Other Decks in Programming
See All in Programming
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.5k
Intent as Code
shoppingjaws
0
130
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
880
AIの中の人になってみる
htkym
0
170
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
140
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
120
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
290
自分的「カンファレンスの楽しみ方」
syumai
0
190
高専キャリア LT 発表内容
crysta1221
6
5.6k
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
470
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
760
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
170
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
410
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Prompt Engineering for Job Search
mfonobong
0
440
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Embracing the Ebb and Flow
colly
88
5.2k
It's Worth the Effort
3n
188
29k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Navigating Weather and Climate Data
rabernat
0
510
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
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