SlideShare a Scribd company logo

AWS ALBのちょっとイイ話

AWS ALBのちょっとイイ話

1 of 15
Download to read offline
ALBのちょっといい話
大越 雄太
自己紹介
● 大越 雄太 (Yuta Okoshi)
● 最近の経歴:
2020年5月に留学資金集めのためにフリーランスとして転生
同時にハウテレビジョンにJOIN
● HowTVでの主なお仕事:
AWSのリソース整理など主にインフラ周り
● 趣味:
IoT × サバイバルゲームでいろいろ作ってます
チンチラと同居生活中
2
Agenda
1. AWS ALBってなに?
2. ALBのちょっといい話
3. どんなところに利用した?
3
AWS ALBって
なに? 4
AWS ALBってなに?
● AWS Elastic Load Balancing(ELB)を2009年に発表
● その後、AWS Application Load Balancer(ALB)を2016年に発表
● 主な特徴
○ レイヤー7のLBとして動作する
○ HTTPとHTTPSのリクエストヘッダにアクセスし、
パスやドメイン、送信元IPなどを判別して負荷を分散できる
○ AWS WAFの利用によるセキュリティ強化
○ OpenID Connectによる認証機能がマネージドで利用できる
○ などなど。。。
細かいことはクラスメソッドさんの記事をドゾ
https://dev.classmethod.jp/articles/describe-elb-types/
5
● 現状、AWSでは3種類のLoad Balancerが発表されています
○ Network Load Balancer(NLB)
○ Application Load Balancer(ALB)
○ Classic Load Balancer(CLB)
● Webアプリケーションは特別な理由がない限りApplication Load Balancerで必要十分です
● Classic Load Balancerは今後、利用しないようにしましょう
細かいことはクラスメソッドさんの記事をドゾ
https://dev.classmethod.jp/articles/describe-elb-types/
AWS ALBってなに?
6

Recommended

Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみるCocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみるMasayuki Nii
 
5分でできる ebfly
5分でできる ebfly5分でできる ebfly
5分でできる ebflyKazuyuki Honda
 
誰もが知りたいアカウントアクティビティ
誰もが知りたいアカウントアクティビティ誰もが知りたいアカウントアクティビティ
誰もが知りたいアカウントアクティビティKieko Sakurai
 
AWS CODE DEPLOY for Jaws-ug oita
AWS CODE DEPLOY for Jaws-ug oitaAWS CODE DEPLOY for Jaws-ug oita
AWS CODE DEPLOY for Jaws-ug oitaMasahiro Ienaga
 
Aws禅 (2012-05-13 JAWS-UG 子ども会)
Aws禅 (2012-05-13 JAWS-UG 子ども会)Aws禅 (2012-05-13 JAWS-UG 子ども会)
Aws禅 (2012-05-13 JAWS-UG 子ども会)Ryuichi Tokugami
 
AWSサーバーレスをつかってハマったところ
AWSサーバーレスをつかってハマったところAWSサーバーレスをつかってハマったところ
AWSサーバーレスをつかってハマったところmasaru kawabata
 
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみたAWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみたKen'ichirou Kimura
 
Apsara Conference 2019 コンテナ系サービスのアップデート情報
Apsara Conference 2019 コンテナ系サービスのアップデート情報Apsara Conference 2019 コンテナ系サービスのアップデート情報
Apsara Conference 2019 コンテナ系サービスのアップデート情報Shinya Mori (@mosuke5)
 

More Related Content

What's hot

Alibaba Cloud Serverless Kubernetes 徹底解説
Alibaba Cloud Serverless Kubernetes 徹底解説Alibaba Cloud Serverless Kubernetes 徹底解説
Alibaba Cloud Serverless Kubernetes 徹底解説Shinya Mori (@mosuke5)
 
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすかAWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすかShun Fukazawa
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Daisuke Miyamoto
 
Amazon AlexaとServerless
Amazon AlexaとServerlessAmazon AlexaとServerless
Amazon AlexaとServerlessJun Ichikawa
 
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Shinya Mori (@mosuke5)
 
Try aws personalize in japanese presentation jawsug niigata
Try aws personalize in japanese presentation jawsug niigataTry aws personalize in japanese presentation jawsug niigata
Try aws personalize in japanese presentation jawsug niigataMasayuki Sakamoto
 

What's hot (8)

Alibaba Cloud Serverless Kubernetes 徹底解説
Alibaba Cloud Serverless Kubernetes 徹底解説Alibaba Cloud Serverless Kubernetes 徹底解説
Alibaba Cloud Serverless Kubernetes 徹底解説
 
