日: 2021年8月11日

  • S3 のバケットを誤って公開した場合の検知方法

    S3 のバケットを誤って公開してしまった時、どのように検知するかをまとめた。

    案は2つ

    1. Lambda を呼び出して、 S3 バケットを保護する CloudWatch Events ルールを設定
    2. S3 のオブジェクトレベルのログを有効にして、 CloudTrail でパブリック読み取りアクセス許可を持つ PutObject API が検出されたとき、 SNS に通知するような CloudWatch イベントを作る。

    この2つの方法は取ることができるが、単純に案1 の s3 から Lambda をトリガーしてチェックを行うのは実装は簡単そう。

    しかし、やろうと思えば案2 の仕組みをつくることもできる。

  • AWS CLI で CloudWatch logs を見る

    CloudWatch logs を確認したいが、AWS コンソール に入らずとも CLI で確認することができる。

    $ aws --profile stg logs get-log-events --log-group-name /ecs/hogehoge --log-stream-name ecs/stream --output text
    
    EVENTS  1628662114657   COPY FROM S3.   1628662110415
    EVENTS  1628662114657   logs ......       1628662111623
    EVENTS  1628662404609   running...................................................................................................................................................................................................................................................................................................      1628662401927
    EVENTS  1628662404609   処理時間:289.469252秒  1628662401927
    

    1行目は EVENTS

    2行目は タイムスタンプ

    3行目にログが記載されている。

    https://docs.aws.amazon.com/cli/latest/reference/logs/get-log-events.html

  • s3 からファイルコピーする際の download: を表示させない

    大量のファイルをコピーしようとすると、標準出力が s3 からdownload しているという標準出力で埋め尽くされる

    % aws s3 cp s3://sumito-hoge/11.change.csv hogehoge
    download: s3://sumito-hoge/11.change.csv to ./hogehoge

    これを表示させないためには --quiet オプションを使う

    % aws s3 cp s3://sumito-hoge/11.change.csv hogehoge --quiet
    
    
    ファイルはきちんとコピーされている
    
    ls -l hogehoge*                                                                                                                        
    -rw-r--r--  1 sumito.tsukada  wheel  5774  8 11 12:40 hogehoge