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 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
yield再入門 #phpcon
o0h
PRO
0
970
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.6k
今さら聞けない .NET CLI
htkym
0
180
仕様駆動開発の消費期限
watany
14
6.8k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
330
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
140
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
110
数百円から始めるRuby電子工作
tarosay
0
140
源内ハンズオン概要編
hideg
0
120
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4k
継続モナドとリアクティブプログラミング
yukikurage
3
690
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.2k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.3k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
360
Between Models and Reality
mayunak
4
390
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
680
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
520
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
430
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
400
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
490
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
ΠϯϕϯτϦͷ໘Έͳ͍͍ͯ͘ͷͰएׯָʁ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