AWS Lambda + Go
AWS Lambda + GoAWS Lambda + Go
AWS Lambda + Go
 
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすかAWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
 
Tune Up AWS Lambda
Tune Up AWS LambdaTune Up AWS Lambda
Tune Up AWS Lambda
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
 
Amazon AlexaとServerless
Amazon AlexaとServerlessAmazon AlexaとServerless
Amazon AlexaとServerless
 
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念
 
Try aws personalize in japanese presentation jawsug niigata
Try aws personalize in japanese presentation jawsug niigataTry aws personalize in japanese presentation jawsug niigata
Try aws personalize in japanese presentation jawsug niigata
 

Recently uploaded

20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdfAyachika Kitazaki
 
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdfHarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdfMatsushita Laboratory
 
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHubK Kinzal
 
20240227 完全に理解した LT 「mise いいよ mise」 / morishin
20240227 完全に理解した LT 「mise いいよ mise」 / morishin20240227 完全に理解した LT 「mise いいよ mise」 / morishin
20240227 完全に理解した LT 「mise いいよ mise」 / morishinMakoto Mori
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
scikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみんscikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみんtoshinori622
 
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)Kanta Sasaki
 
00001_test_automation_portfolio_20240227
00001_test_automation_portfolio_2024022700001_test_automation_portfolio_20240227
00001_test_automation_portfolio_20240227ssuserf8ea02
 

Recently uploaded (8)

20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
 
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdfHarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
 
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
 
20240227 完全に理解した LT 「mise いいよ mise」 / morishin
20240227 完全に理解した LT 「mise いいよ mise」 / morishin20240227 完全に理解した LT 「mise いいよ mise」 / morishin
20240227 完全に理解した LT 「mise いいよ mise」 / morishin
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
scikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみんscikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみん
 
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
 
00001_test_automation_portfolio_20240227
00001_test_automation_portfolio_2024022700001_test_automation_portfolio_20240227
00001_test_automation_portfolio_20240227
 

AWS ALBのちょっとイイ話

Editor's Notes

  1. 大越 雄太 (Yuta Okoshi) 最近の経歴: 2020年5月に留学資金集めのためにフリーランスとして転生し 同時にハウテレビジョンのSREチームとしてJOIN HowTVでの主なお仕事: AWSのリソース整理など主にインフラ周り 趣味: IoT × サバイバルゲームでいろいろ作ってます チンチラと同居生活中 チンチラ飼ってるよーとか、IoTガジェット作ってるって方はぜひお話させてください
  2. Google OpenID Providerを使えるのでGoogleアカウントを利用したらアカウント管理業務が0に。。。。??
  3. ALBのちょっとイイ話をしていきます。 ところで先程のスライドの中で気になることがあったと思います。
  4. このリクエストヘッダにアクセスして負荷を分散させることができるということは 各インスタンス上でNginxの設定を全部取り除けるのでは???という考えが僕の中で生まれました。 それを実現するための方法を見つけてみたので次のスライドを紹介したいと思います。
  5. ALBにはポートごとにリスナーを用意し 各リスナーにはルールを定義することができます。 そのルールは上から順に評価され当てはまり次第ルール先のターゲットグループへルーティングされます。 ターゲットグループにはEC2やLambda、IPアドレス、API Gatewayなど様々なリソースの特定のポートに対してターゲットとして登録できるので大抵のことはできると思います。
  6. これら構成を踏まえた上でこの赤色の部分が今回のお話になります。 まずWebアプリといえば80ポートと443ポートが開いていますが、Nginxやアプリ側でhttpsへのリダイレクト設定などをやっていたりしますよね? それらをALB上でやってしまいました。 こうすることで80ポートに来たリクエストはEC2にたどり着く前にhttpsとしてリダイレクトされるのでEC2側はhttpsかhttpなのかといったことを気にしないで良くなりました。 また、443ポートのリスナーを見るだけでどのTGにどんなリクエストが行くのかがひと目で分かるようになります。 443ポート側のルールにも工夫があります。 デフォルトの向き先を404にすることで意図しないリクエストをEC2が処理しないようにできます。 例えばIPアドレスによるアクセスや意図しないサブドメインでのアクセスなどを遮断できます。 アプリ側では特定のドメインでリクエストが届くことを前提にWebアプリの開発ができるようになります。
  7. それではこれら構成を今の現場でどのように適応したのかを次のスライドで説明していきたいと思います。
  8. まず。こちらが適応する前の開発環境の構成になります。 EC2から直接EC2を見ていたり、管理がかなり複雑になっていました。
  9. こちらを右の図のようにキレイにしてみました。 図を見るだけでもかなりわかりやすくなったと思います。
  10. 具体的な改善点としては