7852354 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

GMの抵抗ワショーイ

GMの抵抗ワショーイ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2018.08.03
XML
カテゴリ:サーバ
つい最近(といっても2019/8/23)にAWSの東京リージョンで接続障害がありましたね。

原因は過熱だったとのことですが、ShingleAZが止まっていたとのアラートが飛んできていたそうで。
MultiAZにしてればパフォーマンスや色々な面で劣化起きたとしても大丈夫だった可能性があるとかないとか。
ということで、今日は設計的な話とかをメモ。

・複数階層サブネットの話
 ・基本的に1~3階層サブネットとあるが、DDD(ドメイン駆動設計)に即して考えるとわかりやすそう。
  ・1層ならルータとEC2のやりとり
  ・2層ならルータからWEB(EC2的な)のにいって、ルータ経由でDBへ
  ・3層ならELB経由したりBastion(踏み台サーバ)経由してEC2やDBにアクセスする

ELBがコントローラ層、EC2がビジネス層、DBがDAO層と考えるとそのままかなーと。

Bastion(要塞)は管理者によるメンテナンスのためのSSHの受け付けとかを行うためのサーバ。
管理者用サーバとも言う。ユーザが使うAPIから直接アクセスできても困るものね。
なので、「セキュリティグループの設定」によって踏み台サーバの権限を調整できるようにし、証明書などによる認証もあると良いかと。(BASIC認証ぐらいはつけといたほうが内部犯防止にはよさげ)

[参考]
20160929-bastion-3
[5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Linux編 –

[参考][5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Windows編 –
(ネットワーク周りの用語、整理したさ…)


この辺りはAWS CloudFormation(CFn)用のJSON/YAMLなどを記述して自動的に環境構築・起動できるようにすると良いかと。
証明書の設定とかリモートデスクトップ(RD)の設定が楽になりそう。

CFn の構文とプロパティ(EC2インスタンス)
ref. http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/template-formats.html

基本は以下の入れ子構造です。詳細はこちら

Resources
 {リソース名}
  Type
  Properties
   {各プロパティ}

設計のコツは以下。
・踏み台は2つ以上のAZに配置(今回みたいな障害に対応できるように)
・踏み台はパブリックサブネットに配置
・踏み台専用のEIPやセキュリティグループ・FWを設置
・ポート番号はSSHなどの22番のみを許可

※パブリックサブネット
・インターネットゲートウェイ(IGW)をVPCやルートテーブルアタッチすることでインターネットとの出入りができる
※プライベートサブネット
・VPCやDirectConnet間での通信のみの場合はこっち
 パブリックサブネットとは逆に、IGWの設定などはしません。

DirectConnectを使うとAWS VPCと自社のデータセンターをセキュアに繋げます。
但し、VPNよりもコストがかかる模様。
VPNはコストが安い分、インターネットを経由する故の通信品質の安定性は下がったりします。
管理用やメンテナンス経路(Bastion)とかならこっちでいいかも。

一方、VPC同士の接続でいいならVPCピアリングを使ったルーティングが良さげ。
EC2からS3やDynamoDBにアクセスする時などに便利。

他にもAWS Private Linkなんてのもあります。
こいつはVPC EndPointやNetwork Load Balancer(NLB)辺りに相当して、VPCエンドポイントとも呼ばれたりします。

使い分けとしては、以下のケースでPrivateLinkを使います。
独自サービスにクローズドな環境で通信をしたい場合
Direct Connect接続経由のエッジツーエッジルーティング
VPCのCIDRブロックが重複している

他にも、以下のようなことができます。
・インターネットに出ずにEC2からKinesisに繋ぐ
・EC2やELBのAPIをインターネットに出ずに叩く

つまり、ネットワーク構成上VPCでは困難な場合はPrivateLinkを使える可能性を検討すると良さげです。
通信経路の可視化や構成図がシンプルになるメリットもPrivateLinkにはあります。
ただ、NACLなどで詳細な制御が必要ならVPCピアリングのほうがおすすめ。

VPCピアリングの台数上限は50、VPCエンドポイントの上限は20らしい。
[参考]:AWS PrivateLinkの使い方と注意点 ~VPCピアリングとの使い分け~

ちなみに、WindowsUpdateやyum、apt-getなどでインターネットにアクセスしたい場合はNATゲートウェイのルーティングをさせることでネットサーフィンできたりします。
NATゲートウェイの反対が踏み台サーバに当たります。VPNとかDirectConnet、あるいはセッションマネージャとか使いながらネットからプライベートサブネットにアクセスする感じ。
IGWは双方向にネットを張れますが、NATゲートウェイや踏み台・セッションマネージャだと片道しか張れないですね。
つまり、「NATゲートウェイを踏み台サーバ」なんてのはできないです。



今日はAWSの障害から派生してネットワークの設計周りのお話などについてまとめてみた。
実運用的なことも取り扱っていきたいですね。
画像をもっと配置したい、、

   ww
 ,,#´ω`#,,
 #´・_・`#ノシ
 #´・ρ・`#ノシ
 #´・▽・`#ノシ
 #´・w・`#ノシ
 #´・ω・`#ノシ
 #´・∀・`#ノシ
 #´・Д・`#ノシ
 #´・-・`#ノシ
 #´・ε・`#ノシ
 #´・ヮ・`#ノシ
 #´・⊇・`#ノシ
..[..===..]
 |ノシショボテン|
 |_\3500_|
3日坊主…?





お気に入りの記事を「いいね!」で応援しよう

Last updated  2019.08.25 22:55:47
コメント(0) | コメントを書く


■コメント

お名前
タイトル
メッセージ

利用規約に同意してコメントを
※コメントに関するよくある質問は、こちらをご確認ください。



© Rakuten Group, Inc.