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
DevOps + AWS #jawsug
Search
Naoya Ito
August 02, 2013
Technology
38
7.7k
DevOps + AWS #jawsug
Naoya Ito
August 02, 2013
Tweet
Share
More Decks by Naoya Ito
See All by Naoya Ito
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
5.7k
Functional TypeScript
naoya
15
6.2k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
72
35k
シェルの履歴とイクンリメンタル検索を使う
naoya
8
3.2k
20230227-engineer-type-talk.pdf
naoya
89
76k
関数型プログラミングと型システムのメンタルモデル
naoya
62
100k
TypeScript による GraphQL バックエンド開発
naoya
28
35k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
24k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
144
60k
Other Decks in Technology
See All in Technology
ファインディにおける Dataform ブランチ戦略
hiracky16
0
200
Bliki (ja), and the Cathedral, and the Bazaar
koic
8
1.5k
新規事業におけるAIリサーチの活用例
ranxxx
0
170
経理出身PdMがAIプロダクト開発を_ハンズオンで学んだ話.pdf
shunsukenarita
1
200
Expertise as a Service via MCP
yodakeisuke
1
150
東京海上日動におけるセキュアな開発プロセスの取り組み
miyabit
0
180
DatabricksのOLTPデータベース『Lakebase』に詳しくなろう!
inoutk
0
150
分散トレーシングによる コネクティッドカーのデータ処理見える化の試み
thatsdone
0
260
Ktor + Google Cloud Tasks/PubSub におけるOTel Messaging計装の実践
sansantech
PRO
1
310
Jitera Company Deck / JP
jitera
0
190
robocopy の怖い話/scary-story-about-robocopy
emiki
0
350
FAST導入1年間のふりかえり〜現実を直視し、さらなる進化を求めて〜 / Review of the first year of FAST implementation
wooootack
1
160
Featured
See All Featured
How to Ace a Technical Interview
jacobian
278
23k
Code Review Best Practice
trishagee
69
19k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
RailsConf 2023
tenderlove
30
1.2k
Automating Front-end Workflow
addyosmani
1370
200k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Designing for Performance
lara
610
69k
GitHub's CSS Performance
jonrohan
1031
460k
For a Future-Friendly Web
brad_frost
179
9.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Agile that works and the tools we love
rasmusluckow
329
21k
Side Projects
sachag
455
43k
Transcript
%FW0QT "84 /BPZB*UP
"84.BOBHFNFOU $POTPMF
None
None
切腹
1BDLFS
1BDLFSͰ".* // packer.json { "builders" : [{
"type" : "amazon-‐ebs", "access_key" : "...", "secret_key" : "...", "region" : "ap-‐northeast-‐1", "source_ami" : "ami-‐e5b33ce4", "instance_type" : "t1.micro", "ssh_username" : "ec2-‐user", "ami_name" : "packer-‐example {{.CreateTime}}" }] }
QBDLFSCVJME
1BDLFSͷQSPWJTJPOFST // packer.json { "provisioners": [
{ "inline": [ "sleep 30", "curl -‐L https://www.opscode.com/chef/install.sh | sudo bash" ], "type": "shell" } ] }
7BHSBOU
7BHSBOU͕ϩʔΧϧͷ7.ཱͪ ্͛Δπʔϧͩͱࢥ͍ͬͯΔͦ͜ ͷΞφλ
切腹
% vagrant init % vagrant up
7BHSBOUX&$ # Vagrantfile Vagrant.configure(2) do |config| config.vm.box
= "dummy" config.vm.provider :aws do |aws, override| aws.access_key_id = ENV['AWS_ACCESS_KEY_ID'] aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY'] aws.keypair_name = "naoya's keys" aws.instance_type = "t1.micro" aws.region = "ap-‐northeast-‐1" aws.ami = "ami-‐a3af2ba2" aws.security_groups = [ 'webserver' ] aws.tags = { 'Name' => 'vagrant-‐test' } override.ssh.username = "ec2-‐user" override.ssh.private_key_path = "~/.ssh/aws-‐naoyaskeys.pem" end end
% vagrant up -‐-‐provider=aws
WBHSBOUVQ
͍͟ɺϓϩϏδϣχϯά
% knife cookbook create nginx –o cookbooks
Ϩγϐॻ͘ package "nginx" do action :install end
service "nginx" do action [:enable, :start] end
7BHSBOU $IFG package "nginx" do action :install
end service "nginx" do action [:enable, :start] end
WBHSBOUQSPWJTJPO
ͯ͞ɺಈ࡞֬ೝɾɾɾ
None
TFSWFSTQFD
% vagrant ssh-‐config \ -‐-‐host=ec2-‐test >> ~/.ssh/config %
serverspec-‐init
ςετॻ͘ require 'spec_helper' describe package('nginx') do
it { should be_installed } end describe service('nginx') do it { should be_enabled } it { should be_running } end describe port(80) do it { should be_listening } end
SBLFTQFD
͍ͭͰʹ(VBSE ϑΝΠϧॻ͖͑ͨΒࣗಈͰςετ
% vagrant destroy ςετऴΘͬͨ͠
େࣄͳ͜ͱͦͷ̍ ͜͜·Ͱ.BOBHFNFOU $POTPMFҰͳ͠
ͱ͍͏͜ͱŋŋŋʁ
ࣗಈԽ
"84$* h"p://d.hatena.ne.jp/naoya/20130521/1369102714
େࣄͳ͜ͱͦͷ શ෦ίʔυʹͳͬͯΔ
ͱ͍͏͜ͱŋŋŋʁ
(JUIVC
"844PDJBM$PEJOH
·ͱΊ DIFGΔ͚͕ͩ%FW0QTͰ͋Γ·ͤΜ ·ͱ·ͬͯͳ͍
ߟ • "84Ͱં֯ϋʔυͷ੍͕ແ͘ͳͬͨΘ ͚ͩ͠ • ͳΔ͘ιϑτΣΞͰָ͠·͠ΐ͏ • ָ࡞ۀෛՙ͕গͳ͍BOEָ͍͠ • $*4PDJBM$PEJOHͷΑ͏ͳɺΑΓϨ
ΠϠͷߴ͍ӡ༻ϓϩηε·Ͱঢ՚ͤͯ͞ ͳΜ΅
None