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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Naoya Ito
August 02, 2013
Technology
7.8k
37
Share
DevOps + AWS #jawsug
Naoya Ito
August 02, 2013
More Decks by Naoya Ito
See All by Naoya Ito
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
12
4.2k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
7.8k
Functional TypeScript
naoya
18
6.8k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
77
38k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.7k
20230227-engineer-type-talk.pdf
naoya
91
86k
関数型プログラミングと型システムのメンタルモデル
naoya
63
110k
TypeScript による GraphQL バックエンド開発
naoya
29
37k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
25k
Other Decks in Technology
See All in Technology
Unlocking the Apps
pimterry
0
230
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
2
140
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
360
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
320
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
7
200
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
7.4k
Sony_KMP_Journey_KotlinConf2026
sony
2
210
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
470
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
1.3k
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
200
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
210
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.5k
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
240
Between Models and Reality
mayunak
4
320
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Fireside Chat
paigeccino
42
3.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
250
Building an army of robots
kneath
306
46k
30 Presentation Tips
portentint
PRO
1
320
The Cult of Friendly URLs
andyhume
79
6.9k
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