月別アーカイブ 4月 19, 2022

投稿者:kuze_k

AWS DB系サービスについて Athena

今後はDB系について触ってみようと思います。RDS,Aurona,ElastiCache,DynamoDBなどありますが、普通に触ってもおもしろくないかなーと思い、今回はAmazon Athenaにしようと思います。

AthenaはS3に保存されているCSV/JSONなどのファイルをそのままAthenaで読み込んでDBとして利用できるものです。

S3をデータレイクとしていろいろデータをため込んでおいて、後からAthenaで分析してみるという使い方ができるなと思いました。

また、AWS GlueはETL機能があり、S3に保存されているデータを加工できるサービスなのでこれと組み合わせることで分析しやすくできるという理解です。

私的には以下サイトが参考にできそうです。


【初心者向け】AWS Athena の 使い方

https://qiita.com/yoshiyama_hana/items/9b2f26b214de92a0f36c


【初心者向け】AthenaからクエリしてS3上のデータを取得してみた

https://dev.classmethod.jp/articles/get_s3data_by_athena/


Amazon AthenaでSQLクエリを実行してみた


S3に置いたCSVをAthena (+Glue) で検索したい

https://dev.classmethod.jp/articles/athena-s3-csv/


実機操作は日を改めて実施してみようと思います。

投稿者:kuze_k

boto3を使ってAWSを触ってみます。②

実機を使いboto3でS3操作を実施してみました。

端末はubuntuで行いました。

IAMでboto3用にユーザを作成。そのユーザのアクセスキーとセキュリティーキーを控える。

これが外部に誤って漏れてしまうと、IAMのアクセス権限次第ではありますがAWSをコントロールできてしまうので要注意ではある。

よってAWS CLI(aws config)でキーを登録する形とした。pythonコードへキーを直接書き込まない形。

あとは、以下サイトの通りpythonを実行して問題なく操作できた。

/https://qiita.com/is_ryo/items/e16527db5800854cd95f

・S3バケットリストを表示

・S3バケットへファイルアップロード

・S3バケットからファイルダウンロード

特に問題なく10分程度で実装できた。

端末をwindows10でやろうとしたが、pipおよびboto3をインストールするところでうまくいかなかった。こちらはまた時間あるときにトライしてみようと思う。


boto3のメーカードキュメントは以下にあるので、必要に応じて確認する。
https://docs.aws.amazon.com/ja_jp/pythonsdk/?id=docs_gateway

今日はこれぐらいにしておきます。

投稿者:kuze_k

boto3を使ってAWSを触ってみます。

今週末はboto3を試してみようと思います。

先週末はlambdaを使ってS3,API Gateway,dynamodbと連携させたりしてましたが、今週末はpythonでboto3ライブラリを使ってコントロールしてみたいと思います。

私のレベル的にはまずは以下を参考にさせていただこうと思います。



コードでAWSをさわってみよう!プログラミング初心者向けAWS SDK(Boto3)の使い方

https://dev.classmethod.jp/articles/how-to-use-awssdk-boto3-for-beginners/


Python boto3 でAWSを自在に操ろう ~入門編~

https://qiita.com/kimihiro_n/items/f3ce86472152b2676004


boto3を使ってS3をごにょごにょする

https://qiita.com/is_ryo/items/e16527db5800854cd95f


これまでマネジメントコンソールはMFA化してセキュアに使ってましたが、boto3の場合はクレデンシャルの扱いなどセキュリティ面は今まで以上に注意したいと思います。

あわせて、自動化・省力化についても検討したいと思います。

今日はこれぐらいにしておきます。

投稿者:kuze_k

blogのアイコン作成 CHARATアバターメーカー・

趣味ブログで使うユーザアイコンを作成してみましたので記事にしておきます。以下サイトのアイコンとして作成しました。

https://www.blog.kuzeezuk.com/

いろんなパーツを選んでいく形で上記は10分程度で作成しました。最初からテンプレートの絵は出てくるので、時間はどれだけこだわるか次第です。無料でここまで作れるのは良いですね。

全身パターンが2つ(背景が透明なのと、そうでないもの)と顔アップの3個がダウンロードできます。

興味を持たれた方は以下から作成してみてください。ユーザ登録なども不要なので、お手軽です。

https://charat.me/avatarmaker/

上記とは別アプリで、写真を版画風に自動生成するアプリ(スマホ用)がありましたので、こちらも使ってみました。けしはん道場というアプリ。

自分のスマホにある写真を選択し、数クリックするだけで上記のような味のある画像が作成できます。ものの数分です。

上記は別の写真ですが、”銅板画”を選択したものです、こっちの方はかなりシャープですね。最初のほうは標準の”けしはん”を選んで作成。

3枚目は”コミック”を選択しました。このように色を変えたりすることもできます。いずれも味が違いますね。

3枚とも、選択するところを変えただけで、これだけの画像ができてしまいます。スライドバーをカスタムすることで微調整をすることも可能ですが、上記はそれらは一切触っておらずデフォルトのまま。

スライドバーで触れるのは、滑らか・明るい・太い・濃い 等を調整できます

