クラウド工房 Powered by Amazon Web Services

  • 03-3342-9620
  • 受付時間 9:00~18:00 定休日:土日祝

クラウド工房 Powered by Amazon Web Services

menu
9:00~18:00(平日)

RDS for Oracleのバックアップ検討中の人注目! CLIを使用した手動バックアップ

blog_12_00

今回はAmazon RDS (以下RDS)サービスのDBスナップショットを、CLIを使用して取得する手順を記載します。手順としてはCLIツールをクライアント端末にインストールし、環境変数を設定することでコマンド実行可能となります。使用するCLIツールは「Amazon RDS Command Line Toolkit」になります。

Amazon RDS Command Line Toolkitとは

 RDSをAWSマネジメントコンソールからではなく、コマンドラインインターフェースで制御できるAWSから提供されているツールです。
マニュアルは以下を参照してください。
Amazon Relational Database Service Command Line Interface Reference (API Version 2013-09-09)
http://docs.aws.amazon.com/AmazonRDS/latest/CommandLineReference/Welcome.html

CLIを使用してDBスナップショットを取得するメリット

 RDSは自動化バックアップが1日1回実行されています。その自動化バックアップはRDSインスタンスを削除する段階で削除されてしまいます。また自動化バックアップの保持期間(最長35日)を経過しますと削除されてしまいます。一方DBスナップショットによる手動バックアップは、RDSインスタンス削除後もスナップショットが削除されることはありません。そのため特定のタイミングのバックアップを保持したい場合に有効です。またDBスナップショットの世代管理をスクリプト化し、タスクスケジューラなどで日次ジョブ実行することが可能です。

 DBスナップショットを取得する際に「Create Snapshot」(コマンドラインではrds-create-db-snapshot)を使用すると、begin backupによる瞬断が発生してしまいます。そのため自動化バックアップからコピーをとる「Copy Snapshot」(コマンドラインではrds-copy-db-snapshot)を使用することでbegin backupによる瞬断が発生しないようにします。

 

検証で使用する環境と実施する内容

 検証で使用する環境を紹介します。AWS上にRDS(Oracle 11gR2)を一つ作成し、検証環境上の端末からコマンドプロンプトでアクセスします。
blog_12_01
 図1:検証環境の構成

・実施する内容
① Amazon RDS Command Line Toolkit インストール
② クレデンシャルの確認
③ 環境変数設定
④ CLIでのバックアップ取得

それでは実際に見ていきましょう。

 

① Amazon RDS Command Line Toolkit インストール

(1) Amazon RDS Command Line Toolkit ダウンロード
以下にアクセスし、「Download」ボタンを押します。
http://aws.amazon.com/developertools/2928

blog_12_02
 図2:Amazon RDS Command Line Toolkit ダウンロード

 

(2) ダウンロードしたZipファイルを解凍します。
blog_12_03
 図3:Zipファイルの解凍

 

(3) 解凍したフォルダを任意のディレクトリに移動します。
 今回はC:\Program Files 配下に移動します。
blog_12_04
 図4:フォルダ移動
 インストールは以上で完了です。

 

② クレデンシャルの確認

クレデンシャルとはツールを使用してRDSに接続する際に、AWSアカウントに紐づいたAWS Access KeyとSecret Access Keyから要求されるAWSアカウントの証明書になります。上記情報はアカウント情報を参照することで確認できます。

(1) AWSマネジメントコンソールから確認
アカウント名からプルダウンの「Security Credentials」を選択します。
blog_12_05
 図5:AWSマネジメントコンソールから確認

 

(2) Security Credentialsの画面へ移動
下記画面が表示されたら「Continue to Security Credentials」を押します。
blog_12_06
 図6:Security Credentialsの画面へ移動

 

(3) Create New Access Key
下記画面が表示されたら「Access Keys(Access Key ID and Secret Access Key)」を展開し、
「Create New Access Key」ボタンを押します。
blog_12_07
 図8:Create New Access Key

 

(4) Keyのダウンロード
下記画面が表示されたら、「Download Key File」を押します。
blog_12_08
 図9:Keyのダウンロード

以下のように「rootkey.csv」がダウンロードされたことを確認します。
blog_12_09
 図10:Keyのダウンロード

 

(5) Access Key の確認
ダウンロードされたAccess Keyを確認すると、以下の内容が記載されていることが確認できます。
※後でテキストファイルに下記値を入力します。
・AWSAccessKeyId
・AWSSecretKey
blog_12_10
 図11:Access Key の確認

 

