SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Varnish Squid
          w/	
  puppet	
  
               @ar1	
  
§                   	
                	
 
§  Debian	
                            	
  
§  Amazon	
  Web	
  Services                  	
  
      ú  Solutions	
  Architect	
  
      ú 
LoadBalance:	
     HighSpeed-­‐
    LVS	
             Cache	
  
  HAProxy	
  
(          )	
  
    	
  
 

       	
  
 
              !	
  
       	
  
 
Cache	
  
                                  Shareing	
  
LoadBalance:	
     HighSpeed-­‐    Sibling	
  
    LVS	
             Cache	
  
  HAProxy	
  
Request URI test-­‐a.example.jp   	
  
                           	
  




    varnish    cache       	
  




                       cache      squid   	
  
squid           cache       	
  




        cache     sibling          	
  




                                          HTTPD 	
  
Config:	
  squid	
  
[sibling.conf]	
  cache_peer	
  10.2.1.26	
  sibling	
  80	
  3130	
  

[squid.conf]	
  
http_port	
  8801	
  accel	
  defaultsite=test-­‐a-­‐origin.example.jp	
  
cache_peer	
  test-­‐a-­‐origin.example.jp	
  parent	
  80	
  0	
  originserver	
  name=test-­‐a-­‐origin_example_jp	
  
acl	
  test-­‐a-­‐origin_example_jp	
  dstdomain	
  test-­‐a-­‐origin.example.jp	
  
http_access	
  allow	
  test-­‐a-­‐origin_example_jp	
  
cache_peer_access	
  test-­‐a-­‐origin_example_jp	
  allow	
  test-­‐a-­‐origin_example_jp	
  
cache_peer_access	
  test-­‐a-­‐origin_example_jp	
  deny	
  all	
  
http_port	
  8802	
  accel	
  defaultsite=test-­‐k.example.jp	
  
cache_peer	
  test-­‐k.example.jp	
  parent	
  80	
  0	
  originserver	
  name=test-­‐k_example_jp	
  
acl	
  test-­‐k_example_jp	
  dstdomain	
  test-­‐k.example.jp	
  
http_access	
  allow	
  test-­‐k_example_jp	
  
cache_peer_access	
  test-­‐k_example_jp	
  allow	
  test-­‐k_example_jp	
  
cache_peer_access	
  test-­‐k_example_jp	
  deny	
  all	
  
http_port	
  8803	
  accel	
  defaultsite=test-­‐a.example.jp	
  
cache_peer	
  test-­‐a.example.jp	
  parent	
  80	
  0	
  originserver	
  name=test-­‐a_example_jp	
  
acl	
  test-­‐a_example_jp	
  dstdomain	
  test-­‐a.example.jp	
  
http_access	
  allow	
  test-­‐a_example_jp	
  
cache_peer_access	
  test-­‐a_example_jp	
  allow	
  test-­‐a_example_jp	
  
cache_peer_access	
  test-­‐a_example_jp	
  deny	
  all	
  
	
  
Config:	
  varnish	
  
