SlideShare a Scribd company logo
1 of 16
Download to read offline
S3 & ELB & Varnish
                              @suz_lab




Thursday, November 10, 11
cloudpack




Thursday, November 10, 11
suz-lab




Thursday, November 10, 11
S3

                            • HTTPでコンテンツをダウンロード
                            • 堅牢性 : 99.999999999%
                                  : 99.99% (RRD)

                            • 可用性 : 99.99%
                            • SLA : 99.9%

Thursday, November 10, 11
ELB

                 • ロードバランサー
                 • SSL Termination
                 • 実は一つのEC2に複数のELBが接続可能
                        (AWS Management Console ではできない... )




Thursday, November 10, 11
Varnish


                            • コンテンツキャッシュサーバ
                            • リバースプロキシーサーバ
                             • HTTPヘッダの操作


Thursday, November 10, 11
S3 & ELB & Varnish

                            • S3 の HTTPS での独自ドメイン
                            • S3 への POST アクセス
                            • S3 のレスポンスに独自ヘッダ
                            • S3 & ELB の Zone Apex 対策


Thursday, November 10, 11
S3 の HTTPS での
                              独自ドメイン

                                  • Facebookアプリ
                                  • HTTPSはELBで処理
                                  • N(ELB) : 1(Varnish)


Thursday, November 10, 11
設定例
        sub vcl_recv {
          if(req.http.host == "www.cloudpack.jp") {
             set req.backend = cloudpack;
             set req.http.host = "s3.www.cloudpack.jp";
             return(lookup);
          }
          return(error);
        }
        backend cloudpack {
          .host = "s3.www.cloudpack.jp";
          .port = "80";
        }

Thursday, November 10, 11
S3 への
                            POST アクセス


                                • Facebookアプリ
                                • POSTをGETに変換



Thursday, November 10, 11
設定例

        sub vcl_recv {
          if(req.http.host == "www.cloudpack.jp") {
             set req.backend = cloudpack;
             set req.http.host = "s3.www.cloudpack.jp";
             set req.request = "GET";
             return(lookup);
          }
          return(error);
        }



Thursday, November 10, 11
S3 のレスポンスに
                               独自ヘッダ

                                • 携帯画像(SoftBank)
                                  の著作権保護機能

                                • x-jphone-copyright
                                • SoftBank以外はOK...


Thursday, November 10, 11
設定例
        sub vcl_recv {
          if(req.http.host == "www.cloudpack.jp") {
             set req.backend = cloudpack;
             set req.http.host = "s3.www.cloudpack.jp";
             return(lookup);
          }
          return(error);
        }
        sub vcl_fetch {
          if(req.http.host == "s3.www.cloudpack.jp") {
             set beresp.http.x-jphone-copyright = "no-transfer";
          }
          return(deliver);
        }
Thursday, November 10, 11
S3 & ELB の
                             Zone Apex 対策


                            • ELB で Route53 なら不要
                            • cloudpack.jp の頭に www つけて
                             リダイレクト(301)



Thursday, November 10, 11
設定例
        sub vcl_error {
          set obj.http.Content-Type = "text/plain; charset=utf-8";
          if(req.url == "/healthcheck.txt") {
             set obj.status = 200;
             synthetic {"health check"};
          } else {
             set obj.http.Location = "http://www." req.http.host req.url;
             set obj.status = 301;
          }
          return(deliver);
        }


Thursday, November 10, 11
cloudpack Tools




Thursday, November 10, 11

More Related Content

More from Hiroyasu Suzuki

CDP キャンペーンサイト編 UPDATE
CDP キャンペーンサイト編 UPDATECDP キャンペーンサイト編 UPDATE
CDP キャンペーンサイト編 UPDATEHiroyasu Suzuki
 
CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)Hiroyasu Suzuki
 
Browser Uploads to S3 using HTML POST Forms
Browser Uploads to S3 using HTML POST FormsBrowser Uploads to S3 using HTML POST Forms
Browser Uploads to S3 using HTML POST FormsHiroyasu Suzuki
 
Amazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてAmazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてHiroyasu Suzuki
 
AWStatsでS3&CloudFrontのアクセス解析
AWStatsでS3&CloudFrontのアクセス解析AWStatsでS3&CloudFrontのアクセス解析
AWStatsでS3&CloudFrontのアクセス解析Hiroyasu Suzuki
 
AWStatsでS3&CloudFrontのアクセス解析
AWStatsでS3&CloudFrontのアクセス解析AWStatsでS3&CloudFrontのアクセス解析
AWStatsでS3&CloudFrontのアクセス解析Hiroyasu Suzuki
 
RDS(MySQL)の利用と注意点
RDS(MySQL)の利用と注意点RDS(MySQL)の利用と注意点
RDS(MySQL)の利用と注意点Hiroyasu Suzuki
 
雲(AWS)に願いを!
雲(AWS)に願いを!雲(AWS)に願いを!
雲(AWS)に願いを!Hiroyasu Suzuki
 
cloudpack(AWS運用事業)一周年でわかってきたこと
cloudpack(AWS運用事業)一周年でわかってきたことcloudpack(AWS運用事業)一周年でわかってきたこと
cloudpack(AWS運用事業)一周年でわかってきたことHiroyasu Suzuki
 
AWSでスケールアウト&スケールアップ
AWSでスケールアウト&スケールアップAWSでスケールアウト&スケールアップ
AWSでスケールアウト&スケールアップHiroyasu Suzuki
 
AWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメントAWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメントHiroyasu Suzuki
 
AWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップAWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップHiroyasu Suzuki
 
AWS+が提供する運用・保守サービス
AWS+が提供する運用・保守サービスAWS+が提供する運用・保守サービス
AWS+が提供する運用・保守サービスHiroyasu Suzuki
 
