Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第2回 雲勉LT【オンライン:中級者向け】AWSで仮想IPを使ったAZ冗長化 ~ 宛先がIP指定しかできないけどIP変更せずにAZ障害に対処したい! ~

Y.Sumikura
November 07, 2022

第2回 雲勉LT【オンライン:中級者向け】AWSで仮想IPを使ったAZ冗長化 ~ 宛先がIP指定しかできないけどIP変更せずにAZ障害に対処したい! ~

Y.Sumikura

November 07, 2022
Tweet

More Decks by Y.Sumikura

Other Decks in Technology

Transcript

  1. 0. 講師⾃⼰紹介 3 n 阿部 幸司 • クラウドインテグレーション事業部 企画推進セクション インフラ技術グループ

    • 経歴 オンプレミスインフラエンジニア(構築,運⽤保守) 10年 クラウドインフラエンジニア(構築,運⽤保守) 3年 • マウンテンバイクに乗ったり登⼭しています。⾝体が⾃然と⼭を求めています。
  2. 1. はじめに 5 雲勉LTで取り上げた理由 n お客様要件から実現できる⽅法を模索 n 社内にてこのような⽅法で出来るのでは︖という知⾒があったので検証 n 実際にやってみたら出来た

    n すごくニッチではあるものの、そういうお客様がいるということがわかった n やり⽅によっては応⽤が聞くのでは︖と思い記録も兼ねて雲勉LTで取り上げた
  3. 3. どんな要件で使ったの︖ 12 n オンプレからEC2にデータを転送してRDSに保存 n 冗⻑化してAZ障害時でもデータ転送がされない状態は無くしたい、最低でも最⼩時間に留めたい n EC2への通信で拠点の機器でDNSが使えずにIPで宛先を指定する必要がある ←New

    n 拠点が多い等の理由で拠点にある機器の宛先IP変更が簡単に出来ない ←New NLBは固定IPでアクセスできるけどAZ-aのENI(IP) への通信はAZ-aにしか⾏かない。。。 これだとAZ障害時に切り替えができない。。。
  4. 4. 検証してみた 15 n 検証環境構築 ・左側のVPCを通信先となる<宛先環境>とする ・右側のVPCを<オンプレ環境>と⾒⽴てる ・環境間はお客様環境想定でTransitGateway経由で通信を⾏う ①環境で利⽤していないIPを仮想IPとする ②TransitGatewayのルートテーブルで

    仮想IP※へのターゲットを宛先環境:TransitGatewayアタッチメントにする ③ServerA,ServerBにエイリアスで仮想IPを設定する ④宛先環境のサブネットに紐付いたルートテーブルで仮想IPへのターゲットを宛先環境:ServerAがもつENIに向ける ・ServerA,ServerBの「ソース/宛先チェックを変更」→「停⽌」にチェックを付ける ※仮想IP設定例 # cat /etc/sysconfig/network/ifcfg-eth0:0 DEVICE=eth0:0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.10 NETMASK=255.255.255.0 ① ② ③ ③ ④
  5. 4. 検証してみた 19 n 切り替え⾃動化 # トリガー ・ServerAをCloudWatchで死活監視を⾏い、それをトリガーにSNS→Lambdaを実⾏ # 切り替え

    ・LambdaにてRouteTableの変更 > aws ec2 --route-table-id “RouteTable ID” --destination-cidr-block 192.168.0.10/32 --network-interface-id “ServerBのENI-ID”
  6. 23