
「システムについて、座学では学んだけど、実際に触らないと良くわからない」

「サーバとかネットワークとか意味不明・・・」
このように思っている人は少なくないと思います。
特にITシステムについて学び始めたばかりの人とかはそう思っているでしょう。
そんな人たちはパブリッククラウドを触るべし!です。
Contents
1.ITシステムを学びたいならパブリッククラウドを触ろう

なぜパブリッククラウドを触るべし、なのか、
結論からいうと、システムについて体系的に学ぶことができるからです。
具体的に学べることは、
① ネットワークの基礎
② サーバの基礎
③ データベースの基礎
ざっくりですがこんな感じです。
プログラミングに関しては、割と初心者でも勉強するハードルは低いと思いますが、これら3つは初心者からするとハードルが高いと思います。
実際に私もネットワーク、サーバ、データベースついては、現在所属している現場に来る前は右も左もわからず、完全に初心者でした。
2.そもそもパブリッククラウドとは

パブリッククラウドとは、特定の利用者ではなく、不特定多数のユーザや企業向けにクラウドコンピューティング環境をインターネット経由でオンデマンドに提供しているサービスです。
クラウドがわからない方は、ざっくりまとめた記事がありますので是非↓
3.おすすめのパブリッククラウド
パブリッククラウドは様々なサービスがあり、基本的には従量課金制です。
「なんだよ、勉強するのにお金かかるのかよ!」と思ったあなた。
ちょっと待ってください、実は“無料お試し“として、各サービスを提供しているパブリッククラウドがあるのです。
無料お試しをうまく活用し、勉強してみましょう。
●AWS(Amazon Web Service)
AWSはAmazonが提供しているクラウドサービスです。
AWSには無料枠の種類が2つあります。
1つ目は12か月間だけ利用できる無料枠です。
例えば、
・Amazon EC2が750時間/月まで無料(特定のサーバのみ)
・Amazon S3で5Gの標準ストレージが無料
・Amazon RDSが750時間/月まで無料(特定のDBのみ)
です。
2つ目は、各種サービスが一定の枠の中で、無料で使えます。
例えば、
・Amazon SNSで100万件の発行まで無料
・Amazon Lambdaで100万件/月リクエストまでが無料
です。
詳細はAWSの公式HPに記載されていますので、ご確認ください。
無料枠を超えた場合は超過分が請求されますので注意が必要です。
●Microsoft Azure
Microsoft AzureはMicrosoftが提供しているクラウドサービスです。
Auzreは一部サービスを12か月間無料で使用することができます。
また、30日間限定で22,500円分のクレジットが付与されます。
短い期間ですが、うまく活用しましょう。
●GCP(Google Cloud Platform)
GCPはGoogleが提供しているクラウドサービスです。
GCPは12か月間限定の$300クレジットがもらえ、Always Freeというものも存在します。
Always Freeは無料トライアル期間中および期間終了後でも制限枠内であれば無料で利用できると公式HPに記載されています。
要は制限枠内ならずっと無料で使えるってことです。
活用するしかないですね。
4.活用すべき各パブリッククラウドのサービス

先ほど、
パブリッククラウドで学べることを記載しました。
① ネットワークの基礎
② サーバの基礎
③ データベースの基礎
では、実際にAWS、Azure、GCPのどのサービスを触ればいいのかを紹介します。
① ネットワークの基礎
仮想ネットワーク
AWS | Amazon VPC |
---|---|
Azure | Virtual Network |
GCP | Virtual Private Cloud |
VPN接続
AWS | Amazon VPC、Virtual Private Gateway |
---|---|
Azure | Virtual Network、Azure VPN Gateway |
GCP | Google Cloud VPN、VPN Gateway |
② サーバの基礎
コンピューティング
AWS | Amazon EC2 |
---|---|
Azure | Azure Virtual Machines |
GCP | Google Compute Engine(GCE) |
③ データベースの基礎
RDBMS
AWS | Amazon RDS、Amazon Aurora |
---|---|
Azure | Azure SQL Database |
GCP | Google Cloud SQL |
これらを使ってどう勉強するのか、一例を考えてみました。
システムを体系的に学ぶ方法(一例)
⑴ パブリッククラウド上で仮想ネットワークを作成
⑵ サーバを立てる(webサーバ、アプリケーションサーバ)
⑶ Webサーバ、アプリケーションサーバ、DBサービスを仮想ネットワークでつなげ、連携させる(3階層システム)
⑷ WEBサーバ上に表視させるhtmlファイル等(プログラミングしたもの)を入れる
⑸ アプリケーションサーバにPHPファイルやJavaファイル(プログラミングしたもの)を入れる
細かい部分の説明は省いていますが、このようなイメージでシステムを構築してみるといいかもしれません。
これならネットワーク、サーバ、データベース、アプリケーションなどいろいろなことを学ぶことができます。
余力があれば、別々のパブリッククラウドで作成したサーバとのVPN接続もやってみるのもいいですね。
皆さんもパブリッククラウドを上手く活用し、がしがし触って勉強してみてください。