>RSSニフティクラウド活用Tipsユーザーと中の人が語るクラウド活用Tipsを、クラウド女子がお届けします。2011/10/06こんにちは、ちなつです。涼しくなって一気に秋めいてきましたね。本日は、9/29に発表されたニフティクラウドストレージの開発を担当しているK池氏のゲスト寄稿記事をご紹介します。S3互換のAPIや大容量のファイルアップロードが可能な素晴らしいサービスです。システムログの保存やデータのバックアップはもちろん、APIを利用することでさまざまな用途で活用いただけると思います。こちらはゲストによる寄稿記事になりますこんにちは。ニフティクラウドストレージの開発を担当しているK池と言います。今回ご紹介するのは、ニフティクラウドのサーバから、この度リリースしたニフティクラウドストレージにファイルをバックアップする方法です。APIをインターフェースとしているため、アプリケーション開発者は理解しやすいものの、技術者が汎用的に利用するにはハードルが高いと思います。header)を生成する部分は、アプリケーション開発者も一筋縄ではいかないところだと思います。そこで今回ご提供する内容は、コマンドライン(シェル)からバックアップするという非常に簡単な方法です。Java/CLI・ニフティクラウドストレージのAccessKeyとSecretAccessKey※AccessKeyとSecretAccessKeyは、ニフティクラウドに申込みが完了されている方であれば、自動的に付与されています。API認証」をご覧下さい。Java/CLIのリンク先からダウンロードをお願いします。ニフティクラウドサーバの作成方法についてはこちらをご覧ください。以下はニフティクラウドサーバにログイン後の手順となります。6以上をインストールしておきます。Java/CLIに含まれているCLIは、Javaのライブラリを読み込んでシェルで動作するように実装しています。6が正しくインストールされているかを確認します。Java/CLIをダウンロードしておきます。Java/CLIはzipで圧縮されていますので展開します。展開後は以下のようにNiftyCloudStorage-SDK-CLIというディレクトリが作成されます。NiftyCloudStorage-SDK-CLIディレクトリ配下にncs_cli.shというシェルスクリプトとcredentials.propertiesが存在していることがわかります。ncs_cli.shがコマンドライン(CLI)、credentials.propertiesが認証キーを設定する定義ファイルになります。認証キーを設定しようニフティクラウドストレージはAccessKeyとSecretAccessKeyの2つを認証キーとして利用します。これはAccessKeyがID、SecretAccessKeyがPASSWORDと似た意味合いになりますので、なくさないように注意してください。セットする定義ファイルはNiftyCloudStorage-SDK-CLI配下にあるcredentials.propertiesになります。手元にある認証キーを以下のようにセットします。=+++++++++++++++準備完了!ここからが本番です!まずは疎通確認!これでバックアップを行う準備が整いました。これから利用するCLIの使い方について確認しておきましょう。ncs_cli.shの引数に「-h」をつけるとヘルプが出力されます。SDKを展開したディレクトリにcliというディレクトリがありますので、cli配下にあるREADMEに詳細が記載されています。最初にニフティクラウドストレージとの疎通確認を行います。引数にlsをつけると、GetServiceという機能を使い、現在の自分が保有するバケット一覧を取得することができます。出力されていますので、ちゃんと通信ができています。初回アクセスではバケットを1つも作成していない状態ですので、Bucketsの中身は何も表示されていません。ちなみに初期設定はDEBUG出力を出すようにしていますので、HTTPリクエストやHTTPレスポンスの詳細が必要ない場合はSDK展開ディレクトリ/cli/log4j.propertiesの中にある「log4j.logger.org.apache.http.wire=DEBUG」をコメントアウトすると簡易出力表示になります。お好みに合わせて修正するとよいでしょう。バケットを作成してみよう!疎通確認が取れたので、次にバケットを作成してみましょう。ここで作成するバケットはバックアップするファイルの格納先となります。ncss:バケット名」となります。最終行にバケットが作成できたと出力されています。作成できたバケットを先ほどのバケット一覧取得でもう1度確認してみましょう。Nameの箇所にsample-bucket-10とありますので、先ほど作成したバケットが出来ていることが確認できました。ファイルバックアップ!ファイルをバックアップする格納先(バケット)が出来たので、そちらにファイルをアップロードしてみましょう。今回は/var/tmp/backupディレクトリの下にtest.txtを用意しておいたので、こちらをニフティクラウドストレージにアップロードします。ncss://バケット名/ファイル名」です。最後に確認しましょう。Object)という機能を使います。これは指定したバケット配下のオブジェクトの一覧を取得する機能です。ncss://バケット名」です。Keyの箇所にtest.txtがあり、Sizeの箇所に50とありますので、50byteのtest.txtが置かれていることがわかります。ファイルをリカバリしてみよう!最後に、先ほどバックアップしたtest.txtをダウンロードしてみましょう。Objectという機能を利用します。今回はリカバリ先のディレクトリを/var/tmp/backup/recoverとしました。リカバリができていますね。ファイルサイズもファイルの中身も問題ありません。おまけ以上で基本的なバックアップ手順は終わりになりますが、READMEを見て頂くとわかる通りACLという権限設定をバケットやオブジェクトに付与することもできます。デフォルトはhttps通信ですが速度を重視する場合はhttpを指定することもできます。応用すると、ncs_cli.shを改修しサーバのディレクトリ配下を1ファイルずつ再帰的にバックアップし、ニフティクラウドストレージと同期することもできると思います。ファイルを暗号化して送るなど、様々な利用方法が考えられますので、色々試して頂きたいと思います。Cloudニフティクラウドの開発・運営をやってます。普段はクラウド女子、たまにカメラ女子です。好きなことはSQLを書くこと、苦手なことはWordで文書を書くことです。起動時スクリプトでサーバーを自動構築してみた。~世論調査から揺らぐデモクラシー~2020ダボス会議キエフの東欧最大のIT複合施設にウクライナ大統領と首相が訪問!仲間の知見を活用するオルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。利用規約プライバシーポリシーお問い合わせアイティメディアからのお知らせプレスリリースメールサービスRSSTwitterITmediaはアイティメディア株式会社の登録商標です。