AlibabaCloud RDSのバックアップファイルをOSSへコピー

# 概要
AlibabaCloudのRDSを利用していてバックアップファイルを別にとって置けたら嬉しいなぁと思い検証しました。
RDSインスタンスを消すとRDSのバックアップファイルは消えちゃうし、DRとか考え始めるとOSSにコピーして持っておく意味はあるかなと。

*下図が目標*
<img width="711" alt="スクリーンショット 2018-05-17 19.07.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/b96358d1-4cb9-8262-a90d-2212892eeafd.png">

# 手順1.〜2.での対応
<img width="716" alt="スクリーンショット 2018-05-17 20.00.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/886bad35-ae6c-b6cf-167a-5b71f8928646.png">


# 1. RDSインスタンス作成
## RDS コンソールを開く
コンソールへログインして上部の「プロダクトとサービス」から「Apsara for RDS」を選択する。
<img width="402" alt="スクリーンショット 2018-05-17 18.55.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/e0390353-215a-cf98-a422-55f609fbb487.png">

## RDSインスタンス作成
日本リージョンを選択し「インスタンスを作成」をクリック
<img width="1256" alt="スクリーンショット 2018-05-17 19.01.03.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/8efab18c-97c2-2ddd-1b89-f9a48878132e.png">

購入の際は、サブスクリプションか従量課金かの選択に注意して要件にそって購入します。


# 2. RDSのバックアップ
## RDSのバックアップファイルの確認
### RDSインスタンスの管理コンソールを開く
RDSコンソールからインスタンスの「管理」をクリック
<img width="1062" alt="スクリーンショット 2018-05-17 19.24.07.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/3037096f-d469-a180-c64a-801812f57e3e.png">

### RDSバックアップの管理コンソールを開く
左ペインの「バックアップとリカバリ」をクリックする
<img width="251" alt="スクリーンショット 2018-05-17 19.37.15.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/e076f114-9f9a-d238-6b23-70060aa560bc.png">

### RDSバックアップファイルのVPC内のURLリンク（認証付き）を確認
対象バックアップファイルの「ダウンロード」をクリックする
<img width="1244" alt="スクリーンショット 2018-05-17 19.40.24.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/ab0cd5d5-68ac-c6c0-b245-2f04efb3d065.png">

同一VPC内にコピーをするので「イントラネットアドレスをコピーする」
<img width="807" alt="スクリーンショット 2018-05-17 19.55.33.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/01ab4417-32a2-7049-a737-38b99e48abcc.png">

## 【補足】RDSのバックアップについて
RDSインスタンスを作成すると自動でバックアップが作成される。
デフォルトは毎日13時〜１４時にバックアップを実施する。SQLserverはフルと増分を繰り返す仕様になっている。
詳しくは以下の参考URLを参照。
参考：[RDS データのバックアップ](https://jp.alibabacloud.com/help/doc-detail/26206.htm?spm=a21mg.l28256.b99.141.225b7d17sqDELF)


# 手順3.〜5.での対応
<img width="715" alt="スクリーンショット 2018-05-17 20.41.54.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/6ede12aa-83eb-f5c4-22ff-dba3b8709b50.png">


# 3. OSS作成
## OSS管理コンソールを開く
コンソールへログインして上部の「プロダクトとサービス」から「Objet Storage Service」を選択する。
<img width="596" alt="スクリーンショット 2018-05-17 20.56.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/7ec0ccc1-4462-f315-472d-6fca9420e245.png">

## バケット（ファイルの容れ物）を作成
「バケット作成」をクリックする
<img width="1375" alt="スクリーンショット 2018-05-17 20.59.05.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/145dc3a9-c893-8934-df18-78543f4b0423.png">

## バケットの確認
OSS管理コンソールの左ペインに作成したバケット名が表示されるのでクリックし内容を確認してみる
<img width="1388" alt="スクリーンショット 2018-05-17 21.03.23.png" src="https://qiita-image-store.s3.amazonaws.com/0/171821/773dbd17-791a-c574-23b1-8bdebe16da41.png">


# 4. OSSFSを導入設定
今回は、RDSのバックアップ先にOSSを選択するがOSSFSを利用する。
OSSFSはオブジェクトストレージをECS（Linux）へマウントするツール。

## OSSFSをインストール
```
# wget https://github.com/aliyun/ossfs/releases/download/v1.80.3/ossfs_1.80.3_centos7.0_x86_64.rpm
~snip~
`ossfs_1.80.3_centos7.0_x86_64.rpm' へ保存完了 [1149462/1149462]

# yum localinstall ossfs_1.80.3_centos7.0_x86_64.rpm 
読み込んだプラグイン:fastestmirror
~snip~
完了しました!

# echo <OSS名>:<AccessKeyID>:<AccessKeySecret> /etc/passwd-ossfs
# chmod 640 /etc/passwd-ossfs 

```
参考：[SBクラウド：OSSFSによるOSS as FileSystem](https://techblog.sbcloud.co.jp/2018/01/16/oss-as-local-filesystem/)

## OSSのマウント
マウントポイントとして「/var/tmp/ossfs」を作成しマウント

```
# mkdir /var/tmp/ossfs

# ossfs <oss名> /var/tmp/ossfs -ourl=oss-ap-northeast-1-internal.aliyuncs.com

```


アンマウントは以下

```
# fusermount -u /var/tmp/ossfs
```


# 5. OSSへバックアップファイルをコピー

### OSS（OSSFS）へバックアップファイルをダウンロード
ダウンロードファイルのURLは、手順2.でコピーしたバックアップファイルのURLを利用

```
# curl -O "http://rdsbakbucket-japan.oss-ap-northeast-1-internal.aliyuncs.com/custins***/hins***.zip?OSSAccessKeyId=***=***&Signature=***"

```



# 終わりに
DRなどのデータ保管の為にやってみましたが、もっとイケてるやり方あるよという方いらっしゃいましたら教えて下さい。