sub	
  vcl_recv	
  {	
                                                                                                     backend	
  proxy5_test_a_origin_example_jp	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  if	
  (req.http.If-­‐Modified-­‐Since)	
  {	
                                               	
  	
  .host	
  =	
  "10.2.1.26";	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  error	
  304;	
                                            	
  	
  .port	
  =	
  "8801";	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
                                                                                        	
  	
  .connect_timeout	
  =	
  30ms;	
  
	
  	
  	
  	
  	
  	
  	
  	
  if	
  (req.http.host	
  ==	
  "test-­‐a-­‐origin.example.jp"){	
                           }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  set	
  req.backend	
  =	
  test_a_origin_example_jp;	
     	
  	
  	
  	
  	
  	
  
	
                                                                                                                         backend	
  proxy5_test_k_example_jp	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  elsif	
  (req.http.host	
  ==	
  "test-­‐k.example.jp"){	
                            	
  	
  .host	
  =	
  "10.2.1.26";	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  set	
  req.backend	
  =	
  test_k_example_jp;	
            	
  	
  .port	
  =	
  "8802";	
  
	
                                                                                                                         	
  	
  .connect_timeout	
  =	
  30ms;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  elsif	
  (req.http.host	
  ==	
  "test-­‐a.example.jp"){	
                            }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  set	
  req.backend	
  =	
  test_a_example_jp;	
            	
  	
  	
  	
  	
  	
  
	
                                                                                                                         backend	
  proxy5_test_a_example_jp	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  else	
  {	
                                                                           	
  	
  .host	
  =	
  "10.2.1.26";	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  set	
  req.backend	
  =	
  default;	
                      	
  	
  .port	
  =	
  "8803";	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
                                                                                        	
  	
  .connect_timeout	
  =	
  30ms;	
  
}	
                                                                                                                        }	
  
	
                                                                                                                         	
  
Config:	
  varnish(2)	
  
backend	
  proxy5	
  {	
                                          director	
  test_a_origin_example_jp	
  round-­‐robin	
  {	
  
	
  	
  .host	
  =	
  "10.2.1.26";	
                              	
  	
  	
  	
  	
  	
  	
  	
  {	
  .backend	
  	
  	
  	
  	
  	
  =	
  proxy5_test_a_origin_example_jp;	
  }	
  
	
  	
  .port	
  =	
  "80";	
                                     	
  	
  	
  	
  	
  	
  	
  	
  {	
  .backend	
  	
  	
  	
  	
  	
  =	
  proxy4_test_a_origin_example_jp;	
  }}	
  
	
  	
  .connect_timeout	
  =	
  30ms;}	
                         director	
  test_k_example_jp	
  round-­‐robin	
  {	
  
backend	
  proxy4_test_a_origin_example_jp	
  {	
                 	
  	
  	
  	
  	
  	
  	
  	
  {	
  .backend	
  	
  	
  	
  	
  	
  =	
  proxy5_test_k_example_jp;	
  }	
  
	
  	
  .host	
  =	
  "10.2.1.27";	
                              	
  	
  	
  	
  	
  	
  	
  	
  {	
  .backend	
  	
  	
  	
  	
  	
  =	
  proxy4_test_k_example_jp;	
  }}	
  
	
  	
  .port	
  =	
  "8801";	
                                   director	
  test_a_example_jp	
  round-­‐robin	
  {	
  
	
  	
  .connect_timeout	
  =	
  30ms;}	
  	
  	
  	
  	
  	
     	
  	
  	
  	
  	
  	
  	
  	
  {	
  .backend	
  	
  	
  	
  	
  	
  =	
  proxy5_test_a_example_jp;	
  }	
  
backend	
  proxy4_test_k_example_jp	
  {	
                        	
  	
  	
  	
  	
  	
  	
  	
  {	
  .backend	
  	
  	
  	
  	
  	
  =	
  proxy4_test_a_example_jp;	
  }}	
  
	
  	
  .host	
  =	
  "10.2.1.27";	
                              director	
  default	
  round-­‐robin	
  {	
  
	
  	
  .port	
  =	
  "8802";	
                                   	
  	
  	
  	
  	
  	
  	
  	
  {	
  .backend	
  	
  	
  	
  	
  	
  =	
  proxy5;	
  }	
  
	
  	
  .connect_timeout	
  =	
  30ms;}	
                         	
  	
  	
  	
  	
  	
  	
  	
  {	
  .backend	
  	
  	
  	
  	
  	
  =	
  proxy4;	
  }}	
  
backend	
  proxy4_test_a_example_jp	
  {	
                        sub	
  vcl_error{	
  
	
  	
  .host	
  =	
  "10.2.1.27";	
                              	
  	
  	
  	
  	
  	
  	
  	
  if	
  (obj.status	
  ==	
  304)	
  {	
  
	
  	
  .port	
  =	
  "8803";	
                                   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return(deliver);}}	
  
	
  	
  .connect_timeout	
  =	
  30ms;}	
                         sub	
  vcl_fetch{	
  
backend	
  proxy4	
  {	
                                          	
  	
  	
  	
  	
  	
  	
  	
  unset	
  beresp.http.X-­‐Cache;	
  
	
  	
  .host	
  =	
  "10.2.1.27";	
                              	
  	
  	
  	
  	
  	
  	
  	
  unset	
  beresp.http.X-­‐Cache-­‐Lookup;	
  
	
  	
  .port	
  =	
  "80";	
                                     	
  	
  	
  	
  	
  	
  	
  	
  unset	
  beresp.http.Via;	
  
	
  	
  .connect_timeout	
  =	
  30ms;}	
                         	
  	
  	
  	
  	
  	
  	
  	
  unset	
  beresp.http.Server;}	
  
	
                                                                	
  
Config:	
  puppet	
  
"   $bport	
  =	
  [8801,8802,8803]	
  

"   $baccel	
  =	
  ["test-­‐a-­‐origin.example.jp",	
  
    "testk.example.jp",	
  "test-­‐a.example.jp”]	
  

"   $borigin	
  =	
  ["test-­‐a-­‐origin.example.jp",	
  
    "testk.example.jp",	
  "test-­‐a.example.jp”]	
  

"   $siblings	
  =	
  ["10.2.1.26",	
  "10.2.1.27"]	
  

"   $siblings_hosts	
  =	
  ["proxy5",	
  "proxy4"]	
  
Puppet!	
  
"               	
  

"   Cache Expire	
  

"                      	
  

"  
      Varnish 3                      	
  

Mais conteúdo relacionado

Mais procurados

Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!C2B2 Consulting
 
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and LuaRoll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and LuaJon Moore
 
Redis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your applicationRedis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your applicationrjsmelo
 
Redis as a message queue
Redis as a message queueRedis as a message queue
Redis as a message queueBrandon Lamb
 
On UnQLite
On UnQLiteOn UnQLite
On UnQLitecharsbar
 
BlockChain implementation by python
BlockChain implementation by pythonBlockChain implementation by python
BlockChain implementation by pythonwonyong hwang
 
Application Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.keyApplication Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.keyTim Bunce
 
PostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetPostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetAlexey Lesovsky
 
Static Typing in Vault
Static Typing in VaultStatic Typing in Vault
Static Typing in VaultGlynnForrest
 
Performance measurement and tuning
Performance measurement and tuningPerformance measurement and tuning
Performance measurement and tuningAOE
 
Bootstrapping multidc observability stack
Bootstrapping multidc observability stackBootstrapping multidc observability stack
Bootstrapping multidc observability stackBram Vogelaar
 
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksHow to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksCarlos Sanchez
 
Securing Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp VaultSecuring Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp VaultBram Vogelaar
 
Lua tech talk
Lua tech talkLua tech talk
Lua tech talkLocaweb
 
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술John Kim
 
nginx: writing your first module
nginx: writing your first modulenginx: writing your first module
nginx: writing your first moduleredivy
 
Rails Caching Secrets from the Edge
Rails Caching Secrets from the EdgeRails Caching Secrets from the Edge
Rails Caching Secrets from the EdgeMichael May
 
It's 10pm: Do You Know Where Your Writes Are?
It's 10pm: Do You Know Where Your Writes Are?It's 10pm: Do You Know Where Your Writes Are?
It's 10pm: Do You Know Where Your Writes Are?MongoDB
 

Mais procurados (20)

Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!
 
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and LuaRoll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and Lua
 
Redis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your applicationRedis & ZeroMQ: How to scale your application
Redis & ZeroMQ: How to scale your application
 
Redis as a message queue
Redis as a message queueRedis as a message queue
Redis as a message queue
 
On UnQLite
On UnQLiteOn UnQLite
On UnQLite
 
tdc2012
tdc2012tdc2012
tdc2012
 
BlockChain implementation by python
BlockChain implementation by pythonBlockChain implementation by python
BlockChain implementation by python
 
Application Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.keyApplication Logging in the 21st century - 2014.key
Application Logging in the 21st century - 2014.key
 
PostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetPostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication Cheatsheet
 
Static Typing in Vault
Static Typing in VaultStatic Typing in Vault
Static Typing in Vault
 
Performance measurement and tuning
Performance measurement and tuningPerformance measurement and tuning
Performance measurement and tuning
 
Bootstrapping multidc observability stack
Bootstrapping multidc observability stackBootstrapping multidc observability stack
Bootstrapping multidc observability stack
 
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksHow to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks
 
Securing Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp VaultSecuring Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp Vault
 
Lua tech talk
Lua tech talkLua tech talk
Lua tech talk
 
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
 
nginx: writing your first module
nginx: writing your first modulenginx: writing your first module
nginx: writing your first module
 
Rails Caching Secrets from the Edge
Rails Caching Secrets from the EdgeRails Caching Secrets from the Edge
Rails Caching Secrets from the Edge
 
Reactive server with netty
Reactive server with nettyReactive server with netty
Reactive server with netty
 
It's 10pm: Do You Know Where Your Writes Are?
It's 10pm: Do You Know Where Your Writes Are?It's 10pm: Do You Know Where Your Writes Are?
It's 10pm: Do You Know Where Your Writes Are?
 

Semelhante a tokyo.vcl発表資料(varnish+squid)

Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to ProtractorJie-Wei Wu
 
Tomcat连接池配置方法V2.1
Tomcat连接池配置方法V2.1Tomcat连接池配置方法V2.1
Tomcat连接池配置方法V2.1Zianed Hou
 
HTTP Caching and PHP
HTTP Caching and PHPHTTP Caching and PHP
HTTP Caching and PHPDavid de Boer
 
Nagios Conference 2013 - Sheeri Cabral - Alerting With MySQL and Nagios
Nagios Conference 2013 - Sheeri Cabral - Alerting With MySQL and NagiosNagios Conference 2013 - Sheeri Cabral - Alerting With MySQL and Nagios
Nagios Conference 2013 - Sheeri Cabral - Alerting With MySQL and NagiosNagios
 
Varnish Cache and Django (Falcon, Flask etc)
Varnish Cache and Django (Falcon, Flask etc)Varnish Cache and Django (Falcon, Flask etc)
Varnish Cache and Django (Falcon, Flask etc)Данил Иванов
 
Clug 2012 March web server optimisation
Clug 2012 March   web server optimisationClug 2012 March   web server optimisation
Clug 2012 March web server optimisationgrooverdan
 
Debugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 VersionDebugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 VersionIan Barber
 
Facebook的缓存系统
Facebook的缓存系统Facebook的缓存系统
Facebook的缓存系统yiditushe
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeFastly
 
Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법Minchul Jung
 
8 Minutes On Rack
8 Minutes On Rack8 Minutes On Rack
8 Minutes On Rackdanwrong
 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & ToolsIan Barber
 
Php Unit With Zend Framework Zendcon09
Php Unit With Zend Framework   Zendcon09Php Unit With Zend Framework   Zendcon09
Php Unit With Zend Framework Zendcon09Michelangelo van Dam
 
My sql failover test using orchestrator
My sql failover test  using orchestratorMy sql failover test  using orchestrator
My sql failover test using orchestratorYoungHeon (Roy) Kim
 

Semelhante a tokyo.vcl発表資料(varnish+squid) (20)

Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to Protractor
 
Tomcat连接池配置方法V2.1
Tomcat连接池配置方法V2.1Tomcat连接池配置方法V2.1
Tomcat连接池配置方法V2.1
 
HTTP Caching and PHP
HTTP Caching and PHPHTTP Caching and PHP
HTTP Caching and PHP
 
Puppet
PuppetPuppet
Puppet
 
Nginx + PHP
Nginx + PHPNginx + PHP
Nginx + PHP
 
Nagios Conference 2013 - Sheeri Cabral - Alerting With MySQL and Nagios
Nagios Conference 2013 - Sheeri Cabral - Alerting With MySQL and NagiosNagios Conference 2013 - Sheeri Cabral - Alerting With MySQL and Nagios
Nagios Conference 2013 - Sheeri Cabral - Alerting With MySQL and Nagios
 
Varnish Cache and Django (Falcon, Flask etc)
Varnish Cache and Django (Falcon, Flask etc)Varnish Cache and Django (Falcon, Flask etc)
Varnish Cache and Django (Falcon, Flask etc)
 
Varnish
VarnishVarnish
Varnish
 
Puppet @ Seat
Puppet @ SeatPuppet @ Seat
Puppet @ Seat
 
Tatsumaki
TatsumakiTatsumaki
Tatsumaki
 
Clug 2012 March web server optimisation
Clug 2012 March   web server optimisationClug 2012 March   web server optimisation
Clug 2012 March web server optimisation
 
Debugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 VersionDebugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 Version
 
Facebook的缓存系统
Facebook的缓存系统Facebook的缓存系统
Facebook的缓存系统
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the Edge
 
Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법
 
Test driven infrastructure
Test driven infrastructureTest driven infrastructure
Test driven infrastructure
 
8 Minutes On Rack
8 Minutes On Rack8 Minutes On Rack
8 Minutes On Rack
 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & Tools
 
Php Unit With Zend Framework Zendcon09
Php Unit With Zend Framework   Zendcon09Php Unit With Zend Framework   Zendcon09
Php Unit With Zend Framework Zendcon09
 
My sql failover test using orchestrator
My sql failover test  using orchestratorMy sql failover test  using orchestrator
My sql failover test using orchestrator
 

Mais de Yasuhiro Araki, Ph.D

1999年JUSメールサーバワークショップ@伊勢志摩
1999年JUSメールサーバワークショップ@伊勢志摩1999年JUSメールサーバワークショップ@伊勢志摩
1999年JUSメールサーバワークショップ@伊勢志摩Yasuhiro Araki, Ph.D
 
サービスをスケールさせるために AWSと利用者の技術
サービスをスケールさせるために AWSと利用者の技術サービスをスケールさせるために AWSと利用者の技術
サービスをスケールさせるために AWSと利用者の技術Yasuhiro Araki, Ph.D
 
AWSのIPv6対応状況@JAWS-UG大阪
AWSのIPv6対応状況@JAWS-UG大阪AWSのIPv6対応状況@JAWS-UG大阪
AWSのIPv6対応状況@JAWS-UG大阪Yasuhiro Araki, Ph.D
 
今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用Yasuhiro Araki, Ph.D
 
Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Webサービス向け、クラウドデザインパターン:アンチパターン紹介Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Webサービス向け、クラウドデザインパターン:アンチパターン紹介Yasuhiro Araki, Ph.D
 
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohokuAWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohokuYasuhiro Araki, Ph.D
 
クラウドによる運用の計測と運用価値の表現、その未来
クラウドによる運用の計測と運用価値の表現、その未来クラウドによる運用の計測と運用価値の表現、その未来
クラウドによる運用の計測と運用価値の表現、その未来Yasuhiro Araki, Ph.D
 
AWS 専用線アクセス体験ラボ紹介と 開催地立候補のお願い
AWS 専用線アクセス体験ラボ紹介と開催地立候補のお願いAWS 専用線アクセス体験ラボ紹介と開催地立候補のお願い
AWS 専用線アクセス体験ラボ紹介と 開催地立候補のお願いYasuhiro Araki, Ph.D
 
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント Yasuhiro Araki, Ph.D
 
20140717 awssummit2014-cloud-operation
20140717 awssummit2014-cloud-operation20140717 awssummit2014-cloud-operation
20140717 awssummit2014-cloud-operationYasuhiro Araki, Ph.D
 
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめYasuhiro Araki, Ph.D
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWSYasuhiro Araki, Ph.D
 
MTのスケールアップパターン with AWS
MTのスケールアップパターン with AWSMTのスケールアップパターン with AWS
MTのスケールアップパターン with AWSYasuhiro Araki, Ph.D
 
S3をてなづけてオレオレバックエンドにしてみた話
S3をてなづけてオレオレバックエンドにしてみた話S3をてなづけてオレオレバックエンドにしてみた話
S3をてなづけてオレオレバックエンドにしてみた話Yasuhiro Araki, Ph.D
 

Mais de Yasuhiro Araki, Ph.D (20)

1999年JUSメールサーバワークショップ@伊勢志摩
1999年JUSメールサーバワークショップ@伊勢志摩1999年JUSメールサーバワークショップ@伊勢志摩
1999年JUSメールサーバワークショップ@伊勢志摩
 
サービスをスケールさせるために AWSと利用者の技術
サービスをスケールさせるために AWSと利用者の技術サービスをスケールさせるために AWSと利用者の技術
サービスをスケールさせるために AWSと利用者の技術
 
AWSのIPv6対応状況@JAWS-UG大阪
AWSのIPv6対応状況@JAWS-UG大阪AWSのIPv6対応状況@JAWS-UG大阪
AWSのIPv6対応状況@JAWS-UG大阪
 
今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用
 
20151016 soracom-araki-02
20151016 soracom-araki-0220151016 soracom-araki-02
20151016 soracom-araki-02
 
Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Webサービス向け、クラウドデザインパターン:アンチパターン紹介Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Webサービス向け、クラウドデザインパターン:アンチパターン紹介
 
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohokuAWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
 
20141202 jaws-osaka-hangeki
20141202 jaws-osaka-hangeki20141202 jaws-osaka-hangeki
20141202 jaws-osaka-hangeki
 
20141126 jaws-antipattern
20141126 jaws-antipattern20141126 jaws-antipattern
20141126 jaws-antipattern
 
クラウドによる運用の計測と運用価値の表現、その未来
クラウドによる運用の計測と運用価値の表現、その未来クラウドによる運用の計測と運用価値の表現、その未来
クラウドによる運用の計測と運用価値の表現、その未来
 
AWS 専用線アクセス体験ラボ紹介と 開催地立候補のお願い
AWS 専用線アクセス体験ラボ紹介と開催地立候補のお願いAWS 専用線アクセス体験ラボ紹介と開催地立候補のお願い
AWS 専用線アクセス体験ラボ紹介と 開催地立候補のお願い
 
20140906 jawsfesta-araki-lt
20140906 jawsfesta-araki-lt20140906 jawsfesta-araki-lt
20140906 jawsfesta-araki-lt
 
20140906 jawsfesta-araki-public
20140906 jawsfesta-araki-public20140906 jawsfesta-araki-public
20140906 jawsfesta-araki-public
 
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
 
20140717 awssummit2014-cloud-operation
20140717 awssummit2014-cloud-operation20140717 awssummit2014-cloud-operation
20140717 awssummit2014-cloud-operation
 
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS
 
MTのスケールアップパターン with AWS
MTのスケールアップパターン with AWSMTのスケールアップパターン with AWS
MTのスケールアップパターン with AWS
 
S3をてなづけてオレオレバックエンドにしてみた話
S3をてなづけてオレオレバックエンドにしてみた話S3をてなづけてオレオレバックエンドにしてみた話
S3をてなづけてオレオレバックエンドにしてみた話
 
20140418 aws-casual-network
20140418 aws-casual-network20140418 aws-casual-network
20140418 aws-casual-network
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Último (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

tokyo.vcl発表資料(varnish+squid)

  • 1. Varnish Squid w/  puppet   @ar1  
  • 2. §  §  Debian     §  Amazon  Web  Services   ú  Solutions  Architect   ú 
  • 3. LoadBalance:   HighSpeed-­‐ LVS   Cache   HAProxy  
  • 4. ( )    
  • 5.    
  • 6.   !    
  • 7.  
  • 8. Cache   Shareing   LoadBalance:   HighSpeed-­‐ Sibling   LVS   Cache   HAProxy  
  • 9. Request URI test-­‐a.example.jp     varnish cache   cache squid  
  • 10. squid cache   cache sibling   HTTPD  
  • 11. Config:  squid   [sibling.conf]  cache_peer  10.2.1.26  sibling  80  3130   [squid.conf]   http_port  8801  accel  defaultsite=test-­‐a-­‐origin.example.jp   cache_peer  test-­‐a-­‐origin.example.jp  parent  80  0  originserver  name=test-­‐a-­‐origin_example_jp   acl  test-­‐a-­‐origin_example_jp  dstdomain  test-­‐a-­‐origin.example.jp   http_access  allow  test-­‐a-­‐origin_example_jp   cache_peer_access  test-­‐a-­‐origin_example_jp  allow  test-­‐a-­‐origin_example_jp   cache_peer_access  test-­‐a-­‐origin_example_jp  deny  all   http_port  8802  accel  defaultsite=test-­‐k.example.jp   cache_peer  test-­‐k.example.jp  parent  80  0  originserver  name=test-­‐k_example_jp   acl  test-­‐k_example_jp  dstdomain  test-­‐k.example.jp   http_access  allow  test-­‐k_example_jp   cache_peer_access  test-­‐k_example_jp  allow  test-­‐k_example_jp   cache_peer_access  test-­‐k_example_jp  deny  all   http_port  8803  accel  defaultsite=test-­‐a.example.jp   cache_peer  test-­‐a.example.jp  parent  80  0  originserver  name=test-­‐a_example_jp   acl  test-­‐a_example_jp  dstdomain  test-­‐a.example.jp   http_access  allow  test-­‐a_example_jp   cache_peer_access  test-­‐a_example_jp  allow  test-­‐a_example_jp   cache_peer_access  test-­‐a_example_jp  deny  all    
  • 12. Config:  varnish   sub  vcl_recv  {   backend  proxy5_test_a_origin_example_jp  {                  if  (req.http.If-­‐Modified-­‐Since)  {      .host  =  "10.2.1.26";                                  error  304;      .port  =  "8801";                  }      .connect_timeout  =  30ms;                  if  (req.http.host  ==  "test-­‐a-­‐origin.example.jp"){   }                                  set  req.backend  =  test_a_origin_example_jp;                 backend  proxy5_test_k_example_jp  {                  }  elsif  (req.http.host  ==  "test-­‐k.example.jp"){      .host  =  "10.2.1.26";                                  set  req.backend  =  test_k_example_jp;      .port  =  "8802";        .connect_timeout  =  30ms;                  }  elsif  (req.http.host  ==  "test-­‐a.example.jp"){   }                                  set  req.backend  =  test_a_example_jp;                 backend  proxy5_test_a_example_jp  {                  }  else  {      .host  =  "10.2.1.26";                                  set  req.backend  =  default;      .port  =  "8803";                  }      .connect_timeout  =  30ms;   }   }      
  • 13. Config:  varnish(2)   backend  proxy5  {   director  test_a_origin_example_jp  round-­‐robin  {      .host  =  "10.2.1.26";                  {  .backend            =  proxy5_test_a_origin_example_jp;  }      .port  =  "80";                  {  .backend            =  proxy4_test_a_origin_example_jp;  }}      .connect_timeout  =  30ms;}   director  test_k_example_jp  round-­‐robin  {   backend  proxy4_test_a_origin_example_jp  {                  {  .backend            =  proxy5_test_k_example_jp;  }      .host  =  "10.2.1.27";                  {  .backend            =  proxy4_test_k_example_jp;  }}      .port  =  "8801";   director  test_a_example_jp  round-­‐robin  {      .connect_timeout  =  30ms;}                            {  .backend            =  proxy5_test_a_example_jp;  }   backend  proxy4_test_k_example_jp  {                  {  .backend            =  proxy4_test_a_example_jp;  }}      .host  =  "10.2.1.27";   director  default  round-­‐robin  {      .port  =  "8802";                  {  .backend            =  proxy5;  }      .connect_timeout  =  30ms;}                  {  .backend            =  proxy4;  }}   backend  proxy4_test_a_example_jp  {   sub  vcl_error{      .host  =  "10.2.1.27";                  if  (obj.status  ==  304)  {      .port  =  "8803";                                  return(deliver);}}      .connect_timeout  =  30ms;}   sub  vcl_fetch{   backend  proxy4  {                  unset  beresp.http.X-­‐Cache;      .host  =  "10.2.1.27";                  unset  beresp.http.X-­‐Cache-­‐Lookup;      .port  =  "80";                  unset  beresp.http.Via;      .connect_timeout  =  30ms;}                  unset  beresp.http.Server;}      
  • 14.
  • 15. Config:  puppet   "   $bport  =  [8801,8802,8803]   "   $baccel  =  ["test-­‐a-­‐origin.example.jp",   "testk.example.jp",  "test-­‐a.example.jp”]   "   $borigin  =  ["test-­‐a-­‐origin.example.jp",   "testk.example.jp",  "test-­‐a.example.jp”]   "   $siblings  =  ["10.2.1.26",  "10.2.1.27"]   "   $siblings_hosts  =  ["proxy5",  "proxy4"]  
  • 16. Puppet!   "     "   Cache Expire   "     "   Varnish 3