ラベル Beanstalk の投稿を表示しています。 すべての投稿を表示
ラベル Beanstalk の投稿を表示しています。 すべての投稿を表示

2020年5月22日金曜日

Nodejs for beanstalk(DynamoDB接続)

ロールの追加を行う

①IAM コンソールのロールページを移行する。
②aws-elasticbeanstalk-ec2-role を選択 
③[Permissions (アクセス許可)] タブで、[Attach policy (ポリシーのアタッチ)] を選択
④アプリケーションで使用する追加サービスの管理ポリシーを選択します。
(AmazonSNSFullAccess、AmazonDynamoDBFullAccessを追加)

DynamoDB:

1)テーブルを作成する。

2)テーブルを作成する。
テーブル名:任意
プライマリ名:任意

Beanstalk:
(ソースコードはAWSのチュートリアルから入手)

以下にDynamoDBのテーブル情報とアカウント登録時のメールアドレスを記載する
vi .ebextensions/options.config

作成したnodejs内で、以下の枠内に情報を入力してみる。


参照先:


DynamoDB:
追加されていることが把握できる。



2020年5月20日水曜日

Beanstalk for S3のマウント方法について(by Docker)

Beanstalkにて、コンテナ作成時にS3のマウント方法について
以下、記載します。
1)goopysのインストールを行うと、以下のエラーが表示されてマウントできない。

yum install golang fuse git -y
---------------------------------------------------
export GOPATH=$HOME/go
go get github.com/kahing/goofys
go install github.com/kahing/goofys
mkdir /mnt/mnt-goofys
/root/go/bin/goofys test23 /mnt/mnt-goofys
-----------------------------------------------------

エラー内容:
Feb 16 02:14:32 4d35e2afd964 /root/go/bin/goofys12390: s3.INFO Switching from region 'us-east-1' to 'ap-northeast-1'
Feb 16 02:14:32 4d35e2afd964 /root/go/bin/goofys12390: main.FATAL Mounting file system: Mount: mount: running fusermount: exit status 1#012#012stderr:#012fusermount: fuse device not found, try 'modprobe fuse' first#012
原因:docker特有の権限の問題でマウントが出来ないので、docker実行時のオプションで --privilegedを加えてあげる必要がある。


2)ebextensions内に追加する。

vi .ebextensions/00.docker.config
------------------------------------------------------
commands:
  01_privileged:
    command: 'sed -i "s/docker run -d/docker run --privileged -d/" /opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh'
------------------------------------------------------

Lambda + SSM Run Commandで、数十台のEC2のuserdata結果を一括確認する

コードを1枚貼って、テストイベントを実行するだけで、 全台の確認結果が返ってくる手順です。 [ゴール] Nameタグが web-* / api-* / batch-* のEC2すべてに確認コマンドを流し、 NGの台だけ を結果に表示します。確認対象のuserdata(Ubu...