AWS
「ImportError: libGL.so.1: cannot open shared object file: No such file or directory」が出たときの対応策です。 環境によって対応策は異なります。紹介するのはAmazon Linux2の対応策です。 環境 Amazon Linux2 Python 3.7 事象発生時の状況 import cv…
pythonのプログラムからS3を操作する手順をまとめました。ファイルのアップロード/ダウンロードなど、基本的な手順を書いています。 [1] 前提条件 [2] 準備 [2-1] boto3のインストール [2-2] EC2にIAMロールを付与する [3] Boto3を使った操作の概略 [4] Boto…
ローカル環境でLambdaをテストするには「AWS SAM」を使います。Lambdaのテスト方法は主には以下の2択です。 本物のLambda関数でテスト ローカル環境でSAMでテスト 本物のLambda関数をテストしたくない場合、ローカル環境でSAMの方を選択することになります。…
AWS公式のハンズオン「サーバーレスのウェブアプリケーションを構築」に習って、簡単なウェブアプリの構築を行いました。 このハンズオンを通して、以下の要素に触れることができます。 CodeCommit Amplify Cognito DynamoDB IAM Lambda API Gateway AWSのハ…
AWS SAMの使い方について、チュートリアルの実行手順を解説しつつ紹介します。紹介する手順は、Amazon Linux2上で試したものです。 SAMはServerless Application Modelの略です。サーバレスと言えば「Lambda」が思い浮かびますが、Lambda含め様々なリソース…
以前、AWS Lambda関数をS3トリガーで起動する方法を確認しました。 https://predora005.hatenablog.com/entry/2021/05/23/190000predora005.hatenablog.com 今回もAWS公式のチュートリアルに沿って、S3トリガーでのLambda関数の使い方を紹介します。チュート…
AWS LambdaでPillowを使おうと思ったら次のエラーが表示されました。 [ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'PIL' Traceback (most recent call last): Lambdaのデフォルト環境にはPillowが入っ…
API Lambdaのチュートリアルの中に「AmazonS3トリガーを使用してLambda関数を呼び出す」があったのでやってみました。 docs.aws.amazon.com [1] S3バケットを作成 [2] Lambda関数を作成 [3] テスト [4] S3バケットにアップロード [5] リソースの削除 終わり…
AWS公式のハンズオン「AWS で基本的なウェブアプリケーションを構築する」を見て、簡単なウェブアプリケーションを構築しました。 aws.amazon.com 構築方法はハンズオンを見れば、ほとんど分かります。ところどころハンズオン通りに行かないところがあったの…
API Gatewayのチュートリアルの中に「Lambda と DynamoDB を使用した CRUD API の構築」があったのでやってみました。HTTP APIを使用するチュートリアルです。 docs.aws.amazon.com [1] DynamoDBテーブルの作成 [2] Lambda関数の作成 [3] HTTP APIを作成 [4]…
*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で作成した関数をスケジュール起動する方法に挑戦しました。前回作成したHello, Worldを3分周期で起動させますす。 https://predora005.hatenablog.com/entry/2021/05/02/190000predora005.hatenablog.com [1] トリガーの追加 Lambdaの画…
「AWS Lambda」はAWSのサーバーレスコンピューティングサービスです。 定期的に実行する処理や、イベントで起動する処理を作りたいと思い、使ってみることにしました。例えば、1日に1回株価のチャート分析をしたり、Webアプリからの入力があったらデータベー…
AWSに久々にログインしようとしたところ「パスワードの有効期限が切れました。管理者に連絡してパスワードの再設定を行ってください。」と表示されてしまいました。 IAMユーザのパスワード有効期限が切れた場合は、rootユーザで復旧します。 rootユーザでコ…
S3バケットは空にしてからでないと削除できません。それはバージョニングされたバケットでも同様です。 問題は、バージョニングされたオブジェクトを削除しても、実は消えていないことです。DeleteMarkerが追加されるだけで、オブジェクトが完全に消えるわけ…
AWSのArmベースインスタンスのt4g.micro、2021年3月31日まで無料トライアル中です。無料で使えるやったと思っていたら思わぬところで引っかかりました。 [0] 前提条件 [1] numpyのインストールに失敗する [2] numpyのインストールに時間がかかる [3] pandas…
昨年9月からArmベースのt4gインスタンスが利用可能になりました。同じく汎用インスタンスであるt3インスタンスはIntelベースです。 昨年はAppleのM1チップや、WindowsのCPU自社設計など大きな話題がありましたが、いずれもArmベースです。Armはすでにスマホ…
AWSでHTTPS対応のnginxサーバーを構築するまでの手順をまとめました。 HTTPS対応のサーバーを構築する手順は多々あります。今回は「CertificateManager」でサーバ証明書を発行し「CloudFront」でHTTPS対応する構成にしました。 Route53で独自ドメインの登録…
※ 2020/05/20にQrunchで書いた記事を移行しました。 matplotlibの文字化け対策は多くの情報がありますが、Amazon Linux2向けの情報はありませんでした。他のOSと基本的な対策方針は同様です。日本語フォントをインストールし、キャッシュを削除します。 対策…
Amazon Linux 2でJupyter Notebookを使えるようにするまで*1 ※ 2020/02/26にQrunchで書いた記事を移行しました。 Jupyter Notebookは機械学習を実行する環境として有名です。 機械学習には触れてきましたが、Jupyter Notebookには触れてこなかったので使って…
AWS Cloud9のEC2環境をCloudFormationで構築する*1 ※ 2020/02/12にQrunchで書いた記事を移行しました。 EC2環境をCloudFormationで構築することも出来ます。 EC2環境の構築はマネージメントコンソール経由でも非常に簡単です。 なので、個人で使う分には、Cl…
※ 2020/02/11にQrunchで書いた記事を移行しました。 AWS Cloud9でvirtualenvを使う際は、ちょっとした設定の変更が必要です。 AWS Cloud9でvirtualenvを使いたいという需要はあまり無いように思いますが、私は使いたいので設定変更の手順を書きました。 イン…
AWS Cloud9で初めてPython3を動かすまでの手順*1 ※ 2020/02/02にQrunchで書いた記事を移行しました。 何が出来るのか AWS Cloud9を使うメリット AWS Cloud9を使うデメリット 使い方 [1] 作成 [2] 名称と説明 [3] 設定その1 [4] 設定その2 [5] 作成完了 […
※ 2019/02/24にQrunchで書いた記事を移行しました。 AWSのCloudFormationを使って、Haskellの開発環境を構築しました。 きっかけ やったこと 手順 [1] CloudFormationのテンプレートファイル作成 [1-1] 構成 [1-2] cfnヘルパーを使う [1-3] UserDataプロパテ…