タグ

セッションに関するjinjin252525のブックマーク (11)

  • DynamoDBでTomcatのセッション共有をするとハマるかも - 谷本 心 in せろ部屋

    AWS仕事で使い始めて1年半、 ようやく頭がクラウド脳に切り替わってきた [twitter:@cero_t] です。 好きなAWSサービスはKinesisです。まだ使ってませんけどね! さて、今日のテーマは「AWSでTomcatのセッション共有」です。 EC2上で動くTomcatのセッションオブジェクトを、DynamoDBを使って共有するというものです。 話題としてはそれなりに枯れていると思うのですが、 実案件で使おうと思ったら問題が出そうになって困ってる、という話です。 発生する問題は? どういう問題が起きるか、先に書いておきます。 発生する問題は、 複数のTomcatをELBで分散させている時に、 スケールインやスケールアウトが短時間に連続して発生すると、 セッションが巻き戻る(先祖返りする)可能性がある、というものです。 セッションが消えるならまだしも、 先祖返りするというのは、実

    DynamoDBでTomcatのセッション共有をするとハマるかも - 谷本 心 in せろ部屋
  • AWSでセッションをクラスタリングする方法について考えてみた結果、DynamoDBがよさそうなので試してみた。 - Qiita

    AWSでセッションをクラスタリングする方法について考えてみた結果、DynamoDBがよさそうなので試してみた。JavaTomcatDynamoDBSpringBoot はじめに EC2上のtomcatにデプロイされたウェブアプリケーションのセッション情報をどうやって永続化するかを考えてまずはそれをまとめてみました。 次に、DynamoDBAWSが提供しているTomcatSessionManagerを使ってSpringBootからDynamoDBにセッションを永続化する方法をご紹介します。 SpringBoot内ではEmbeddedTomcatを使っており初期化処理時にSessionManagerを差し替えれば実現できます。EmbeddedではないTomcat上のウェブアプリケーションであればcontext.xmlに設定を書けば実現することができます。後者についてはあっさり触れたいと思いま

    AWSでセッションをクラスタリングする方法について考えてみた結果、DynamoDBがよさそうなので試してみた。 - Qiita
  • 【基礎から学ぶ】ELBのスティッキーセッションについてまとめてみた - サーバーワークスエンジニアブログ

    はじめに こんにちは、技術3課の紅林です。年始早々に風邪を引いてしまい、なかなか辛い正月を過ごすことになってしまいました。 今回、AWSのElastic Load BalancingのClassic Load Balancer (以下、ELB)のスティッキーセッション機能についてまとめてみました。 目次は以下の通りとなります。 はじめに ELBのスティッキーセッション、その前に Cookieについて Cookieの動作例 テストコード 動作概要 動作結果 パケットキャプチャ セッションについて ELBのスティッキーセッションについて 概要 検証構成概要 コード 維持無し 動作確認 ELBによって生成されたCookieの維持 シーケンス図 動作確認 アプリケーションによって生成されたCookieの維持 シーケンス図 動作確認 注意点 おわりに ELBのスティッキーセッション、その前に ELB

    【基礎から学ぶ】ELBのスティッキーセッションについてまとめてみた - サーバーワークスエンジニアブログ
  • ELBのスティッキーセッションについて調べてみた | DevelopersIO

    はじめに 藤です。 私事ですが、先週「AWS認定Sysopsアドミニストレーター - アソシエイトレベル」を受験しまして、 無事合格しました(8888 更に昨日「AWS認定デベロッパー - アソシエイトレベル」を受験しまして、 無事合格しました(8888 トリプルアソシエイトになりました。 今回はELBのスティッキーセッションがどういうものなのか理解できていなかったので調べてみました。 概要 ELBにクライアントとバインド先を固定するスティッキーセッションという機能があります。 HTTPレスポンスにELBでCookieを埋め込んで、 そのクッキーを基にバインド先のインスタンスを固定するというものです。 ELBのスティッキーセッションはCookieの有効期限設定が2種類あります。 任意の有効期限を指定する アプリケーションのCookieに従う スティッキーセッションを利用したい場合、 アプ

    ELBのスティッキーセッションについて調べてみた | DevelopersIO
  • 「セッション」と「コネクション」は違うの?

    通信の世界では「セッション」や「コネクション」という言葉をよく聞きますが,明確に使い分けられていないこともあるようです。この二つはそれぞれ何を指すのでしょうか。 一般的にセッションとは,通信の開始から終了までを管理する一つの単位のことを指します。OSIの7階層モデルで言えば,第5層「セッション層」の機能です。端末の間でセッションができると,通信に使うアプリケーションがデータ転送可能な状態になります。 一方のコネクションは,そのセッションでデータ転送を行うための論理的な回線のことです。通常は第4層「トランスポート層」のTCP(transmission control protocol)での「TCPコネクション」を指すことが多いです。 一つのセッションに一つのコネクションしかないこともありますが,一つのセッションに複数のコネクションが存在する場合もあります。コネクションはセッションによって管理

    「セッション」と「コネクション」は違うの?
  • PHPアプリケーションのセッション管理にAmazon DynamoDBを使う | DevelopersIO

    こんにちは。望月です。 先日のブログエントリで、冗長化されたWebアプリケーションでのセッション管理にAWS ElastiCacheを利用する方法を紹介しました。 PHPアプリケーションのセッション管理にAWS ElastiCacheを使う 前回のブログを書いた際に私も勘違いをしていたのですが、ElastiCacheのmemcachedを使う方法には一つ欠点があります。ElastiCacheのmemcachedではレプリケーション機能がサポートされていないため、セッション情報が保管されているElastiCacheノードが不調に陥ると、どちらのサーバからもセッション情報を読み取ることができなくなってしまいます。やはり重要なデータはレプリケーションをしたうえで、必ずRead/Writeができる状態で保管しておきたいものです。 そこで登場するのがAmazon DynamoDBです。DynamoD

    PHPアプリケーションのセッション管理にAmazon DynamoDBを使う | DevelopersIO
  • 複数サーバでセッションを共有する冴えたやりかた

    【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発 株式会社 ゼンアーキテクツ 大平かづみ GitHub 上に展開される開発環境をブラウザや Visual Studio Code から接続し、あたかも手元で作業しているかのように利用できる GitHub Codespaces。手元のマシンスペックに影響されず、プロジェクトで共通の環境をオンデマンドで利用できるため、コーディングからレビュー、デバッグに至るまでシームレスに作業することができます。実際に GitHub Codespaces を用いて開発を進めたプロジェクトを例に、デモを交えてご紹介します。

    複数サーバでセッションを共有する冴えたやりかた
  • Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO

    Tomcatのセッション管理 Tomcatでクラスター構成にする場合、課題となるのがセッション管理です。ロードバランサーでセッションIDを保持することで、毎回同じサーバーにリクエストが向かうのであれば問題なさそうに見えますが、あるサーバーがダウンしてしまうとセッション情報が消えてしまいます。これを解決する方法として、データベースにセッション情報を保持する方法が一般的ですが、データベースへ負荷が掛かりますし、データベースが落ちたら困ります。何かもっと良い方法は無いかと皆さん思っていたはずです。そこで、AWSですよねー。AWSでは、ElastiCacheやDynamoDBがサービスとして提供されています。ここで、永続化をしっかりやってくれるのはDynamoDBであり、AWS SDK for Javaでの登場が待たれていたわけです。そして、このたび出てきました! スティッキーセッション ロードバ

    Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO
  • AWSのELBで陥ったトラブルについて - スープレックス社長のいろいろ2

    Webサーバを複数台使用していて、それらをELBでロードバランシングしており、プログラムでセッション変数を使いたいのでSticknessの設定を「Enable Load Balancer Generated Cookie Stickiness」に設定。 まず疑うべきはコードだと思ったので、プログラムを念入りにチェックしてみたのですが、どうもおかしそうな箇所がない。確かにプログラムに問題があればIE8だけじゃなくて他のブラウザでも発生するはずと思い、試しにクッキーの状態を見てみると、「AWSELB」という名前のクッキーが大量に存在してることが判明。 ELBはこのクッキーの値を見て、どのWebサーバに接続するか判断しているのですが、これがURL単位で発行されているようで、そのため大量のクッキーが存在した模様。アクセスのたびにHTMLだけでなくCSSJavaScriptなどのファイルにもクッ

  • Elastic Load Balancing で Sticky Session が可能に – klog

    Amazon Web Services で複数のEC2インスタンスへロードバランスさせたいときに使用する Elastic Load Balacing に Sticky Session がサポートされました。 New Elastic Load Balancing Feature: Sticky Sessions ロードバランスされた環境では HTTP リクエストごとに特定のアルゴリズムに従って振り分けされて負荷分散・冗長化構成としての効果を出すわけですが、ユーザー毎(セッション毎)の情報をウェブアプリケーション内で持つ必要のある構成の場合、どのインスタンスにリクエストが来ても同じ状態にしなければならないため memcached を導入したりして自前でセッションデータの共有をしておく必要がありました。 今回のアップデートで一旦始まったセッションを引き続き同じインスタンス(サーバー)へ転送するこ

    Elastic Load Balancing で Sticky Session が可能に – klog
  • PHPセッションデータの保存先

    PHPのセッションはサーバに保存されるものだが、デフォルトではファイルで保存されている。 保存先の指定はphp.iniで指定できる。 CentOS 5.8では以下の場所に保存されていた。 /var/lib/php/session # cat /etc/php.ini | grep session.save_path session.save_path = "/var/lib/php/session" また、phpinfoでも確認できる ちなみに保存されたセッションファイルはネット上でよく言われている/tmpでは無いので、tmpwatch によって自動的に削除されずひたすらサーバに溜まり続けていくのかと思ったが、そうでもないらしい。 /etc/php.iniで以下のように設定されている ——————————————————————————– ; Define the probability

    PHPセッションデータの保存先
  • 1