オンプレミス環境との違いを整理する(その2)

オンプレミス環境との違いを整理する(その2)

AWSとオンプレミス環境の比較の2回目です。僕がAWSの理解を進めて行く中で当たった壁の部分を書いていきます。


当たった壁とか書きましたが、某SIerのサービスとして「OpenStack」を担当したときよりは随分マシです。そのときは一人で常駐してましたし、知見を持っている方がプロパー含めゼロ。クラウドサービスを使う側ではなく作っていた側、オープンソースなのでサポート窓口も無し。DNS、NTPサービスのUI設計、Ansibleでのオーケストレーション、DR構成のための仕組みを作りを広島某所でやっていました(そのSIerクラウドサービスの開発拠点が広島の郊外にあります)

前例もお手本もドキュメントも無く、一部分ですが僕が一人で100%開発とテストしたものが動いています。結構力技で処理していた部分もあり。SESだったので契約が無い現在は責任が無いんですが、少し心配になってきた.. 

今回から見ていただいている方にもう一度図の説明ですが、左がパブリッククラウド、右が(ほぼ)同じ目的を達成するためのオンプレミス環境をざっくり絵にしたものです。

(マルチAZ構成の絵を使うとオンプレミス環境の絵がDR(ディザスタリカバリ)構成になってややこしくなるので、シングルAZ構成にしています)

f:id:TOSHIOSHIMO:20191123203105p:plain

リージョンとAZで混乱

「リージョン」はOpenStackをやったときに単語を聞いたことがあるのですが、AWSのそれと概念が違いました。また「AZ」はAWS独自の概念?で構成図を見たときも、地理的に違う場所にあるというのが全然分からなかったです。AZはデータセンターの集合体、リージョンはAZの集合体です。AZ同士は100km以上離れた土地に分散されていて、高速回線で接続されています。どこに存在するかは明らかにされていません。

オンプレの構成図は地理関係が明確で配線経路も物凄く細かいですけど、AWSの構成図は抽象化されていますね。

f:id:TOSHIOSHIMO:20191022191509p:plain

f:id:TOSHIOSHIMO:20191101231326p:plain

 

ロードバランサーに証明書?

これを最初聞いたときに、何のことかさっぱりでした。「ELBに証明書が設定されておりSSL通信の終端をしている」の文章が理解できず。オンプレでロードバランサーSSL証明書を設定するなんて聞いたことが無いですし、そもそも終端用途に使わないし。オンプレのロードバランサーとは別物くらいに考えた方が良いですね。

f:id:TOSHIOSHIMO:20191031223043p:plain

DBサーバーはどこに配置するの?

オンプレだと内部ネットワークに設置して、間にルーターかL3スイッチを入れてルーティング設定を行って構成を作っていましたが、AWSでDBサーバーは、Private Subnetに配置します。外部からアクセスできないサブネットで、EC2インスタンスと同じ場所ですね。

では、EC2とDBサーバーの間のセキュリティはどうするんだという話になりますが、セキュリティグループを作成してそれぞれに割り当てることで制御します。DBサーバーから見て、EC2からの通信しか受け付けないような設定をします。

話は逸れますが、AWSでEC2にOracleMySQLを入れてDBサーバーとして使うことはあまりメリットが無く、RDSというマネージドサービスを使います。

独特の用語や概念や考え方が多い

総合して言うとこれに尽きます。逆にクラウドネイティブな方のほうが、レイヤーが上の方の知識は飲み込みが早いかもしれません。僕みたいなオンプレからのチャレンジだと結構大変ですが、低レイヤーの知識は障害発生時の原因追求のときに必要なので、全然ムダにはならないです。クラウドネイティブな方とオンプレネイティブ?な方が組んだ方が一番良いのかなと思っています。