インフラ 仮想環境構築の自動化

Python学習【365日チャレンジ!】239日目のマスターU(@Udemy11)です。

久しぶりにアオリイカが釣れて、イカのおいしい刺身とバター焼きを食べることができました。

アオリイカの刺身

毎年、秋はイカの数釣りができるといわれているにも関わらず、なかなか釣れないのですが、今回は、タイミングが良かったのか、すぐに釣れたので、エギングのあとはアジングでアジもゲットできました。

次は青物を狙いに行こうと思います。

それでは今日も、Python学習を始めましょう。

昨日の復習

昨日は、hashlibを使ったよりセキュリティの高い暗号化を学習しました。

ランダムな文字列saltを使ってパスワードのセキュリティーを高めましたが、さらにstretchingを使って、ハッシュ化を繰り返すことでよりセキュリティーを高めることができました。

セキュリティーはいくら高めても必ずそれを破ろうとするハッカーが現れるので、完璧なシステムは存在しませんが、できる対策をしっかりしておきましょう。

詳細については、昨日の記事をごらんになってみてください。

今日は、ネットワークの仮想環境を自動で構築するイメージを学習します。

仮想環境構築イメージ

仮想環境構築の自動化

イメージとしてはこのような感じですが、MacやWindows、LinuxからVagrantを使ってVM(ViuturalMachine)を作り、メインサーバーから2つのサーバーにWebアプリケーションをインストールするようなイメージです。

このイメージを構築するために使うツールなどをチェックしていきましょう。

VM(ViruralMachine)

VMは、バーチャルマシーンの名のとおり、バーチャルなPCのことです。
私たちが普段から触っているPCは物体が存在しますが、VMはリアルなPCのデータの仮想空間に作ったPCです。

言ってみれば、ハードディスクなどの記憶装置の中に用意されたプログラムということですね。

プログラムなので、もちろんいろいろな設定をしないと仮想PCとして使うことができません。

リアルなPCと同じように、初期設定が必要です。

Vagrant

VagrantはVMの設定を自動化するツールで、VMは上記で説明したように、バーチャルマシーンつまり仮想PCを自動で設定することができます。

Vagrantは、構築したVMを仮想環境の外からコントロール可能なので、AmazonEC2などのクラウドサービスを使った仮想環境の構築などに使われているツールです。

VirtualBox

VirtualBoxは、PCの中に仮想環境を構築して、OSをインストールすることができるフリーの仮想化ソフトです。

フリーソフトなので、使用はもちろん無料で使うことができます。

Fabric

FabricはSSH(Secure Shell)でリモートシェルコマンドを実行するためのPythonのサードパーティーライブラリです。

Ansible

Ansibleは、Pythonが使えてSSH通信ができればITインフラに係る作業を自動化できるツールであり、仮想環境の校正管理ツールとも言われていて、処理コードは、Playbookという単位にまとめられて、YAML形式で保存されます。

Flask

FlaskはPythonのコードを学習しているときに少し登場しましたが、マイクロウェブアプリケーションフレームワークで必要最低限の機能をもったPythonのサードパーティーライブラリです。

gunicorn

gunicornは、pipでインストールすることができるPythonのサードパーティーライブラリで、WSGI(Web Server Gateway Interface)サーバーを構築することができ、Flaskで作ったアプリケーションをWSGIサーバー上で操作することができます。

supervisor

supervisorは、プロセス管理やデーモン化が簡単にできるツールです。

まとめ

Python学習365日酒井さんのレクチャーを元に健忘録的に学習したことを記録しているわけですが、イメージだけではなかなか理解するのは難しいので、ネットでそれぞれの情報を調べています。

今は、ググればたいていどんな情報でも見つけられますが、なんとなく理解できたとしても実際に使ってみないことにはどのように動作するのかは感覚としてつかむことはできません。

とりあえず、こんな感じというイメージをもって明日からの実践につなげていきたいと思います。

それでは明日もGood Python!