【IBM Cloud】VPCにおける仮想サーバー（VSI）を作成してみた -初心者による初心者のためのハンズオン・ガイド-

当記事の執筆者は、昨年度（2022年度）までIT未経験、
かつ本年度（2023）に初めてIBM Cloudポータルを操作した「IBM Cloud初心者」です。
IBM Cloud初心者として、
・私と同じくIBM Cloud初心者の方
・IBM Cloudをご利用の方で基本的な操作を確認したい方
に向けて、仮想プライベート・クラウド（Virtual Private Cloud, 以降VPC）において
仮想サーバー（Virtual Server Instance, 以降VSI）を作成する手順を示します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/57f6c20b-bf39-240f-e928-562a64d2b7ad.png)


# 1, VPCを作成する
## 1-1, VPCを作成する
IBM Cloudポータルにログインします。￼![Pasted Graphic.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/c851913a-e5ca-4538-7d69-3c6e6c62c60e.png)

ダッシュボードが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/b86d4529-7cbd-4e3c-c8d8-88681b06490f.png)


ナビゲーション・メニュー（左上「三」のようなマーク）から、
`VPC インフラストラクチャー　` > `VPC`
をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/474adc0a-66fe-2fd1-8186-7dd2f8099c8f.png)



`作成`ボタンをクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/32d1f6e0-0318-7dea-dfbd-fde68af379f5.png)


「詳細」　項目中の小項目について、以下のように設定します。
名前：今回はdemo-vpc-1221
リソースグループ：Default￼![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/ed0dd13c-1ec2-d2bc-4861-ef6d6dc671a7.png)




今回は、「各ゾーンのデフォルト接頭部の作成」からチェックを外します。（手動で設定するため）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/7c80fd1e-def8-95db-d4af-d0f9fb67666d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/1edf62df-10cc-1c9d-b0ad-09febc56a593.png)

￼

上記が終わったら「仮想プライベートクラウドの作成」をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/b1d8322b-8c47-2099-84c1-7284c2a13b4d.png)



demo-vpc-1221が追加されていることを確認します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/fbaa94e9-8a0f-2eb7-b2d1-7363625cec28.png)






## 1-2, サブネットの作成
アドレス接頭部の設定を手動で行います。ナビゲーション・メニュー（ポータル画面左端の黒地に白文字の部分）のうち"VPC"> 仮想プライベート・クラウド　画面を表示します。この画面で、先ほど設定した"demo-vpc-1221"をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/5617a9ca-0d11-a1dd-baaf-db262e3ea904.png)

クリックすると、以下のように、クリックしたVPCについての概要・アドレス接頭部を詳細に確認できる画面が表示されます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/42cc92e9-234a-d53c-db0a-ce31ece2b63c.png)



概要の横にある「アドレス接頭部」をクリックします。以下の画面が表示されます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/66c838a9-74fb-a85f-fbac-27bb8501c657.png)


左のナビゲーション・メニューより「サブネット」を選択すると、![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/37e9e8d1-a068-4969-071b-b50a807ce565.png)

以下の画面が表示されます。同画面で`作成`をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/2f69a033-fe8a-8d61-c1b1-5b684194dc23.png)

￼
今回は、"demo-vpc-1221"におけるサブネットを、
IP範囲：192.168.1.0/28
ロケーション：フランクフルト1
と設定します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/297e7238-b5db-f819-b046-cf1b6d37f7e4.png)

"demo-vpc-1221"のサブネットとして、
ロケーション：「フランクフルト１」　のアドレス接頭部が宣言されました。（※この段階ではあくまでも「宣言」であり、「設定」はこの後で行います。）![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/dab3f88b-187b-1086-6e32-0ef52b26d31c.png)

￼

概要タブに戻り、![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/48861f33-bdf4-45b5-fc0b-e350eb296665.png)
下にスクロールしていくと表示される、
「このVPC内のサブネット」項目の`作成`をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/fab39e74-e636-19fe-c335-be136a7601eb.png)


VPC用のサブネット、の画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/c672ce56-baa1-fd29-ea78-7b051fe6aa9f.png)

ゾーン「フランクフルト1」のサブネットを設定します。
今回は、以下のように設定しました。
＜ロケーション＞
地域：ヨーロッパ
リージョン：フランクフルト
ゾーン：フランクフルト1
＜詳細＞
名前: demo-subnet-1
リソースグループ：Default
仮想プライベートクラウド：demo-vpc-1221　を、プルダウンリストから選択します　※この項目で選択を忘れて、別の仮想プライベートクラウドが選択されたまま「サブネットの作成」ボタンを押してしまうことがあるので、ぜひご注意ください。

IPアドレス選択
・アドレス接頭部が、フランクフルト1のサブネットのアドレス接頭部として宣言した192.168.1.0/28になっていることを確認します。
・今回のハンズオンではIPアドレスを16個も用いることはないため、「IPアドレス合計数」　が16になっているのを、最小数である8に変更します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/1c34ff01-ef11-afc4-7971-ad2d7364c4d5.png)

以上の設定を終えたら、
`サブネットの作成` をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/0c30a81f-d3ac-3448-e873-9d86190f7c4d.png)

￼

demo-subnet-1が作成されていることを確認します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/91b57697-8924-fdee-4bda-72f9fdffd189.png)


# 2,VPCでの仮想サーバー立ち上げ
## 2-1, SSH鍵を作成し登録する（仮想サーバーにログインする際の必要物の準備）
仮想サーバー（Virtual Server Instance、以降VSIと表記）の作成に先立って、
VSIへのログインに必要となるSSH鍵を取得します。
左欄「ナビゲーション・メニュー」で、`SSH鍵`をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/f3fd61f5-9e33-c2a4-0789-35aded3bbec8.png)