興味を持たれた方は以下から作成してみてください。

https://play.google.com/store/apps/details?id=com.sakanapps.eraserstampbooth&hl=ja&gl=US

便利なツールが、無料で利用できるというすばらしい世の中ですね。いちおう画像作成後に広告が表示されますので、記載しておきます。

今日はこれぐらいにしておきます。

投稿者:kuze_k

API Gateway + Lambdaについて

先日はS3イベントトリガーからLambdaを起動することを試したので、今回はAPI GatewayとLambdaを連携させてみたいと思います。

私的には以下サイトが参考にできそうです。


https://qiita.com/baikichiz/items/2de7c4c0dcf9b051037a

【API Gateway】AWS Lambda統合のPythonでHello, world


【AWS】HTTP API+Lambda+DynamoDBのチュートリアルをやってみた


上記”【API Gateway】AWS Lambda統合のPythonでHello, world”を参考にして実行したところ、特に問題なく動作できました。初めてAPI Gatewayを設定しましたが賞味15分程度でできました。

APIに認証が何もないのもよくないので、今度は以下を参考にAPIキーの設定を追加してテストしました。


https://qiita.com/baikichiz/items/ed787c5c79059213401e

【API Gateway】API呼び出しにAPIキーを設定する


こちらも特に問題なく賞味10分ほどで完了できました。

私が少しつまった部分として、windows端末からcurlでテストしたのですが、–headerオプションで付ける”x-api-key:********************”と部分がダブルクォーテーションだと動きますが、シングルクォーテーションではエラーになりました。

なお、

developer associate試験については以下本を読んで勉強中です。

ポケットスタディ AWS認定 デベロッパーアソシエイト [ 山下光洋 ]
価格:2310円(税込、送料無料) (2022/4/12時点)楽天で購入

わかりやすくて良い本だと思いますが、やはり実機触りながらでないとなかなか頭に入らないですね。

読んでるだけだとよくわからないことが、実際にさわってみると結構簡単に動いて理解も早いです。

なんとか4月中に試験申し込みしたいと頑張っています。

今日はこれぐらいにしておきます。

投稿者:kuze_k

S3+lambda+dynamodb+cloudwatch logsについて動作確認

さきの投稿に続いて、週末に動作確認を行いました。

結論としては問題なく動作できました。

具体的な内容は下記サイトを参考にさせてもらいました。

https://atmarkit.itmedia.co.jp/ait/articles/2109/24/news008.html

「Amazon S3」にアップロードしたCSVファイルを「Amazon DynamoDB」に自動登録する「AWS Lambda」関数の作り方

S3,Dynamodbについてはサイトの案内の通り操作するだけなので悩ましいところはなかった。

私が少し詰まったのは、以下2点。

・lamdaに割り当てるユーザー管理ポリシー。

 新規ポリシーとしてdynamodb-put-batchwriteを作成した後で、ロールlambda-import-csv-into-dynamodbへポリシーを割り当てる。

・S3へアップロードするemployee.csv1の形式でエラー。

 最初メモ帳でcsvファイルを作成しs3へアップロードしたらcp932関連でエラー発生。

  UnicodeDecodeError: ‘cp932’ codec can’t decode

作成したCSVファイル形式がよくなかったのが原因。改めてterapadで”文字コード指定再読込”を”SHIFT-JIS”として、CSVデータを保存したところ、エラーはなくなりました(cp932=SHIFT-JISな認識)。

その他は特に止まるところもなく、賞味30分程度で一通り試せました。

S3にファイルアップロードすることで、dynamodbへデータ書き込みおよび更新までできました。cloudwatch logsへもデフォルトのままでlambdaログが記録されました。

肝心なlamdaコードについてもサイト情報そのままで動作できました。

個人的にはpythonスクリプトの部分が一番キモと思いますが、この程度のコード量なら読めば理解できますし、多少の作り変えでいろいろ試せそうに思いました。

今回はS3イベントでキックする形ですが、それ以外にもlambda起動できる条件はいろいろあるので、改めてアイデア考えて別条件でサーバレスを試してみたいと思いました。

今日はこれぐらいにしておきます。

投稿者:kuze_k

S3イベントトリガー+lambda関数実行+dynamodb書き込み

先日AWS DAの資格取得について書きましたが、本だけ読んでいてもだめなので実機触って理解を深めようと思います。

ネットで検索しているとS3+lambda+dynamodbの組み合わせでサーバレスを実現している例を見かけますので、まずはそれにならって試してみようと思います。

私的には以下が参考にできそうです。

「Amazon S3」にアップロードしたCSVファイルを「Amazon DynamoDB」に自動登録する「AWS Lambda」関数の作り方:AWSチートシート – @IT (itmedia.co.jp)

Lambdaを使ってS3に上げたログをDynamoDBに自動登録 – Qiita

S3をトリガーとするLambdaの冪等性をDynamoDBで実現してみた | DevelopersIO (classmethod.jp)

lambdaのランタイムはpythonにしようと思います。

上記を参考に見る限り簡単にできそうではありますが、週末に試してみてはまりポイントなどを後日記載しようと思います。

