どこにでもいる30代SEの学習ブログ

主にプログラミング関連の学習内容。読んだ本の感想や株式投資についても書いてます。

AWS

【python】OpenCVでImportErrorが出たときの対処法(Amazon Linux2)

「ImportError: libGL.so.1: cannot open shared object file: No such file or directory」が出たときの対応策です。 環境によって対応策は異なります。紹介するのはAmazon Linux2の対応策です。 環境 Amazon Linux2 Python 3.7 事象発生時の状況 import cv…

【AWS】pythonでS3のファイルを操作する手順(Boto3)

pythonのプログラムからS3を操作する手順をまとめました。ファイルのアップロード/ダウンロードなど、基本的な手順を書いています。 [1] 前提条件 [2] 準備 [2-1] boto3のインストール [2-2] EC2にIAMロールを付与する [3] Boto3を使った操作の概略 [4] Boto…

【AWS】Lambdaをローカル環境でテストするのにSAMを使う

ローカル環境でLambdaをテストするには「AWS SAM」を使います。Lambdaのテスト方法は主には以下の2択です。 本物のLambda関数でテスト ローカル環境でSAMでテスト 本物のLambda関数をテストしたくない場合、ローカル環境でSAMの方を選択することになります。…

【AWS】ウェブアプリケーションの構築(Amplify+Cognito+Lambda)

AWS公式のハンズオン「サーバーレスのウェブアプリケーションを構築」に習って、簡単なウェブアプリの構築を行いました。 このハンズオンを通して、以下の要素に触れることができます。 CodeCommit Amplify Cognito DynamoDB IAM Lambda API Gateway AWSのハ…

【AWS】SAMの使い方とチュートリアルの解説

AWS SAMの使い方について、チュートリアルの実行手順を解説しつつ紹介します。紹介する手順は、Amazon Linux2上で試したものです。 SAMはServerless Application Modelの略です。サーバレスと言えば「Lambda」が思い浮かびますが、Lambda含め様々なリソース…

【AWS】LambdaをS3トリガーで起動しサムネイル画像を作成するチュートリアルをやってみた

以前、AWS Lambda関数をS3トリガーで起動する方法を確認しました。 https://predora005.hatenablog.com/entry/2021/05/23/190000predora005.hatenablog.com 今回もAWS公式のチュートリアルに沿って、S3トリガーでのLambda関数の使い方を紹介します。チュート…

【AWS】LambdaでPillowを使う方法(Lambda Layer)