SSH鍵の取得については本記事では詳細には触れないため、
必要に応じて、SSH鍵取得について詳説された他の記事を参照いただければと思います。
以下では例として、macのTerminalでの取得方法を掲載します。￼

Terminalにて、
`ssh-keygen -f identify`
と入力し、エンターキーを押します。("identify"の部分は任意の文字列です。identify部分が、鍵ファイル名となります。)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/f8f4d8fb-3f24-b8c7-89c4-2cbabf8b6415.png)

￼
パスフレーズをどのような文字列に設定するかを問われますが、今回は何も入力せずにエンターキーを押します。Enter Same Passphrase againと表示された場合には、再度何も入力せずエンターキーを押します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/6d111cbe-d631-e53b-00cd-cab5f100dec3.png)


￼
"identify"と、"identify.pub"（公開鍵）　と、２つの鍵の組み合わせが生成されます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/54c9628c-60cc-f623-001c-ff497cff8707.png)

このうち、
公開鍵をIBM Cloud ポータル上にてアップロードします。
ポータル画面左の「ナビゲーション・メニュー」より`SSH鍵`をクリックします。
VPCのSSH鍵、という画面が表示されます、この画面内で`作成`、をクリックします。
以下の画面が表示される。
地域、リージョン、名前、リソースグループ、を順に入力します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/0640672d-4b25-6371-7ada-5d87fadf8847.png)

￼

「SSH鍵入力方法の選択」では、今回は`公開鍵のアップロード`を行いました。
公開鍵のアップリードが完了次第、`作成`をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/4bd2e99c-14ee-e970-d7b0-0011104e13aa.png)



以上の手順で、
公開鍵が登録されました。


## 2-2, 仮想サーバーの作成
仮想サーバーを作成します。

* 仮想サーバーの作成
ナビゲーション・メニューより、`仮想サーバー・インスタンス`、をクリックします。
「VPCの仮想サーバー・インスタンス」という画面が表示されます。
`作成`をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/2163f506-e611-9f36-8eb7-002ef7d872db.png)

￼
ここでは「demo-webserver1」という名前のVSIを作成します。
VSI作成に必要な各項目の設定について、今回は以下のように設定しています。

＜ロケーション＞
地域：ヨーロッパ
リージョン：フランクフルト
ゾーン：フランクフルト１
＜詳細＞
名前： demo-webserver1
リソースグループ：　Default![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/5e4cd5e4-e98e-691a-c3ff-4df66e6be2cf.png)


＜イメージおよびプロファイル＞
イメージ：　CentOS
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/d397e639-65fe-070f-9790-fa23bc4663ca.png)

プロファイル：（vCPU, RAM, 帯域幅)をそれぞれ（2vCPU / 4Gib RAM / 4Gbps）で設定　（今回は最小構成を念頭に設定しています）
で設定します。
プロファイルの変更、をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/b82e0cdf-9df1-b399-5df1-964288b388df.png)

クリックすると、以下画像のような「インスタンスのプロファイルを選択」ポップアップウィンドウが表示されます。今回は最小構成となるプロファイルを選択し、最後に`保存`をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/9250badc-cac5-a37a-50d7-04837c0eb51e.png)

プロファイルが変更されます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/ce313979-38df-8b4b-5e9c-f1edb09661d4.png)


￼


＜SSH鍵＞
 該当するSSH鍵を有効化します。
 今回はSSH鍵　「demo-key-1221」を有効化します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/f455a67d-10cd-3b85-7d98-603b4cd0b333.png)


＜ネットワーキング＞
「仮想プライベートクラウド」が、該当するVPCになるようにプルダウンメニューから選択します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/b5b92da1-b08b-503d-218c-5d28c265d796.png)


＜ネットワークインターフェース＞
サブネットが、作成した該当のサブネットになっているようにします。
￼
以上の手順により、demo-webserver1が作成されました。
demo-webservweが追加されていることを確認します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/94e63b76-e225-4127-ac0e-d19c304b53a6.png)

￼
## 2-3, 浮動IPの作成と、外部からのアクセス
* 浮動IPを作成

左欄「ナビゲーション・メニュー」にて、`浮動IP`をクリックします。
表示される画面で、`予約`をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/0781e1a2-a314-f442-8b68-c002b5adea0a.png)



「浮動IPの予約」という画面が、ポータル画面全体のうち右端に表示されます。
今回は以下のように設定します。

<ロケーション>
地域： ヨーロッパ
リージョン： フランクフルト
ゾーン： フランクフルト1
<詳細>
浮動IP名： demo-fip-1
リソースグループ： Default
バインドするリソース：demo-webserver1　※選択を忘れてしまいがちなので注意

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/5974c9f7-030c-c7cc-ac7a-cb39a54cca1c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/3c197599-a918-016f-9e68-5fcf6f2964b5.png)




以上の手順により、
demo-fip-1がVSI（demo-webserver1）の浮動IPとして追加されていることを確認します。
この場合、「149.xxx.xxx.xxx」が浮動IPとして設定されたことを確認できます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/c328d16d-0dab-7611-835c-44c87e74bdd1.png)



# 3, 浮動IPを利用して、作成したVSIにログインしてみる

作成したVSI であるdemo-webserver1にログインしてみます。
ログインの際には、SSH鍵登録でIBM Cloudポータルに登録した公開鍵の対となる秘密鍵を用います。
今回は、
秘密鍵ファイル名が"identify"、
ログインするdemo-webserver1の浮動IPが"149.xxx.xxx.xxx"となっています。

Terminalで以下を入力します。
```ssh root@149.xxx.xxx.xxx -i /Users/xxx・・・x/identify```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3532836/4bda9a9f-2ca3-0cb7-7228-3b83fe544a92.png)





demo-webserver1にログインすることができました。