aws-sdk-goでs3にファイルをuploadする

package main

import (
    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/credentials"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/s3/s3manager"
    "os"
)

func main() {
    path := "hogeho"
    file, err := os.Open(path)
    if err != nil {
        os.Exit(1)
    }
         // ~/.aws/credentialsを使用する場合は別の方法で、このパターンはコード上でID/SECRETを指定するケース
    cred := credentials.NewStaticCredentials("ID", "SECRET", "")

    conf := aws.Config{Credentials: cred, Region: aws.String("REGION")}
    sess, err := session.NewSession(&conf)
    if err != nil {
        os.Exit(1)
    }
    svc := s3manager.NewUploader(sess)
    result, err := svc.Upload(&s3manager.UploadInput{
        Bucket: aws.String("BACKET"),
        Key:    aws.String("PATH"),
        Body:   file,
    })
    if err != nil {
        os.Exit(1)
    }
}

Amazon Linux 2でSerposcope動かしてみる

急遽必要になったので、EC2(Amazon Linux 2)上で環境構築

環境

os: Amazon Linux 2
serposcope: v2.10.0
jdk: 1.8.0

Serposcopeとは?

GRCの無料版の位置付け。

「チェックするURLも少ないし、GRC使うまでもないなぁ」という人向けのツール。

どちらかというとエンジニア向きかも?

色々できるので詳しくは公式サイトを見てください。

javaのinstall

Serposcopejavaで動作するためjavaが必要なのだが

初期状態のEC2(Amazon Linux 2)では入っていないので以下のコマンドで導入する

# jdkのcheck
sudo yum info java-1.8.0-openjdk.x86_64

# jdkをinstall
sudo yum install java-1.8.0-openjdk.x86_64 -y

installが完了したら確認する

java -version

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Serposcopeのdownload

とりあえず適当に配置

sudo su -
mkdir -p /var/www/serposcope
cd /var/www/serposcope
wget https://serposcope.serphacker.com/download/2.10.0/serposcope-2.10.0.jar

Serposcopeの起動

# バックグランドで動かしたいのでnohupで実行

nohup java -jar /var/www/serposcope/serposcope-2.10.0.jar &

serposcopeがlistenするdefault portが7134なので

ec2のsecurity groupで7134を使えるようにするのを忘れずに。