AWSOME DAY

朝からAWSOME DAYという
AWS主催のセミナーに参加していました。

セミナーに参加していて思ったのが
休みの日の感覚に近いなぁといった感じだった。

丸一日座学というのは少ないけれども
休日に丸一日もくもく会で朝から作業だとか
OSCに行ったりハンズオンに参加したりすることはあるので
休みと、仕事でセミナーに行く差ってほぼ無くて
なんだか仕事しなきゃとおもってレポートを丁寧に書いてみた。

そう考えると、休みの日は趣味鯖の手入れをしたり
Pythonだとか興味のある分野の学習にあてたりしているので
趣味と仕事の境界線も曖昧なところがあって

好きで没頭できるのはとても嬉しいのだけれども
逆に、これ興味もなく好きでもないのに仕事でやるとか
きっとひたすら苦行だろうし
向き不向きって、能力というよりは興味関心なのかもしれないと思った。

AWSの認定資格とりたい。
参考書を見に書店へ行かなきゃ。

最新の技術やツール、知りたいし使えるようになりたいのと同時に
コンピューター内部の仕組みを知りたいの
自作OSや自作コンピューターやりたいなぁと思う。
外に向かう興味と、内に向かう興味って感じする。

現役でエンジニアとして働けるの
頑張ったところであと30年とかなんだろうけれど
あと100年くらい現役でエンジニアやれたら良いのにとおもう。
そのくらい時間がないというか
学んでも学んでもジリジリとしか進まない。

RDS作成時ポイント、お引っ越し

RDSとは:AWSのDBマネジメントサービスです。

作成時のポイント

  • 作成時になるべく既存のMySQLと近いversionを選ぶようにします。
  • 作成後エンドポイントを控えておくと作業がスムーズです。


EC2インスタンス内でdumpファイルのある

/tmp下に移動し、下記コマンドを実行してインポート。

$ mysql -u [ユーザー名] -p --host [エンドポイント] < backup20191004.sql

オプション解説

--host [エンドポイントなどのホスト名]

RDSの場合はAmazon RDS DBインスタンスのエンドポイント

エンドポイントは、RDSマネジメントコンソールのインスタンス詳細で確認できます。

MySQL DB または MariaDB DB から Amazon RDS MySQL または MariaDB DB インスタンスへのデータのインポート


インポートが完了したらRDSにログインしてみます。

 $ mysql -u [ユーザー名] -p --host [エンドポイント]

DBの一覧を確認して、引っ越しができているか見ます。

mysql> show databases; 


RDSが完成したら向きの指定を変えます。

EC2インスタンス内に入り下記に移動(Apacheなどの設定により違う)

/var/www/html/wp-config.php
 
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** // 
/** WordPress のためのデータベース名 */ 
define('DB_NAME', '[DB名]'); 


/** MySQL データベースのユーザー名 */ 
define('DB_USER', '[ユーザー名]'); 


/** MySQL データベースのパスワード */ 
define('DB_PASSWORD', '[パスワード]'); 


/** MySQL のホスト名 */ 
define('DB_HOST', '[エンドポイント]'); 

DB名、ユーザー名、パスワード、エンドポイントを書き換えます。

設定をしたら、ブラウザからtest記事を投稿し

反映されているかを試します。

反映されていたらやったあ😃

WordPressのEC2インスタンス内MySQLバックアップ

WordPressのEC2インスタンス内にあるMySQLデータをバックアップします。

MySQLのデータベースをmysqldumpでバックアップ/復元する方法

上記を参考にして進めました。


まずはEC2内に入りエクスポート

$ mysqldump --single-transaction --databases [DB名] -u [ユーザー名] -p > /tmp/backup20191004.sql

オプション解説

--single-transaction

データの整合性を維持する。ワントランザクションで作業を行う設定する

--databases [DB名] 

DB名の指定

-u [ユーザー名] 

ユーザー名の指定

-p

上で指定したユーザー名のパスワードを使用するオプション


dumpファイルを取ることに成功しました!

Next Step

RDSを作成します。

LT記念日

PORTのもくもく会に参加してきました。

ほぼランチからの参加でした。


お気に入りの変な人いました!やったねえ


みそぴ磁石のルービックキューブ触らせてくれた

動きの滑らかさに感動したあ。


超絶美女と仲良くなりました、笑 わーい


ランチタイムは

「どうやって就活したのか」

などについて話しました。

就活の流れや、それにともなった技術的な勉強の進め方も

まとめられたらいいなあ。


初めてLT(Lightning Talks)をしました。

