はじめに
オンプレサーバのログファイルをS3に移行させないといけない事案を対応したので備忘録として記事にします。
方法
AWS CLIを使ってコマンドでS3にファイルを送っていきます。
今回使うのは「S3 Sync」です。
手順
AWS環境側の用意
まず連携先となるAWS環境のS3を用意します。
その次に連携する時の認証で使うIAMユーザも用意しておきます。
IAMユーザ作成する時アクセスキーも作成して情報を控えておいてください。
オンプレサーバ側の用意
サーバにAWS CLIをインストールします。(OSによってインストール方法違うので皆さん自分の環境にあった記事を参考にしてください!)
AWS CLIがインストールされているか確認
$ aws --version
サーバに作成したIAMのクレデンシャルを登録します。
サーバ上でクレデンシャル複数登録する可能性もあるので名前つけて登録した方がいいかなと思います。
$ aws configure --profile 【適当な名前】
上記のコマンドを打った後は流れに従ってアクセスキーやシークレットキーなどを登録してください。
ファイルを移行する
ここで「S3 Sync」を使います。
このコマンドは指定したディレクトリと指定したS3を同期させるコマンドです。
▼詳しいことが知りたい方はこちら↓(公式)
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-services-s3-commands.html
以下の形でコマンドを打ちます。
$ aws s3 sync 【オンプレ上のログファイルが格納されている場所のパス】 s3://【バケット名】/ --profile=【クレデンシャル名】
これで連携できているはずです。
自分が実行した時は700ファイルくらい、500MBほどで5秒もかかりませんでした。
さいごに
やっぱりサーバ上でコマンド打って作業するのはいつになっても緊張しますね。。
最初はテスト用のサーバ・テスト用のS3を用意して試してみるのがいいと思います。
オンプレからS3にファイルを移行するやり方は色々あると思うのでおススメなやり方があれば教えてください!