Google CloudとOCIの冗長化クロスクラウド接続における片系ダウン時の挙動は？

# はじめに

Google CloudとOCIはクロスクラウド接続ができます。
Google CloudとOCIをクロスクラウド接続を行い、Google Cloud上のGCEから OCI上の BaseDB(Oracle DatabaseのDBaaS)へ接続した結果は次のblogに記載してます。

- [Google Cloud から クロスクラウド接続で OCI のデータベースに接続してみた](https://qiita.com/asahide/items/fe0b33928b676dc1a760)

さて、今回は次のblogを参考にクロスクラウド接続を冗長化した上で、Google CloudのGCEからOCIのBaseDBへSQL*PLUSで接続し、セッションを張ったままで片系をダウンさせてみたときの挙動を確認してみました。

- [Google Cloud と Oracle Cloud を 相互接続してみてみた](https://qiita.com/shirok/items/6e4eff6a5e49ed5c51d0)

# 環境構成

次の図において、Google CloudとOCIの間の接続の冗長化を行っています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2313926/1ea5b002-5f94-03b6-83d9-63fb804afcd4.png)

# クロスクラウド経由のSQL実行と片系停止①

Google Cloud側のGCEからSQL*PLUSでOCIのBaseDBへ接続し、コネクションを張ったままで毎秒SELECT分を実行します。

```SQL
：
：
SYSDATE
-------------------
2024/09/16 17:38:00

SYSDATE
-------------------
2024/09/16 17:38:01

SYSDATE
-------------------
2024/09/16 17:38:02

SYSDATE
-------------------
2024/09/16 17:38:03
：
：
```

途中で片系をダウンさせてみます(FastConnectの片系を「非アクティブ化」します)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2313926/7bb6f39a-721f-f870-f683-57ded6e4ef3a.png)


Google Cloud側は次のように片系がダウンした状態になります。

- Cloud Router

Cloud RouterのBGPセッションが停止していることが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2313926/3de6ad6f-12f7-4065-e01c-96577c982b89.png)

- 相互接続(VLANアタッチメント)

VLANアタッチメントも「停止中」のステータスになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2313926/548c05a5-30cb-dc2f-bd2b-e31ae49a465d.png)

- ログ確認

ログからは 17:39:45 辺りにダウンしていることがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2313926/054278fc-23a0-ee31-7fa9-32c70d76fdd3.png)

- SQL結果確認

該当の時間帯（17:39:45前後）にも特に変化はありません。

<details><summary>SQL実行結果</summary>

```SQL
：
：
SYSDATE
-------------------
2024/09/16 17:39:38

SYSDATE
-------------------
2024/09/16 17:39:39

SYSDATE
-------------------
2024/09/16 17:39:40

SYSDATE
-------------------
2024/09/16 17:39:41

SYSDATE
-------------------
2024/09/16 17:39:42

SYSDATE
-------------------
2024/09/16 17:39:43

SYSDATE
-------------------
2024/09/16 17:39:44

SYSDATE
-------------------
2024/09/16 17:39:45

SYSDATE
-------------------
2024/09/16 17:39:46

SYSDATE
-------------------
2024/09/16 17:39:47

SYSDATE
-------------------
2024/09/16 17:39:48

SYSDATE
-------------------
2024/09/16 17:39:49

SYSDATE
-------------------
2024/09/16 17:39:50

SYSDATE
-------------------
2024/09/16 17:39:51

SYSDATE
-------------------
2024/09/16 17:39:52

SYSDATE
-------------------
2024/09/16 17:39:53

SYSDATE
-------------------
2024/09/16 17:39:54

SYSDATE
-------------------
2024/09/16 17:39:55

SYSDATE
-------------------
2024/09/16 17:39:56

SYSDATE
-------------------
2024/09/16 17:39:57

SYSDATE
-------------------
2024/09/16 17:39:58

SYSDATE
-------------------
2024/09/16 17:39:59
：
：
```

</details>

# クロスクラウド経由のSQL実行と片系停止②

ひょっとしたら冗長構成のスタンバイ側を停止してしまったのかもしれませんね。
という事で、復旧させてもう片側を停止してみます。

SQLを継続したまま今度はもう片系をダウンさせてみます(FastConnectの片系を「非アクティブ化」します)。
①と内容は同じなのでログ確認から実施します。

- ログ確認

ログからは今度は 17:50:33 辺りにダウンしていることがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2313926/41d76d92-0ce6-e7bc-41df-620af8a2fdad.png)


- SQL結果確認

該当の時間帯（17:50:33前後）にも特に変化はありません。

<details><summary>SQL実行結果</summary>
：
：
SYSDATE
-------------------
2024/09/16 17:50:25

SYSDATE
-------------------
2024/09/16 17:50:26

SYSDATE
-------------------
2024/09/16 17:50:27

SYSDATE
-------------------
2024/09/16 17:50:28

SYSDATE
-------------------
2024/09/16 17:50:29

SYSDATE
-------------------
2024/09/16 17:50:30

SYSDATE
-------------------
2024/09/16 17:50:31

SYSDATE
-------------------
2024/09/16 17:50:32

SYSDATE
-------------------
2024/09/16 17:50:33

SYSDATE
-------------------
2024/09/16 17:50:34

SYSDATE
-------------------
2024/09/16 17:50:35

SYSDATE
-------------------
2024/09/16 17:50:36

SYSDATE
-------------------
2024/09/16 17:50:37

SYSDATE
-------------------
2024/09/16 17:50:38

SYSDATE
-------------------
2024/09/16 17:50:39

SYSDATE
-------------------
2024/09/16 17:50:40
：
：

</details>

どちらをダウンさせても、影響ないみたいですね。

# まとめ

Google CloudとOCIのクロスクラウドを冗長化して、SQLを実行しながら片系をダウンさせたときの状況を確認してみました。
結果、アクティブアクティブ構成という事もあり、冗長化している場合には片系がダウンしてもセッションに影響なく処理継続されることが確認できました、安心ですね。

ちなみに両系を落とすと次のようにエラーで切断されます、当然ですね。。
```SQL
：
：
SYSDATE
-------------------
2024/09/16 19:15:35

SYSDATE
-------------------
2024/09/16 19:15:36

SELECT sysdate
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 98976
Session ID: 44 Serial number: 34326
Help: https://docs.oracle.com/error-help/db/ora-03113/

ERROR:
ORA-03114: not connected to ORACLE
Help: https://docs.oracle.com/error-help/db/ora-03114/
```