質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

5527閲覧

AWS Batch を使った定時ジョブ実行

th0167

総合スコア12

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2017/11/30 03:44

編集2017/12/04 02:09

AWS Batch を利用して、mysqldump の出力と S3 への配置を月次で実施したいと考えています。

コマンドを並べたシェルを作って cron に登録すれば良いのですが、このような事を AWS Batch で実現できないかとエンドより要望を受けて色々と調べているところです。

** AWS Batch とは何か **
https://qiita.com/pottava/items/d9886b2e8835c5c0d30f

↑ このページでは「サポートしていないこと」の項目に「cron のように事前指定した時間での起動など、定期タスク管理」と記載があり、本当に実現できるのか? …の疑問がどうしても払拭しきれない為、こちらに質問させてもらいました。

###知りたい事
AWS Batch を使った、定期ジョブ実行処理は可能なのでしょうか?

AWS Batch 単体ではできないようですが、ECS(のECR)、CloudWatch ルールと連携させる事によって実現できないか調査しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

参考にされたサイトにざっと目を通しただけですが、「バッチ」という言葉で誤解されているだけで、全く用途が異なっていると思います。

①AWS Batch を使った、定期ジョブ実行処理は可能なのでしょうか?

不可能(というよりツールの目的から不要なので設定項目にない)だと思います。

エンドより要望を受けて色々と調べているところです

「AWS Batch のバッチは定時バッチのことではなく、バックグラウンドで大量に処理する昔の汎用機でいうところのバッチジョブのことでした。ですので、月次バッチの実行には使えません」とご報告されればよいかと思います。

参考:バッチ処理

ここのバッチ処理の利点に書いてある以下のようなことを実現できるのが AWS Batch だと思います。

  • 多くのユーザーがコンピュータのリソースを共有できる。
  • 処理をコンピュータのリソースがあまり忙しくない時間帯(多くは夜間、休日)にシフトできる。
  • 人間がついていなくてもコンピュータのリソースが暇にならないように最大限有効活用できる。
  • 高価なコンピュータをフルに活用することで費用対効果の効率向上に寄与する。

最近はコンピュータが安くなったので、バッチ処理の機会が減ってきてたのですが、AIの流行でバッチ処理がまた行われるようになってきたのではないかと。

AWS Batch を利用して、mysqldump の出力と S3 への配置を月次で実施したいと考えています。

このようなことをされたいのであれば、 lambda を利用されてはどうでしょうか?
参考:AWS LambdaでRDS(MySQL)のmysqldumpを取るようにしました

投稿2017/12/01 09:02

編集2017/12/04 04:00
mit0223

総合スコア3401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

th0167

2017/12/04 02:05

ありがとうございます。(返信遅くなり申し訳ありません) AWS Batch 単体では、仰る通り定期ジョブの処理はできないようですね。 その旨をエンドに説明しましたが、エンド側では「ECS (と Cloudwatch イベントルール)と連携すれば実現できるのではないか」という考えがあり、それが本当に可能なのか調査を続ける事になっています。 質問をやり直した方が良いかなと検討しつつ、回答を引き続き待ってみたいと思います。
th0167

2017/12/04 04:17 編集

重ねてありがとうございます。 >このようなことをされたいのであれば、 lambda を利用されてはどうでしょうか? >参考:AWS LambdaでRDS(MySQL)のmysqldumpを取るようにしました mit0223様の仰る通り、質問の内容を実現するには Lambda の方が適しているのですが、実は正にこの方法で既に mysqldump を取得しているのです。 ↑ を参考に mysqldump 取得を月次で動かしていたのですが、DB の総データ量が増えてしまったせいか、処理に失敗するようになってしまったのです。最近 Lambda の設定可能メモリが 3GB に増えた為に処理は成功するようになりましたが、DB のデータ量は更に増える見込みの為、おそらく処理失敗は再発するであろう見解です。 …と言った経緯があり、AWS Batch や ECS 等の連携を使ったしくみで musqldump を取得できないかと調査しています。
guest

0

動きが無いため、一旦この質問は解決済みとしました(実際は解決できていないですが)。
AWS Batch の定時実行は難しい様ですので、その旨エンドに報告と共に相談したいと思います。

AWS Batch のジョブ作成(Submit Job)を Lambda で実行する…といった手法を検討する事にしました。

投稿2017/12/14 01:38

th0167

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問