Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ansible Study #1
Search
mystelynx
June 10, 2014
Programming
350
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ansible Study #1
Ansible勉強会#1の資料
mystelynx
June 10, 2014
More Decks by mystelynx
See All by mystelynx
渋谷Java #3
mystelynx
2
290
Apache Commonsに関するお話
mystelynx
2
1k
Other Decks in Programming
See All in Programming
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
340
自分的「カンファレンスの楽しみ方」
syumai
0
200
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.7k
Are APIs Still Relevant in the AI Era?
soyuka
0
220
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
170
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
280
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
390
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
460
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
190
「新人AI禁止のその先へ ― 参加と協働のステップアップ」Vibe TOKYO, AI & CRAFT / 2026年8月21日
kentarowada
0
100
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
120
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
The untapped power of vector embeddings
frankvandijk
2
1.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
520
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
Designing Powerful Visuals for Engaging Learning
tmiket
1
550
Transcript
7BHSBOUº"OTJCMF "OTJCMFษڧձ 5PNPIJSP6SBLBXB !NZTUFMZOY ͓·͑୭Α
WBHSBOUDNE w 7BHSBOUpMFʹఆٛ͞Ε͍ͯΔ7.ʹର͠ɺ༷ʑͳ ૢ࡞Λߦ͏ɻ w VQ7.ͷىಈ w IBMU7.ͷγϟοτμϯ w TTI7.44)Ͱଓ͢Δ
w QSPWJTJPO7.ΛϓϩϏδϣχϯά͢Δ
7BHSBOU"OTJCMF
44)ଓՄೳͳ߹ 44)ଓෆՄೳͳ߹ "OTJCMFͷҾΛࢦఆ͍ͨ͠߹ WBHSBOUQSPWJTJPOͰͬͯΈΑ͏
config.vm.define 'ec2' do |ec2|
ec2.vm.provider :aws do |aws, override| aws.access_key_id = 'xxx' aws.secret_access_key = 'yyy' aws.keypair_name = 'zzz' aws.region = 'ap-‐northeast-‐1' aws.subnet_id = 'subnet-‐public' aws.security_groups = ['sg-‐open-‐22'] aws.ami = 'ami-‐xxxxxxx' aws.instance_type = 't1.micro' aws.tags = { 'Name' => 'test', } override.ssh.username = 'ec2-‐user' override.ssh.private_key_path = './xxx.pem' end ec2.vm.provision :ansible do |ansible| ansible.playbook = 'main.yml' #ansible.inventory_path = 'ࢦఆ͠ͳ͚Εࣗಈੜ' end end
IPTUTBMM ! UBTLT OBNF)FMMP EFCVHNTH)FMMP ! OBNF)FMMP EFCVHNTH)FMMP ! OBNFbΖʔ
EFCVHNTHΖʔ
vagrant provision 44)͕ͭͳ͕Δ߹ Ҏ্
FD3VOOJOHQSPWJTJPOFSBOTJCMF TIOPUJGZTFOEDPNNBOEOPUGPVOE ! 1-":<BMM> ! ("5)&3*/('"$54 PL<FD> !
5"4,<)FMMP> PL<FD>\ NTH)J "OTJCMF ^ ! 5"4,<)FMMP> PL<FD>\ NTH)J "OTJCMF ^ ! 5"4,<Ζʔ> PL<FD>\ NTH)J "OTJCMF ^ ! 1-":3&$"1 FDPLDIBOHFEVOSFBDIBCMFGBJMFE
44)ଓՄೳͳ߹ 44)ଓෆՄೳͳ߹ "OTJCMFͷҾΛࢦఆ͍ͨ͠߹ WBHSBOUQSPWJTJPOͰͬͯΈΑ͏
ssh_proxy_command = 'ssh -‐i ./yyy.pem ec2-‐user@step -‐W %h:%p' !
config.vm.define 'ec2' do |ec2| ec2.vm.provider :aws do |aws, override| aws.access_key_id = 'xxx' aws.secret_access_key = 'yyy' aws.keypair_name = 'zzz' aws.region = 'ap-‐northeast-‐1' aws.subnet_id = 'subnet-‐private' aws.private_ip_address = '172.31.15.251' aws.ssh_host_attribute = :private_ip_address aws.security_groups = ['sg-‐open-‐22'] aws.ami = 'ami-‐xxxxxxx' aws.instance_type = 't1.micro' aws.tags = { 'Name' => 'test', } override.ssh.username = 'ec2-‐user' override.ssh.private_key_path = './xxx.pem' override.ssh.proxy_command = ssh_proxy_command end ec2.vm.provision :ansible do |ansible| ansible.playbook = 'main.yml' end end
export ANSIBLE_SSH_ARGS='-‐o "-‐ProxyCommand ssh -‐ i ./yyy.pem ec2-‐user@step -‐W %h:%p"'
vagrant provision 44)͕ͭͳ͕Βͳ͍߹ Ҏ্ʁ # ansible.cfgΛ࡞͠ɺssh_argsʹɺ # ProxyCommand…Λઃఆ͢Δ vagrant provision
ssh_proxy_command = 'ssh -‐i ./yyy.pem ec2-‐user@step -‐W %h:%p' !
config.vm.define 'ec2' do |ec2| ec2.vm.provider :aws do |aws, override| aws.access_key_id = 'xxx' aws.secret_access_key = 'yyy' aws.keypair_name = 'zzz' aws.region = 'ap-‐northeast-‐1' aws.subnet_id = ‘subnet-‐private' aws.private_ip_address = '172.31.15.251' aws.ssh_host_attribute = :private_ip_address aws.security_groups = ['sg-‐open-‐22'] aws.ami = 'ami-‐xxxxxxx' aws.instance_type = 't1.micro' aws.tags = { 'Name' => 'test', } override.ssh.username = 'ec2-‐user' override.ssh.private_key_path = './xxx.pem’ override.ssh.proxy_command = ssh_proxy_command end ec2.vm.provision :ansible do |ansible| ansible.playbook = 'main.yml' ansible.raw_ssh_args = ["-‐o 'ProxyCommand #{ssh_proxy_command}'"] end end
vagrant provision 44)͕ͭͳ͕Βͳ͍߹ Ҏ্
44)ଓՄೳͳ߹ 44)ଓෆՄೳͳ߹ "OTJCMFͷҾΛࢦఆ͍ͨ͠߹ WBHSBOUQSPWJTJPOͰͬͯΈΑ͏
config.vm.define 'ec2' do |ec2|
ec2.vm.provider :aws do |aws, override| : தུ : end ec2.vm.provision :ansible do |ansible| ansible.playbook = 'main.yml' ansible.verbose = 'vv' ansible.tags = 'release' ansible.start_at_task = 'start_here' : end end ύϥϝʔλมߋͷͨͼʹॻ͖͑ʁ ˠͦ͏ͩɺ֎෦Խ͠Α͏ʂ
config.vm.define 'ec2' do |ec2|
ec2.vm.provider :aws do |aws, override| : தུ : end ec2.vm.provision :ansible do |ansible| ansible.playbook = 'main.yml' ansible.verbose = ENV['ANSIBLE_VERBOSE'] ansible.tags = ENV['ANSIBLE_TAGS'] ansible.start_at_task = ENV['ANSIBLE_START_AT_TASK'] : end end
export ANSIBLE_VERBOSE='vvvv' export ANSIBLE_TAGS='release' export ANSIBLE_START_AT_TASK='start_here' vagrant
provision ֎෦Խͱ͍͑ڥม Ҏ্ʁ
w ແବʹͨ͘͞Μͷڥม͕Ͱ͖Δ w "OTJCMFࣗମ͕༻͢Δڥมͱ໊લ͕ඃΔՄ ೳੑ͕͋Δ w "/4*#-&@$0/'*(ͱ͔ "/4*#-&@44)@"3(4ͱ͔͋ΔΑ w Ͳ͏͍͏ม͕͑Δͷ͔7BHSBOUpMF͔ͳ͍
ͱ͔Βͳ͍ਏ͍
config.vm.define 'ec2' do |ec2|
ec2.vm.provider :aws do |aws, override| : தུ : end ec2.vm.provision :ansible do |ansible| ansible.playbook = 'main.yml' ansible.raw_arguments = ENV.fetch('ANSIBLE_RAW_ARGUMENTS', '').split(' ') end end
export ANSIBLE_RAW_ARGUMENTS= "-‐vvvv —tags=release —start-‐at-‐task=start_here" vagrant provision ڥม͚ͭͩʹͨ͠߹
Ҏ্ ŖAшŖ ŝžŕ
w ଓͰ౿Έܦ༝Ͱɺ vagrant provision͚ͩͰؤுΕΔɻ w BOTJCMFʹΦϓγϣϯΛ͍ͨ͠߹ɺ ansible.raw_argumentsΛ͏ͱεοΩϦɻ w ૉʹBOTJCMFΛ͏ʁ w
ΠϯϕϯτϦͷ໘Έͳ͍͍ͯ͘ͷͰएׯָʁ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