Oracle Cloud (OCI) のコンピュート・サービスでGPU搭載の仮想マシンを作成してみた

# はじめに
**コンピュート・サービスの概要**
Oracle Cloud Infrastructure Computeでは、メインストリームのグラフィックスやビデオだけでなく、最も要求の厳しいAIトレーニングやHPCワークロードなど、さまざまな使用事例向けにNVIDIA GPUを搭載したベアメタルおよび仮想マシンのインスタンスを提供しています。今回はGPUを搭載した仮想マシンを作成します。

# 前提条件
- OCIのアカウント作成済みであること
- 仮想クラウドネットワーク（VCN）作成済みであること

OCIのアカウント作成は[こちら][link1]
VCNの作成方法は[こちら][link2]

# 仮想マシンの作成
左上の[ナビゲーションメニュー]をクリック
![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/63136581-6c58-b4eb-7302-5ba136061be6.png)

[コンピュート]を選択して、[インスタンス]をクリック
![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/e70b58a4-688b-e654-000a-659bd85366fb.png)

仮想マシンを作成したいコンパートメントを選択
![画像4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/05f7d1dd-b9ac-042c-7435-9877221dc974.png)

[インスタンスの作成]をクリック
![画像5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/3d17e303-044c-4ba7-ce7d-41094aef29f4.png)

仮想マシンの名前を入力（ここでは"GPUVM1"）
![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/8a17a565-8910-f3ad-e981-191d0ae39164.png)

可用性ドメインは任意のものを選択（東京、大阪リージョンは"AD1"を選択）
![画像8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/aa614e51-fe8f-82e1-457f-01323f8f1fa9.png)

イメージは任意のものを選択（ここでは"Oracle Linux 8"）
![画像9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/7c9ffb0c-67e3-fa2f-d6f6-232f8356d483.png)

イメージを変更する場合は[イメージの変更]をクリック
![画像10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/ea1efe57-44bd-4c2a-45cb-7e3f19880f1b.png)

任意のOSとバージョンを選択して、[イメージの選択]をクリック
![画像11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/2db72fe9-6421-c265-0066-20152e08fdc7.png)
![画像12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/4ac62a4b-b268-0a1d-d3de-278397313164.png)

シェイプを変更するため[Change Shape]をクリック
![画像15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/0d91dbe5-9b45-4595-676e-d3d49375eb7a.png)

インスタンス・タイプは[仮想マシン]を選択、シェイプ・シリーズは[専門と前世代]を選択
![画像34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/c1f7e20d-23ba-b4cc-0dbf-752647ff1ef4.png)

[VM.GPU.A10.1]に✓後、[次のドキュメントを確認した上でこれに同意します。]に✓して、[シェイプの選択]をクリック
![画像35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/0abad9cd-2097-fcad-fb7f-ade31d5ba6dd.png)

シェイプが反映されたことを確認
![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/232e16b7-ce2f-d60f-4dd4-6587000adad0.png)

再度、[イメージの変更]をクリック
![画像37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/8f1f40f1-debc-e665-9d7d-8608539f0c9c.png)

イメージ・ビルドの"Gen2-GPU-xxxx.xx.xx-x"を選択後、[イメージの選択]をクリック
![画像38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/08c0a334-f70d-952d-e5c4-6d8235a5ac41.png)

[既存の仮想クラウドネットワークを選択]を選択後、任意のVCNを選択
※VCNの作成方法は[こちら][link2]
![画像18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/ed29eae7-1f00-6f01-c463-6fbb6dc195f5.png)

[既存のサブネットを選択]を選択後、任意のサブネットを選択（今回はインスタンス作成後、インターネット経由でSSH接続するため、パブリックサブネットを選択）
[プライベートIPv4アドレスの自動割当て]を選択後、[パブリックIPv4アドレスの自動割当て]に✓
![画像19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/ec12bf35-d15d-e2a6-4c30-0059642d0633.png)

[キー・ペアを自動で生成]を選択後、[秘密キーの保存]および[公開キーの保存]をクリック（ssh-key-yyyy-mm-dd.key.pub、ssh-key-yyyy-mm-dd.keyをダウンロード）
![画像20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/5071ce59-0ac2-c7f0-6a2e-f76f15fe88f3.png)

ブートボリュームには何も✓せずに[作成]をクリック
![画像21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/c2fae966-bb53-50f9-8591-652664d9192f.png)

"プロビジョニング中"と表示されることを確認
![画像10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/3e7e82b6-ed4f-ffd8-00a1-64e4b76d64fe.png)

約1分後、"実行中"と表示されたら仮想マシンの作成完了
![画像11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/65e6e8e9-2cfe-9b33-c9a7-1d1b7352989f.png)

# 仮想マシンへの接続
パブリックIPアドレスの[コピー]をクリック、ユーザー名が"opc"であることを確認
![画像5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/85e31709-51ab-392c-5d65-9fcdb55cec43.png)

任意のターミナルソフトを起動（ここではTera Termを起動しホスト(T):にIPアドレスを貼り付け、[OK]をクリック）
Tera Termのセットアップ方法は[こちら][link3]
![画像26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/839f6cb3-18fc-9e97-5d5f-e8f2a945ad4c.png)

ユーザ名(N):に"opc"と入力、[RSA/DSA/ECDSA/ED25519鍵を使う]を選択後、秘密鍵(K):に先ほどダウンロードした秘密鍵（ssh-key-yyyy-mm-dd.key）を選択し、[OK]をクリック
![画像27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/1f050559-fefc-e158-3aeb-20b3007af53b.png)

作成した仮想マシンに接続完了
![画像6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/171afd85-ce83-0fb7-c63e-1d2fd6a1cd34.png)

opcユーザーはroot権限を取得することが可能
```
sudo -s
```
![画像7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/c7892289-e5db-563e-9bac-45c7fbe8d5f7.png)

GPUの情報を確認して、インスタンス作成時に指定したものになっていることを確認（ここでは"A10"）
```
lspci | grep -i nvidia
```
![画像9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766517/609d7dcc-95b0-c3ef-55f2-24c2c3c70f57.png)

# 参考
[コンピュート・サービスの概要](https://docs.oracle.com/ja-jp/iaas/Content/Compute/Concepts/computeoverview.htm "Oracle Cloud ドキュメント")
[GPUインスタンスの概要](https://www.oracle.com/jp/cloud/compute/gpu/)
[OCI Cloud Free Tier](https://www.oracle.com/jp/cloud/free/)
[Oracle Cloud (OCI) のコンピュート・サービスで仮想マシンを作成してみた](https://qiita.com/tdaimon/items/bb2d18e4b66da9a60145)
[OCIチュートリアル - VCN](https://oracle-japan.github.io/ocitutorials/beginners/creating-vcn/ "その2 クラウドに仮想ネットワーク(VCN)を作る")
[OCIチュートリアル - インスタンス](https://oracle-japan.github.io/ocitutorials/beginners/creating-compute-instance/ "その3 インスタンスを作成する")
[Oracle Cloud で NVIDIA GPU を使う場合のドライバってどうなるの？？](https://qiita.com/itokazu/items/7516cc98e2897d8705f9)
[Oracle Cloud Infrastructureドキュメント](https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/images.htm "プラットフォーム・イメージ")
[【ゼロからわかる】Teratermのインストールと使い方](https://eng-entrance.com/teraterm-install)



[link1]: https://www.oracle.com/jp/cloud/free/
[link2]: https://oracle-japan.github.io/ocitutorials/beginners/creating-vcn/
[link3]: https://eng-entrance.com/teraterm-install