AWS LambdaでPillowを使おうと思ったら次のエラーが表示されました。 [ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'PIL' Traceback (most recent call last): Lambdaのデフォルト環境にはPillowが入っ…

【AWS】LambdaをS3トリガーで起動する方法

API Lambdaのチュートリアルの中に「AmazonS3トリガーを使用してLambda関数を呼び出す」があったのでやってみました。 docs.aws.amazon.com [1] S3バケットを作成 [2] Lambda関数を作成 [3] テスト [4] S3バケットにアップロード [5] リソースの削除 終わり…

【AWS】30分で簡単なウェブアプリケーション構築(Amplify+Lambda+DynamoDB)

AWS公式のハンズオン「AWS で基本的なウェブアプリケーションを構築する」を見て、簡単なウェブアプリケーションを構築しました。 aws.amazon.com 構築方法はハンズオンを見れば、ほとんど分かります。ところどころハンズオン通りに行かないところがあったの…

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

API Gatewayのチュートリアルの中に「Lambda と DynamoDB を使用した CRUD API の構築」があったのでやってみました。HTTP APIを使用するチュートリアルです。 docs.aws.amazon.com [1] DynamoDBテーブルの作成 [2] Lambda関数の作成 [3] HTTP APIを作成 [4]…

【AWS】LambdaのHTTP API起動を15分で試す

*1 今回は、AWS LambdaをHTTP API経由で起動します。公式のデベロッパーガイドを参考に15分で構築・起動・削除まで行いました。 docs.aws.amazon.com [1] APIの種類 [2] 15分でHTTP APIを試す [2-1] 関数の作成 [2-2] APIの構築 [2-3] APIのテスト [2-4] 削…

【AWS】Lambdaをスケジュール起動する方法

今回は、AWS Lambdaで作成した関数をスケジュール起動する方法に挑戦しました。前回作成したHello, Worldを3分周期で起動させますす。 https://predora005.hatenablog.com/entry/2021/05/02/190000predora005.hatenablog.com [1] トリガーの追加 Lambdaの画…

【AWS】Lambdaの使い方や料金(初めて使うとき気になったこと)

「AWS Lambda」はAWSのサーバーレスコンピューティングサービスです。 定期的に実行する処理や、イベントで起動する処理を作りたいと思い、使ってみることにしました。例えば、1日に1回株価のチャート分析をしたり、Webアプリからの入力があったらデータベー…

【AWS】IAMユーザのパスワードが切れたときの復旧方法

AWS

AWSに久々にログインしようとしたところ「パスワードの有効期限が切れました。管理者に連絡してパスワードの再設定を行ってください。」と表示されてしまいました。 IAMユーザのパスワード有効期限が切れた場合は、rootユーザで復旧します。 rootユーザでコ…

【AWS】CLIからバージョニングされたS3バケットを削除する方法

S3バケットは空にしてからでないと削除できません。それはバージョニングされたバケットでも同様です。 問題は、バージョニングされたオブジェクトを削除しても、実は消えていないことです。DeleteMarkerが追加されるだけで、オブジェクトが完全に消えるわけ…

【AWS】t4gでnumpy, pandas, matplotlibをインストールする方法

AWSのArmベースインスタンスのt4g.micro、2021年3月31日まで無料トライアル中です。無料で使えるやったと思っていたら思わぬところで引っかかりました。 [0] 前提条件 [1] numpyのインストールに失敗する [2] numpyのインストールに時間がかかる [3] pandas…

【AWS】ArmベースのEC2インスタンスt4gとt3のスペック・料金比較

昨年9月からArmベースのt4gインスタンスが利用可能になりました。同じく汎用インスタンスであるt3インスタンスはIntelベースです。 昨年はAppleのM1チップや、WindowsのCPU自社設計など大きな話題がありましたが、いずれもArmベースです。Armはすでにスマホ…

【AWS】Route53でドメインを登録してHTTPS対応のnginxサーバーをCloudFrontとCloudFormationで構築するまで

AWSでHTTPS対応のnginxサーバーを構築するまでの手順をまとめました。 HTTPS対応のサーバーを構築する手順は多々あります。今回は「CertificateManager」でサーバ証明書を発行し「CloudFront」でHTTPS対応する構成にしました。 Route53で独自ドメインの登録…

【機械学習】matplotlibの日本語文字化け対策(Amazon Linux2)

※ 2020/05/20にQrunchで書いた記事を移行しました。 matplotlibの文字化け対策は多くの情報がありますが、Amazon Linux2向けの情報はありませんでした。他のOSと基本的な対策方針は同様です。日本語フォントをインストールし、キャッシュを削除します。 対策…

【AWS】Amazon Linux 2でJupyter Notebookを使えるようにするまで

Amazon Linux 2でJupyter Notebookを使えるようにするまで*1 ※ 2020/02/26にQrunchで書いた記事を移行しました。 Jupyter Notebookは機械学習を実行する環境として有名です。 機械学習には触れてきましたが、Jupyter Notebookには触れてこなかったので使って…

【AWS】Cloud9のEC2環境をCloudFormationで構築する

AWS Cloud9のEC2環境をCloudFormationで構築する*1 ※ 2020/02/12にQrunchで書いた記事を移行しました。 EC2環境をCloudFormationで構築することも出来ます。 EC2環境の構築はマネージメントコンソール経由でも非常に簡単です。 なので、個人で使う分には、Cl…

【AWS】Cloud9でvirtualenvを使う方法

※ 2020/02/11にQrunchで書いた記事を移行しました。 AWS Cloud9でvirtualenvを使う際は、ちょっとした設定の変更が必要です。 AWS Cloud9でvirtualenvを使いたいという需要はあまり無いように思いますが、私は使いたいので設定変更の手順を書きました。 イン…

【AWS】Cloud9で初めてPython3を動かすまでの手順

AWS Cloud9で初めてPython3を動かすまでの手順*1 ※ 2020/02/02にQrunchで書いた記事を移行しました。 何が出来るのか AWS Cloud9を使うメリット AWS Cloud9を使うデメリット 使い方 [1] 作成 [2] 名称と説明 [3] 設定その1 [4] 設定その2 [5] 作成完了 […

【AWS】CloudFormationでHaskellの開発環境構築

※ 2019/02/24にQrunchで書いた記事を移行しました。 AWSのCloudFormationを使って、Haskellの開発環境を構築しました。 きっかけ やったこと 手順 [1] CloudFormationのテンプレートファイル作成 [1-1] 構成 [1-2] cfnヘルパーを使う [1-3] UserDataプロパテ…