IBM CloudでVPC上にVMを作成、AWSのVPCとここが違う

　以前某社の仕事でIBM Cloud上で検証という話が会った時に周りの人から"IBM CloudってどうやってVPC作るの"って言われて戸惑ってしまったことがあります。当時はIBM CloudではVPCはなかったのでした。
　しかし今はIBM CloudでもVPCが使えます。今回はAWSのVPCと比べながら書いてみたいと思います。
#AWSでの基本パターン
　AWSのサイトにもありますがこんなのが基本パターンかと。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/a6a68534-5cdf-ab05-6b1d-a42623d64786.png)
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Scenario2.html

VPCの中にパブリックサブネット、プライベートサブネットを作成してそれぞれにパブリック公開用のウェブサーバー用EC2,プライベートサブネットにデータベース用サービスを作成、ウェブサーバーのパブリックIPアドレスはElastic IP, DBサーバーからのインターネットアクセスはNAT gatewayを使う。
構築手順は

- VPCの作成
- サブネットの作成（public, private)
- インターネットゲートウェイの作成(VPCにアタッチ）
- ルートテーブルの作成、(publicサブネットに設定）
- セキュリティーグループの作成(DMZ, DB)
- EC2インスタンスの作成



#IBM Cloud でのパターン
＊IBM VPC概要図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/20bea7ac-7f8a-fcba-0c97-30c84788b5e4.png)
https://cloud.ibm.com/docs/vpc?topic=vpc-about-networking-for-vpc&locale=ja
10.10.10.0/24がパブリックサブネットでVSIにFloating IP(AWSのElastic IP)がついてインターネットからアクセスできます。10.10.20.0/24がプライベートサブネットでここの中のVM(VSI)からインターネットにアクセスする場合は"Public Gateway"を使います。
構築手順は

- VPCの作成
- サブネットの作成
- セキュリティグループ作成
- サーバー作成

#VPCの作成
　IBM Cloud (Cloud.ibm.com　)にログイン”カタログ”->"VPC Infrastructure" --> "VirtualPrivate Cloud"を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/d751e569-88eb-0190-a7e3-f7d7dc6822ef.png)
以下のように入力してください。入力したら右側の背景が青文字の”仮想プライベートクラウドの作成”をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/6624952e-90b1-ed73-8593-ac940dce7886.png)
作成できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/d65746c3-25e9-f9af-d090-f86c3dedbc3b.png)
次にこのVPCのアドレスを設定しましょう。上の画面でVPCの名前をクリック。下の画面に行ったら左側のアドレス”接頭部”をクリック、右側の”新規接頭部”をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/376952fc-36b4-6e76-d502-3c46131efeed.png)
ここでIP範囲を入力しましょう。(10.0.0.0/16と入れてます。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/37dd95fb-6b53-ea31-7111-62e4318d3d81.png)

#サブネットの作成
 まずはIBM VPC概要図の上のサブネットを作りましょう。VPCのメインメニューに戻って左のメニューから”サブネット”、右上の”新規サブネット”をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/a661a1b9-9f26-1123-3a2c-fca21dbdc0a5.png)
任意の名前を入力、そして右側の”サブネット作成”をクリックしましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/05867fc1-cf1d-3698-2714-d7c96f033d5b.png)
次にIBM VPC概要図の下のサブネットを作りましょう。このサブネットには”パブリックサブネット”を接続します。作り方は上のサブネットと同じですが作成画面で下のように”パブリックゲートウェイ”を有効にしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/18230d6b-344a-8674-ff77-634451f2958b.png)
　２つのサブネットができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/84d04e1c-5374-66c5-df56-07ce966fe7bd.png)

#セキュリティグループ作成
　セキュリティーグループはデフォルトで一つ作成したあります。これを元に複製してパブリックサブネット用VM,プライベートサブネット用のセキュリティーグループを作作るといいでしょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/4ea0823b-9ea5-3413-41c4-5fe3d6429f17.png)
作り方は下の図のようにインバウンド、アウトバウンドの許可したいポートを追加していくだけです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/862ab323-5629-eb02-a94f-7388cf82b6ac.png)

#サーバー作成
 最後に仮想サーバ（VSI)を作成しましょう。
任意のサーバー名、データセンターの場所、OS、インスタンスの種類、SSH鍵（あらかじめPCなどで鍵を作成しておいてください）、ストレージ、ネットワーク、セキュリティーグループを選択して作成です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/c4dee833-830b-7958-0b98-8389464de1b4.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/78f9c810-ede7-81d7-5189-41222fa06c09.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/d402948d-50c6-df19-9f6e-a9b2c2576408.png)
なおネットワークのインターフェースのところは上の図の右側のペンのようなアイコンをクリックすると以下のような画面ができてネットワークインターフェースおよびサブネットの選択ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/69962950-22e0-164c-4194-d1f68cb70847.png)

とりあえず上の手順で仮想サーバーを作ってアクセスしてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/f6e80a60-1c19-5be3-5b6e-880c2938f5f1.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59741/6142a3dc-8369-682a-cba3-d0b2e7c6141e.png)