3
1

More than 3 years have passed since last update.

AWS CLIコマンドがCRON実行できない場合には環境変数(認証周り)を確認する

Posted at

AWS CLIシェルプログラムをCRON実行する場合

このようなS3へファイルをコピーする
シェルプログラムを作ってコマンド実行で動作したので

#!/bin/bash
aws s3 cp ファイル名 s3://backet_name/

そのままCRONへ登録し失敗する理由は大体環境変数まわりかと思います。

  • AWS IAMのクレデンシャル情報(アクセスキー、シークレットキー、リージョン情報など)を環境変数に指定する
  • aws cliのコマンド引数で直接クレデンシャル情報を指定する
  • S3へのアクセス権限を付与したIAMロールをEC2インスタンスに紐づける(未確認)

上記のいづれかの方法を取ればCRONで動作します。

ここでは、環境変数でクレデンシャル情報を指定する方法を記述します。
環境変数でクレデンシャルファイルを指定する例)

#!/bin/bash

export AWS_SHARED_CREDENTIALS_FILE=クレデンシャル情報を保存したファイル
aws s3 cp ファイル名 s3://backet_name/

クレデンシャル情報やIAMに関する詳しい内容につきましては参考情報を

参考情報:
http://dev.classmethod.jp/cloud/aws/how-to-configure-aws-cli/
http://dev.classmethod.jp/cloud/aws/awscli-configure-credential-file-via-envvar/

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1