簡単な発表なのだけれども

内容は昨日あげたスライドをそのまま使いました。

反応が良く、質問もたくさん出てくれたので嬉しかったです。

いくつか質問をピックアップしてまとめました。

本日のもくもく会では

主にAWS CLIの設定をしたので書きます。

$ aws --version 
-bash: aws: command not found 

AWSコマンドの設定しないと!

AWS CLI の設定

$ ls ~/Library/Python/3.7/bin
 $ vi ~/.bash_profile
 export PATH=~/Library/Python/3.7/bin:$PATH

↑を追記

設定ファイルと認証情報ファイル

頻繁に利用される構成設定および認証情報を AWS CLI が維持するファイルに保存することができます。

 $ vi ~/.aws/credentials
 
[default] 
aws_access_key_id=ひみつ 
aws_secret_access_key=ひみつ 
 $ vi ~/.aws/config
 
[default] 
region=us-west-2 
output=json 

awsコマンド使えるようになっているかなあ

$ aws --version 
aws-cli/1.16.248 Python/3.7.4 Darwin/17.7.0 botocore/1.12.238 

わーい、できた\( ˆoˆ )/

わすれずドヤ顔です。

ポート番号の変更

もくもく会に参加してきました。

ProLabo渋谷もくもく会

黙々と作業しました!


ポート番号を変えるだけで攻撃数が激減するらしいという噂をきいて

早速試してみた。

まずログファイルからアクセス数を確認します。

 $ cat /var/log/auth.log | grep -v sximada | grep -v ubuntu | grep -v CRON | grep -v 'Sep 20' | wc -l 

626件でした。

1日に600件以上のピンポンダッシュ……恐怖でしかないです。


SSHログインのポート番号の設定を変える前に

万が一ログインができなくなった場合に備えて

(クラウドでSSHログインができなくなったら致命的なので)

スナップショットを撮っておきます。

AWSのEC2インスタンスのステータスをStoppingにしました。

なんと鯖立て初のStoppingです。

怒られてしまうかもしれない。

EC2の再起動をかけたら、立ち上がりにかなり時間がかかって

冷や汗もんでした😢

こわー!

無事EC2インスタンスが立ち上がり

 /etc/ssh/sshd_config 

こちらのファイルに

Port 22
Port 2222 

と書いて

Port22はデフォルトの設定でコメントアウトしてあったのですが

なにも記述がなければ

22が自動的にSSH用の番号として割り振られるようです。

念のため22も残して2222からログインできるかテスト。

設定を適用させるため忘れずssh再起動です。

$ sudo service ssh restart 

2222ポートからsshログインできるか確認。

$ ssh don.suwa3.me -p2222 

ログインできました!

やったねえ

EC2インスタンスのセキュリティグループも変更しました。

忘れず変更したのえらーい、わーい

図でまとめておきました。

セキュリティグループのほうは

忘れた頃に

「あれ22番でログインできない😢」

という悲劇にならないためにも開いておきました。

sshd_configの設定のみ22番を閉じました。


そして攻撃数のビフォーアフターがこちら

$ cat /var/log/auth.log  /var/log/auth.log.1 | grep -v sximada | grep -v ubuntu | grep -v CRON | grep  'Sep 20' | wc -l
626
$ cat /var/log/auth.log  /var/log/auth.log.1 | grep -v sximada | grep -v ubuntu | grep -v CRON | grep  'Sep 22' | wc -l
5

626件が、なんと5件!!

すごい効果です。

下手なダイエット食品よりも効果あるかもしれない。

やったねえ

AWS大規模障害

AWSで大規模な障害が起きていますね。

don.suwa3.meはAWSのEC2インスタンスを利用しているので

急いでログインしてDashboardのOpen issuesをcheckしました。

以下まとめ。

EC2インスタンスに関する障害報告

こちらは日本時間とGoogle翻訳です。

RDSに関する障害報告

こちらは日本時間とGoogle翻訳です。

現在いまだ復旧していないようです。

心がそわそわするー。

監視ツール

早起きして朝Tully’sしました。

主にAnsible化について調べたよ。

Ansibleをはじめる人に。

ここでAnsibleの名付けのもとになった小説が紹介されていて

Ansibleが登場するSF小説「エンダーのゲーム」読んだ

絶対に面白そうなので読みたいとおもいました。

SFすき。

Ansibleって自動化させるための機能なんだとおもっていたけれども

構成管理ツールと呼ばれているらしく

Ansibleの他にも色々とあるのね。

最近のトレンドがAnsibleらしい。

シンプルで使いやすいとのこと。

