OCI学習#2 インスタンス作成、接続


## 概要
OCI Architect Associate 2024資格取得に向けて学習を進めているが、
実際に触ったほうが理解も進み、いざ構築する際に手が止まらなくなると考えたため
OCIチュートリアルを参考に操作感を覚える。
その際の手順等を見返せるように、簡単に記す。

## OCI学習記事まとめ
今回の一連の記事を下記にまとめます。
1.[OCI学習#1 ネットワーク設定](https://qiita.com/nonZy/items/adbbf47646a28e59fe36)
予算設定、コンパートメント作成、VCN、IGW、ルート表、セキュリティリスト作成。

## ゴール
[入門編 - Oracle Cloud Infrastructure を使ってみよう](https://oracle-japan.github.io/ocitutorials/beginners/)
チュートリアルを参考に、下記を実施して操作感を覚える。
1.クライアントからパブリックサブネットのインスタンスSV01へ接続。
2.インスタンスSV01からプライベートサブネットのインスタンスSV02へ接続。
3.SV02へBlock Volumeを追加、マウント。
4.クライアントからObject StorageのObjectにアクセス。
![edu02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510919/c45ec428-e355-4c9b-887e-20550417f585.png)

## 本記事の内容
インスタンスを作成し、クライアントからSV01への接続、SV01からSV02への接続を行います。

## 構築
### インスタンス作成
1.[コンピュート]-[インスタンス]をクリック
2.[インスタンスの作成]をクリック
・インスタンスの要件はSSH接続とボリューム追加できれば良いので、基本的にはデフォルト値を採用。
・VM01にはパブリックIPを付与
・OSはOracle Linux 8、シェイプ等も無料枠から選択。
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510919/60193c0a-954c-468a-90d9-4855a2035b35.png)
#### 気づき・メモ
・ブートボリュームの容量を減らそうとしたが、最小50GB
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510919/aea677ff-c8ff-4bbc-9e4f-dbce45934870.png)

・秘密鍵のダウンロード忘れずに。
![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510919/f52452ad-5e0a-4b46-bb17-2890e7b98d6c.png)

### クライアントからVM01へSSH接続
VM01へ秘密鍵を利用してSSH接続。初期ユーザは"opc"。
```
Activate the web console with: systemctl enable --now cockpit.socket

[opc@vm01 ~]$uname -n;
vm01
[opc@vm01 ~]$whoami
opc
```
#### 気づき・メモ
・NICのデバイス名はens3
```
[opc@vm01 ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul                                                                                                                                                             t qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP grou                                                                                                                                                             p default qlen 1000
    link/ether 02:00:17:03:57:a3 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 10.0.1.11/24 brd 10.0.1.255 scope global dynamic ens3
       valid_lft 86094sec preferred_lft 86094sec
    inet6 fe80::17ff:fe03:57a3/64 scope link
       valid_lft forever preferred_lft forever
```
・Oracle Linux 8のバージョンはOL8.10
```
[opc@vm01 ~]$ cat /etc/oracle-release
Oracle Linux Server release 8.10
```

### VM01からVM02へSSH接続
すっかり忘れていてエラーとなってしまいましたが、秘密鍵の権限設定が必要です。
・VM01へVM02の秘密鍵を配置して、権限を"600"に設定します。
```
[opc@vm01 ~]$ chmod 600 xxxxx.key
[opc@vm01 ~]$ ls -l
total 12
-rw-------. 1 opc opc 1675 Apr  2 hh:mm xxxxx.key
```
・VM02へ接続
```
$ ssh -i 'xxxxx.key' opc@10.0.2.31
Activate the web console with: systemctl enable --now cockpit.socket
[opc@vm02 ~]$uname -n
vm02
[opc@vm02 ~]$whoami
opc
```

## まとめ
インスタンス作成～プライベートインスタンスへの接続まではイメージ持つことができました。
秘密鍵の権限でVM02へ接続できず、ネットワークのルートやセキュリティ設定が間違えているのかと勘違いして
ネットワーク・パス・アナライザー使ってみたりと、それはそれで良い経験となりました。