(6) Amazon RDS Command Line Toolkitのクレデンシャルファイルの設定
Amazon RDS Command Line Toolkitのインストールディレクトリの
「credential-file-path.template」を編集します。
※ ファイル名は変更しても構いません。 
blog_12_11
 図12:Amazon RDS Command Line Toolkitのクレデンシャルファイルの設定

例として以下のようにAccess Keyを入力します。
blog_12_12
 図13:Amazon RDS Command Line Toolkitのクレデンシャルファイルの設定

以上で、クレデンシャルの設定が完了です。

 

③ 環境変数設定

Amazon RDS Command Line Toolkitを使用する際に、環境変数の設定がいくつか必要です。
1. JAVA_HOME:JDKへのパスを設定
2. AWS_RDS_HOME:Amazon RDS Command Line Toolkitのインストールディレクトリを設定
3. AWS_CREDENTIAL_FILE:クレデンシャルへのパスを設定
4. PATH:%AWS_RDS_HOME%\binを設定
5. EC2_REGION:EC2のリージョンを設定

環境変数は検証環境上のクライアント端末に、以下の手順で設定します。
コンピュータ > プロパティ > 設定の変更 > システムのプロパティ > 詳細設定 > 環境変数 > システム環境変数 > 「新規」または「編集」

(1) JAVA_HOME
Amazon RDS Command Line ToolkitにはJDKのインストールが必要です。
JDKが以下にインストール済みであることを前提に、環境変数を設定します。
C:\Program Files\Java\jdk1.8.0_11
blog_12_13
 図14:JAVA_HOME

(2) AWS_RDS_HOME
Amazon RDS Command Line Toolkitのインストールディレクトリを設定します。
C:\Program Files\RDSCli-1.15.001
blog_12_14
 図15:AWS_RDS_HOME

(3) AWS_CREDENTIAL_FILE
クレデンシャルへのパスを設定します。
C:\Program Files\RDSCli-1.15.001\credential-file-path.template
blog_12_15
 図16:AWS_CREDENTIAL_FILE

(4) PATH
AWS_RDS_HOMEのbinディレクトリへのパスを設定します。
C:\Program Files\RDSCli-1.15.001\bin
blog_12_16
 図17:PATH

(5) EC2_REGION
EC2のリージョンを設定します。
ap-northeast-1
blog_12_17
 図18:EC2_REGION

 

(6) 検証環境のクライアント端末の再起動
システム環境変数を反映させるため、OS再起動します。

(7) 環境変数の確認
set コマンドでシステム環境変数が反映されていることを確認します。
blog_12_18
 図19:環境変数の確認

(8) rdsコマンドへのパスが通っていることを確認する
以下のコマンドでrdsコマンドへパスが通っていることを確認します。
rds version
rds –help
blog_12_19
 図20:rds version

blog_12_20
 図21:rds –help

 

④ CLIでのバックアップ取得

準備ができましたので、CLIでDBスナップショットが取得できることを確認します。

(1) 自動化バックアップ名の確認
以下のコマンドを実行し、自動化バックアップ名を確認します。

以下のように表示され、最新の自動化バックアップ名が確認できます。

 

(2) DBスナップショットコピーコマンド実行
以下のコマンドを実行し、DBスナップショットを取得します。(ソースは先程確認した自動化バックアップ名を指定します。)

以下のように表示され、DBスナップショットが取得されたことが確認できます。

 

(3) 古いDBスナップショット削除
以下のコマンドを実行し、古いDBスナップショットを削除します。
Are you sure you want to delete this snapshot [Ny] と聞かれたら 「y」を入力しエンターします。

以下のように表示されます。

 

(4) 古いDBスナップショット削除確認
以下のコマンドを実行し、古いDBスナップショットが削除されたことを確認します。

以下のように表示され、古いDBスナップショットが削除されたことが確認できます。

 

(5) AWSマネージメントコンソールで確認
AWSマネージメントコンソールでも結果を確認してみます。
blog_12_21
 図22:AWSマネージメントコンソールで確認(Automated Snapshots)

 

「Snapshot Creation Time」を見ますと、Automated Snapshots(自動化バックアップ)のコピー元と同一時刻でDBスナップショットが作成されていることが確認できます。
blog_12_22
 図23:AWSマネージメントコンソールで確認(Manual Snapshots)

 

以上で、Amazon RDS Command Line Toolkit のCLIを使用したRDSのバックアップ取得と確認が完了となります。
blog_12_23

  • このエントリーをはてなブックマークに追加
クラウド工房管理者

クラウド工房管理者


ニュース&ブログ

トピックス

∧