オリジナルAMIの作成(CentOS)
オリジナルAMIの作成(CentOS)オリジナルAMIの作成(CentOS)
オリジナルAMIの作成(CentOS)Hiroyasu Suzuki
 

More from Hiroyasu Suzuki (17)

CDP キャンペーンサイト編 UPDATE
CDP キャンペーンサイト編 UPDATECDP キャンペーンサイト編 UPDATE
CDP キャンペーンサイト編 UPDATE
 
cdp-night-01
cdp-night-01cdp-night-01
cdp-night-01
 
CDP in NAGOYA
CDP in NAGOYACDP in NAGOYA
CDP in NAGOYA
 
AWS & cloudpack & CDP
AWS & cloudpack & CDPAWS & cloudpack & CDP
AWS & cloudpack & CDP
 
CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)
 
Browser Uploads to S3 using HTML POST Forms
Browser Uploads to S3 using HTML POST FormsBrowser Uploads to S3 using HTML POST Forms
Browser Uploads to S3 using HTML POST Forms
 
Amazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてAmazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack について
 
AWStatsでS3&CloudFrontのアクセス解析
AWStatsでS3&CloudFrontのアクセス解析AWStatsでS3&CloudFrontのアクセス解析
AWStatsでS3&CloudFrontのアクセス解析
 
AWStatsでS3&CloudFrontのアクセス解析
AWStatsでS3&CloudFrontのアクセス解析AWStatsでS3&CloudFrontのアクセス解析
AWStatsでS3&CloudFrontのアクセス解析
 
RDS(MySQL)の利用と注意点
RDS(MySQL)の利用と注意点RDS(MySQL)の利用と注意点
RDS(MySQL)の利用と注意点
 
雲(AWS)に願いを!
雲(AWS)に願いを!雲(AWS)に願いを!
雲(AWS)に願いを!
 
cloudpack(AWS運用事業)一周年でわかってきたこと
cloudpack(AWS運用事業)一周年でわかってきたことcloudpack(AWS運用事業)一周年でわかってきたこと
cloudpack(AWS運用事業)一周年でわかってきたこと
 
AWSでスケールアウト&スケールアップ
AWSでスケールアウト&スケールアップAWSでスケールアウト&スケールアップ
AWSでスケールアウト&スケールアップ
 
AWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメントAWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメント
 
AWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップAWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップ
 
AWS+が提供する運用・保守サービス
AWS+が提供する運用・保守サービスAWS+が提供する運用・保守サービス
AWS+が提供する運用・保守サービス
 
オリジナルAMIの作成(CentOS)
オリジナルAMIの作成(CentOS)オリジナルAMIの作成(CentOS)
オリジナルAMIの作成(CentOS)
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 

S3 & ELB & Varnish

  • 1. S3 & ELB & Varnish @suz_lab Thursday, November 10, 11
  • 4. S3 • HTTPでコンテンツをダウンロード • 堅牢性 : 99.999999999% : 99.99% (RRD) • 可用性 : 99.99% • SLA : 99.9% Thursday, November 10, 11
  • 5. ELB • ロードバランサー • SSL Termination • 実は一つのEC2に複数のELBが接続可能 (AWS Management Console ではできない... ) Thursday, November 10, 11
  • 6. Varnish • コンテンツキャッシュサーバ • リバースプロキシーサーバ • HTTPヘッダの操作 Thursday, November 10, 11
  • 7. S3 & ELB & Varnish • S3 の HTTPS での独自ドメイン • S3 への POST アクセス • S3 のレスポンスに独自ヘッダ • S3 & ELB の Zone Apex 対策 Thursday, November 10, 11
  • 8. S3 の HTTPS での 独自ドメイン • Facebookアプリ • HTTPSはELBで処理 • N(ELB) : 1(Varnish) Thursday, November 10, 11
  • 9. 設定例 sub vcl_recv { if(req.http.host == "www.cloudpack.jp") { set req.backend = cloudpack; set req.http.host = "s3.www.cloudpack.jp"; return(lookup); } return(error); } backend cloudpack { .host = "s3.www.cloudpack.jp"; .port = "80"; } Thursday, November 10, 11
  • 10. S3 への POST アクセス • Facebookアプリ • POSTをGETに変換 Thursday, November 10, 11
  • 11. 設定例 sub vcl_recv { if(req.http.host == "www.cloudpack.jp") { set req.backend = cloudpack; set req.http.host = "s3.www.cloudpack.jp"; set req.request = "GET"; return(lookup); } return(error); } Thursday, November 10, 11
  • 12. S3 のレスポンスに 独自ヘッダ • 携帯画像(SoftBank) の著作権保護機能 • x-jphone-copyright • SoftBank以外はOK... Thursday, November 10, 11
  • 13. 設定例 sub vcl_recv { if(req.http.host == "www.cloudpack.jp") { set req.backend = cloudpack; set req.http.host = "s3.www.cloudpack.jp"; return(lookup); } return(error); } sub vcl_fetch { if(req.http.host == "s3.www.cloudpack.jp") { set beresp.http.x-jphone-copyright = "no-transfer"; } return(deliver); } Thursday, November 10, 11
  • 14. S3 & ELB の Zone Apex 対策 • ELB で Route53 なら不要 • cloudpack.jp の頭に www つけて リダイレクト(301) Thursday, November 10, 11
  • 15. 設定例 sub vcl_error { set obj.http.Content-Type = "text/plain; charset=utf-8"; if(req.url == "/healthcheck.txt") { set obj.status = 200; synthetic {"health check"}; } else { set obj.http.Location = "http://www." req.http.host req.url; set obj.status = 301; } return(deliver); } Thursday, November 10, 11