とりあえず調べるだけ調べて

AWSのコワーキングスペースLoftに移動しました。

AWSのアカウントを持っているだけで

平日ここのスペースを無料で使えるの、かなり大きい。

あまり時間もなかったので

とりあえずメッセージの返信やスケジュールの調整など雑務を片付けて

軽くお昼を食べて出ました。

SNSがDockerふわふわタイムに突入して重くなったの。

簡易的な監視ツール入れたいなとおもって登録だけしました。

uptime robot

.

美容院で前髪カットして部分パーマかけて

根元リタッチして

髪の毛のメンテナンスしたよ。

Lambda

AWSで例えば

“S3へファイルがあがったら、それをトリガーにして何かプログラムが走る”

というような

簡単な動作をさせたいねという話から

Lambdaならコードさえ書けば、EC2要らずで動くの便利なのでは?

と、いうことでLambdaについてザッと調べました。

.

AWS初心者入門 第7回~「Lambda」ってなにがスゴイんですか?

説明はそこそこにサッサと現物を触ってみようということで

Python による Lambda 関数のビルド

AWSのチュートリアルを参考にコンソールをポチポチしてから

ローカル環境で実行も出来るらしいということで

Qiitaの記事をいくつか参考にしつつ試してみました。

.

aws-sam-local 改め aws-sam-cli の新機能 sam init を試す 

AWS SAM CLIでLambda Functionを開発する

Pythonの参考に出来る新しい記事が見当たらなかったのと

タイポミスで、記事通りだと実際に動作しないものや

若干の変更点もあったので

自分で備忘録用に記事をまとめてみることにしました。

Pythonでaws-sam-cliをローカル実行するまで

Mastodonにもupしたのだけれども、ほぼ反応なかったの寂しい😢

ま、いいけどねえ。

treeコマンドを使えるようになった画像です。

LambdaをGitHubにあげるところまでやったよ。

.

そういえば

gitコマンド操作に慣れるため

ブラウザからのGitHub禁止令が出されました。

ひいい

git stashなどのコマンド操作や

サーバー内でgit操作をしたいときに

gitコマンドに慣れていた方が良いよね。

と、いうことでしばらく封印です。

少しだけgitコマンド慣れたよ☺️

Loft

目黒にあるAWSのコワーキングLoftに行ってきました。

↓参考としてAWSの紹介blog貼ります。

(上記サイトより引用)

広くてきれい。

WiFiのSSIDとpassは、受付のお姉さんに聞いたらわかりました。

気合い入れてTo-Doリストつくったよ。

何やるつもりだったのか忘れてしまうので

整理大事。

8割できたら次に進もうかなってなるしね。

.

綺麗だし景色も良くて気に入ったので

また平日に来れそうなときは来よう。

エレベーターが段ボールだった、テンションあがる。

移動時間はpostgreSQLの動画をみていた。

内容きちんと復習して

実際に手をうごかして整理します。

Dockerマスターになりたい

最初はAWS日本語だしAWSの設定なら楽チン!

とおもっていたけれども、これ日本語が意味不明だと突然

「何言ってるのかな??」

に、なるのつらい。

vimで設定ファイル編集するほうが

言われたとおり素直にコピペするだけなので

ラクだなと思うようになってきた。

素直にコピペして動く場合であれば。

.

パブリックアクセスのブロックは全解除でいけました。

公開しても良い画像で、ファイルをひとつ作ってみて

それを投稿してerror出ないかテストしてみました。

.

パケットポリシーエディタの中身は

AWSのポリシージェネレーターでパパッと生成できた。

しかしジェネレーターの選択欄ものすごく種類あるので

どれ選択したら良いのか初見わからないのでは…

.

で、メディアストレージの設定ファイルの編集なんですが

参考にしていたblogの内容の表記っていうのかな

若干違っていて

どれが正しいのかわからないので

設定ファイルを書き直して

Docker立ち上げ直して

マストドンで画像投稿してみて

Dockerのログみてerror探して

というのを10回ほど繰り返し

まだerror出ています。

うお〜〜〜〜〜〜

アプリ開発の動画みて気分転換しよ🙋

また明日がんばります。

.

でもねでもね

最初の頃はerrorの特定も全くわからなかったの。

最近は、だんだん流れがわかってきたの嬉しい。

こういうリズムで、こういう順序で

こういう角度からerrorの原因を潰していくのかあ

って、少しずつ見えてきた。

メディアストレージのerrorちっともわからんけども‪ᐠ( ᐛ )ᐟ笑

まじでわからん