2020年7月7日火曜日

AWSのアフィニティの意味

アフィニティという言葉の意味がよく分からなかったので調べました。

そもそも英単語として聞き慣れないので、意味をOxford Dictionaryで見ると、

affinity : 

1. strong feeling that you understand somebody/something and like them or it

→ 親しみ

2. a close relationship between two people or things that have similar qualities, structures or features

→ 類似性、共通性、一体感

となります。どうやら類似性、一体感という部分が相当するようです。

---

AWSではDedicated Hostで、アフィニティという言葉が出てきます。一度停止したインスタンスを再起動するときに、同一のホストで再開するかどうかの設定ができます。

ホストのアフィニティ
ホストのアフィニティは、インスタンスレベルで設定します。また、インスタンスと Dedicated Host の間に関係を作成します。

アフィニティが Host に設定されている場合は、特定のホストで起動したインスタンスが停止しても、常に同じホストで再開されます。これは、ターゲットを絞った起動にもターゲットを絞らない起動にも適用されます。

アフィニティが Off に設定されているときにインスタンスを停止して再起動する場合は、使用可能な任意のホスト上で再起動できます。ただし、最後に実行した Dedicated Host 上でベストエフォートベースでの再起動を試みます。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding

AWSでのもうひとつの事例はロードバランサーです。これはスティッキーセッションの別名として「セッションアフィニティ」と呼ばれています。同じIPなら同じように振り分けるという機能です。

 Classic Load Balancer のスティッキーセッションを設定する

デフォルトでは、Classic Load Balancerは負荷が最小の登録されたインスタンスに各リクエストを個別にルーティングします。スティッキーセッション機能 (セッションアフィニティとも呼ばれる) を使用することによって、ロードバランサーがユーザーのセッションを特定のアプリケーションインスタンスにバインドするように設定できます。これにより、ユーザーのセッション中のすべてのリクエストが同じインスタンスに送信されます。
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/classic/elb-sticky-sessions.html


 別のサイトですが、富士通のデザインパターンでのAffinity, Anti-afiinityという説明がありました。

ポリシー仮想サーバの配備
AffinityAffinityポリシーのサーバグループに登録された仮想サーバ群は、可能な限り同一の物理サーバ上で起動されます。
Anti-AffinityAnti-Affinityポリシーのサーバグループに登録された仮想サーバ群は、確実に別々の物理サーバ上で起動されます。

0 件のコメント:

コメントを投稿