今回はS3からのイベントトリガーでlambda起動させる流れで考えていますが、ほかにもいろいろ連携できるようです。

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-services.html

一つ連携できればそれ以外もある程度イメージできるようになるかなと思うのでまずは試してみます。

今日はこれぐらいにしておきます。

投稿者:kuze_k

WordPressのSEOについて

SEOとして何かできることはないかなと調べていたところ、プラグインで簡単にできるものを見つけたので記載しておきます。

趣味のブログとして以下をやっていますが、こちらで実施した内容になります。

趣味のブログ(車・DIY・ガーデニングなど) – Just another kuzeezuk’s blog Sites site

ALL in One SEOというプラグインです。私の環境ではプラグインにインストール済みだったので、有効化のチェックをつけるだけで”ALL in One SEO”をというメニューが表示され、設定できるようになりました。実際にやったことは、ALL in One SEOのダッシュボードで、セットアップウィザードを実施。

ウィザードの詳細は記載しませんが、以下内容を真似て実施する。

【2021年版】All in One SEO の設定方法と使い方を簡単に解説【初心者向け】 (bryog.com)

その他は、

ソーシャルネットワーク – fackbookで、

オープングラフマークアップを有効にする
デフォルトの投稿画像ソース - コンテンツの最初の画像

です。

理由は、ブログ村へ登録しているのですが、この辺りの設定をする前はブログ村で記事は見えるも、アイキャッチになる画像が表示されずちょっと味気ない状態でした。

上記の設定をするだけで、記事に乗せた最初の画像がアイキャッチとして表示されるので、とっても簡単でした。なお、設定上はfackbookとありますがそれに限った話でなく、オープングラフマークアップを使ったものであれば対応できるのだと思います。

オープングラフについては下記が参考になります。

OGP(オープン・グラフ・プロトコル)とは | まーくんのアフィリエイト学校 (afi-b.com)

ブログ村のランキングにも登録しています。バナーを以下で張りました。

wordpress  ー 外観 -ウィジェットでサイドバーウィジェットエリアを開き、カスタムHTMLをクリックして、指定されたLinkを張り付けるだけです。

バナーの張り方およびLink情報については以下を見てやればわかります。

ブログ村の登録方法とバナーの張り付け方 | ブログ集客簡単マニュアル (infopower.jp)

ワードプレスは利用者が多いので情報量が多いので、ちょっとしたことなら簡単にできますね!

今日はこれぐらいにしておきます。

投稿者:kuze_k

lightsail + cloudwatch agentについて

wordpressを動作させているlightsailインスタンスへcloudwatch agentをインストールし、リソース監視・ログ監視できるようにしました。

参考にしたサイトは以下。

https://gattino.jp/cloudwatch-agentlightsail/

ほぼこのサイトの通りで設定・動作確認ができました。賞味15分ほどで完了。

一部異なった点としては、

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

でcloudwatch agentの設定ウィザードでいろいろ質問されますが、内容が少しだけ追加されていました。

あと、cloudwatch上でアラートおよびトピックの設定をした際に、通知先のメールアドレスを登録する場合は、以下のようなメールが届くので、承認処理が必要ですね。

—————————–


AWS Notification – Subscription Confirmation
You have chosen to subscribe to the topic:
arn:aws:sns:ap-northeast-1:**********:cloudwatch_alarms_topic

To confirm this subscription, click or visit the link below (If this was in error no action is necessary):
Confirm subscription

—————————–

Disk使用率・CPU使用率・ネットワーク使用率などのカスタム属性がCloudWatch上でグラフ表示できました。Lightsailのダッシュボード上ではDisk使用率は見えないのでこの辺りの設定は必要だと思います。

wordpressのログとして、/opt/bitnami/apache/logs/access_logをcloudwatch logsへ飛ばすようにしました。とりあえずログ参照できるところまで。

cloudwatch logs insightでログ分析できるようなので、後日試してみようと思います。

今日はこれくらいにしておきます。

投稿者:kuze_k

CASEとMaaSについて

突然ですが、車産業で言われているCASEとMaaSについて調べる機会があったので、簡単にまとめておきます。

CASEとは、

「Connected(コネクテッド)」「Autonomous(自動運転)」「Shared & Services(シェアリングとサービス)」「Electric(電動化)」の頭文字をつなげたもの。

MaaSとは、

Mobility as a Service」の略。

クルマがどんどんと「CASE」を進化させた先にあるもの。それが「MaaS」で意味合いは “移動”すること自体をサービスとしてとらえるという考え方。クルマだけではなく、自転車のような個人的な乗り物から、電車やバスといった公共交通も含まれているのが特徴。

少し古い記事ですが、MaaS基盤としてAWSが使えるネタがあったので記載しておきます。

https://www.itmedia.co.jp/enterprise/articles/2011/12/news048.html

MaaS基盤としてのAWSをどう活用? 採用企業が語ったサービスのこれから

https://cloud.watch.impress.co.jp/docs/news/1271731.html

AWSがMaaSへの対応を紹介、MaaS「EMot」でAWSを利用する小田急も登壇

今日はこれくらいにしておきます。