AWS / PHP / Python ちょいメモ

amazon web service , PHP, Python を使ったときのメモ。日本語でググってもわからなかった事を中心に。

Amazon Linux 2 コンテナに AWS CLI をインストール

AWS で使うディストリビューションなら、やっぱ Amazon Linux 2だよね。

LTS (長期サポート) で 2023年までサポートされてるし、 今後主流の systemd 対応 (CentOS 7 などから採用されてる、各種サービスの起動方式)だから。

でも、EC2で作ると課金対象になったりするから、手元で簡単にコンテナでつくっちゃおう。

ぐらいの、「のり」で設定してみました。

目標として設定したのは、「AWS CLI と jq が正常動作」です。

AWS CLI をインストール

Amazon Linux 2 コンテナを起動

docker for Mac / Windows をインストールした後に、次のコマンドを叩けばOK。

続きを読む

VPC, EC2, RDS, ELB キャッチアップのオススメ ハンズオン

インフラエンジニアからみると、恐ろしいほどの自由度のAWS基本サービス群(VPC, EC2, ELBあたり)。

オンプレから一定規模のWebやってる人なら、VMとか、VLANとか、ロードバランサーとか、IPアドレスとか、すんなりだろうと。

でも、アプリ開発者からすると ??? な用語も多いな。

と、最近気づいて、良いもの探してみたので、ご紹介。

2019年12月製の日本語ハンズオンだから、2020年春の今なら安心して(WebUIの違いなどが最小限。クラウド系は古いハンズオンみても機能差でてたりして悩んじゃうので)進められます。

AWSさん充実しすぎですよ。日本人エバンジェリストありがとう〜


aws.amazon.com

続きを読む

巨大?ライブラリ利用するときは意識を広げよう ImageMagick 関連投稿から

Lambda関数っていえば、画像リサイズだよねって思い込みで進めていたところ、こんな投稿をいくつか。

2018年に、ImageMagick 関連で大きな話題が?

なるほど!なきっかけをもらえて、次の選択肢 (Go 言語と imaging パッケージ) が示されてるのが良いですね。
あかんというだけなら簡単ですが、それをリプレースまでされてて、具体的手法まで公開されてるのが、IT業界のよい習慣だなって思います。

脆弱性の数って

一つその理由という意味では、僕は、問題提起された Cybozuさんのブログによりは、Qiita記事かかれた方寄りの視点 (僕の当事者意識の薄さにもあるだろうけど)。

個別プロダクトの安全性は、脆弱性数の母数ではなく、利用している機能への影響度合いで見る必要があると思っています。

続きを読む

日経ソフトウェア2020年5月号はPython本だね

8割方 Python 記事で埋め尽くされてて驚いた。これPython本やん。

楽しかったので、僕なりの、オススメ書いてみました。

日経ソフトウエア 2020年 5 月号

日経ソフトウエア 2020年 5 月号

  • 発売日: 2020/03/24
  • メディア: 雑誌
shop.nikkeibp.co.jp

オススメ

個人的な1オシは、「特集2 20個のQ&Aでわかる 一歩進んだPythonプログラミング by kikainekoさん」。

PythonDjango をいくつか書いた人が疑問に思ったであろうポイントが解説されてます。

  • Q2 Pythonのリストって配列と何が違うの?
  • Q3 定数ってないの?
  • Q5 何でメソッド定義にselfが必要なの?
  • Q9 クラスメソッドとスタティックメソッドって何が違うの?

などなど。


それぞれの解説も、比較コード、Pythonの歴史、また多言語との比較などを数々引用いただいてて、とても腑に落ちる内容です。

kikainekoさん、すごすぎる。。。

ちなみに、僕も以前 
self と cls とかが何か気になって調べてみた + @staticmethod を書いたりしました。

どの言語もそうだろうけど、使ってるから気になるポイントってあるし、その多くが?解決しちゃうかもです。

続きを読む

「既存のロール」でLambda関数つくるときに気をつけること

サーバレスといえば、Lambdaだと、ポンポン作ってると、ふと、CloudWatchにログ出力されてない関数があることに気づきました。

正常動作してるときには、ログ出力されてなくても気にならないけど、トラブルシュートする時に見れないのは致命的。

あと個人的には、Pythonコードでエラーでたときの Traceback が切り捨てなく見れるのがポイント高い。

ちょっと過去の記憶を元に原因を探ってみました。

「既存のロール」選択時に注意

ログの出ない関数が2つになった時に、思い当たったのが、この設定。アクセス制限の実行ロールを「既存のロール」から選択していました。

新しい関数 "my_second_function" を作成する時に、直前に作った "my_first_function" のロールを選択しました。

f:id:hidehara:20200408001508p:plain
既存のロール 選択時

選んだのは、新しいロールを増やしても、同じIAM設定を繰り返さないと行けないから、前に自動で作られたロールを選んだという理由。

続きを読む