- 1. AWS LambdaにPythonサードパーティ製ライブラリを入れる
- 2. mp3を文字起こししてslack通知できる環境を3分で用意する
- 3. ハロウィンを楽しめるアプリを作った
- 4. AWSで WordPressを設置する際にRDSに接続できなくてはまった時のメモ
- 5. Review website
- 6. AWS S3で簡単ウェブサイト作成!
- 7. DatabricksにおけるAWS PrivateLinkのバックエンド接続の設定(実践編)
- 8. Lambda(SAM)からAWS SQS(LocalStack) へメッセージ送信/受信を行う方法 メモ
- 9. EC2でRedmine4.2を立てる
- 10. 異なるリージョンでサービスを連携させようとしてAccessDeniedExceptionを発生させた話
- 11. AWSでのセルフインストールのKubernetesクラスター作成を自動化する
- 12. 【AWS IAMとは?】初心者にもわかりやすく解説
- 13. 【初心者】アップロードサイズ上限の変更方法|AWSのlightsailのWordPressで
- 14. AWS IoTのポリシー名から紐づく証明書を取得する
- 15. RedshiftのUNLOADでPARTITION BYを行う際にファイルのプレフィックスが付けられない場合の回避策
- 16. [Github_Actions][error]User: arn:aws:iam:::user/is not authorized to performの解決例
- 17. パーミッション事故でSSHログインできなくなった時の対処(AWS EC2)
- 18. EBS ボリュームとパフォーマンス再入門
- 19. AWS Certified Solutions Architect – Professional を取得した
- 20. AWS Cloud9上でJupyter labを開く方法
AWS LambdaにPythonサードパーティ製ライブラリを入れる
# はじめに
AWS Lambda はサーバレスでイベント駆動型のコンピューティングサービスであり、非常に手軽に使えるサービスとなっている。Amazon S3 のような AWS の他サービスから Lambda をトリガーすることもでき、使い勝手が良いのだがサードパーティ製ライブラリを扱う際にはひと手間かかってしまう。そこで本記事では、Python のサードパーティ製ライブラリを Lambda で扱うための方法を紹介する。[How to use external libraries in Lambda Function](https://wakeupcoders.medium.com/how-to-use-external-libraries-in-lambda-function-df1cee4a7c3a)、[Managing external libraries in AWS lambda functions](https://dev.to/alim1496/managing-external-libraries-in-aws-lambda-functions-1g0m) を参考にし
mp3を文字起こししてslack通知できる環境を3分で用意する
概要
—
お手元のパソコンにAWS CLIとslackのwebhookがあれば、
3分程度でmp3の文字起こし環境が用意できるのでご紹介。作った物
—好きなmp3を用意して、S3にupload、
するとAmazon Transcribeで文字に起こした物がslackに飛んでくる。というもの。![2_zu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2240041/be6fbc1d-e44d-dfb0-7321-f6cad86a9999.png)
背景
—私は絶望的に滑舌が悪く、最近社長に「聞き取りずらい」とよく言われます。
SoundOnlyで会話する機会が増えた昨今、致命的です。なのでここ一ヶ月間「あ・え・い・う・え・お・あ・お」と、
鏡の前で発声練習を朝晩2回、歯磨きしながらやってます。いつナレーションのオファーが来てもおかしくない状態に鍛え上げられ、
鏡がベチャベチャになった私は、社長から先日驚きのコメントをもらいました。
「聞き取りずらい」
そんなはずない
ハロウィンを楽しめるアプリを作った
こんにちは、Yuiです。
先日はハロウィンでしたが、この自粛モードではなかなか外で仮装をして楽しむこともできないので、**オンラインでハロウィンを楽しめるアプリ**を[とみー](https://twitter.com/tommy19970714)さんと作りました!
今回はそのアプリについて書きます。
なかなかオフラインでハロウィンを楽しめない中、オンラインでハロウィンを楽しめるサービスを作りました!自由自在に顔を変換させて遊んでみてください!面白いと思ったら拡散して皆に知らせてくれると嬉しいです!https://t.co/LwxQx2EwmX pic.twitter.com/WL8ZFG8ogf
— Yui ? Yuiko Ito (@yui_acti
AWSで WordPressを設置する際にRDSに接続できなくてはまった時のメモ
##RDSって何?
Amazon Relational Database Servicesの略。##RDSって作らないといけないの?
EC2のなかに直接作ることもできるけど、その場合スケーラブルな調整ができなくなるのでRDSあった方がいいらしい。##RDSの設定値がたくさんありすぎて選べないのだが?
少なくとも、ストレージに関しては最小単位で選択しておけば後で上げることができる。
ストレージに関しても料金が変わってくるのでどれを選択すればいいか迷ったときに
参考にしたサイト:
https://qiita.com/jyotti/items/d47b52fa13d12476406fDBのインスタンスサイズは、後で大きくしたり小さくしたり変更できる。
##プライベートサブネット、パブリックサブネット
公開するWebサーバはパブリックサブネットに配置し、公開対象としないプライベートサブネットにDBサーバを置く。##Webサーバ(EC2)からRDSに接続する時にうまくいかなかった
セキュリティグループの設定を見直したらうまくいった。
RDSに接続可能なのは事前に作っておいたセキ
Review website
Please review my website: https://shareprogramming.net/
AWS S3で簡単ウェブサイト作成!
AWSのS3といえばストレージサービスですが、実はウェブサイトをホストすることもできます。
EC2インスタンス等のVMを用意したり、webサーバをインストールしたり、そういった設定は一切不要なので、非常に簡単です。
さっそくやってみましょう!# 1. S3 バスケットを作成する
まずは、S3 バスケットを作成しましょう。バスケットとはフォルダのようなものです。
サービス検索窓からS3と入力し、S3をクリックします。![0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884434/48301362-836d-3917-ca43-c1b06d56f3b2.png)
「バケットを作成」をクリックします。
![32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1884434/0ea3d259-ed6a-f5fe-0f02-270de0a3c8e0.png)
バスケット名を入力します。この名前は基本的にグローバ
DatabricksにおけるAWS PrivateLinkのバックエンド接続の設定(実践編)
本書は、[DatabricksにおけるAWS PrivateLinkの有効化](https://qiita.com/taka_yayoi/items/c6bdbb6452f6a0895961)に記載されているバックエンド接続の設定手順をまとめたものとなっています。
# 全体構成
本書でDatabricksをセットアップするVPCはインターネットに接続されていないクローズドネットワーク環境であり、外部との通信は全てエンドポイント経由で構成する環境を想定しております。本書で示しているものはあくまで一例です。お客様の要件に応じて構成を変更してください。
AWS PrivateLinkを用いることで、公衆ネットワークを経由することなしに、AWS VPCやオンプレミスのネットワークからAWSサービスへのプライベート接続を実現することができます。E2バージョンプラットフォーム上のDatabricksワークスペースでは、以下の2つのタイプのPrivateLink接続をサポートしています。
– **フロントエンド**(ユーザーからワークスペースへの接続): フロントエンドPrivateLink
Lambda(SAM)からAWS SQS(LocalStack) へメッセージ送信/受信を行う方法 メモ
* LocalStack上で動くAWS SQSのキューに対してAWS SAM CLIで動くLambdaからメッセージ送受信を行う方法をメモする。
## 構成
![sam-sqs.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/586535/862d727c-e543-8b0d-7c15-193655e62a39.png)
## LocalStack準備
* `docker-compose.yml`
“`yaml
version: “3.8”
networks:
container-link:
name: docker.internal
services:
localstack:
container_name: “${LOCALSTACK_DOCKER_NAME-localstack_main}”
image: localstack/localstack
ports:
– “127.0.0.1:53
EC2でRedmine4.2を立てる
## EC2を使った経緯
ちゃんとしたバックアップが取りたくてさくらのVPSからの移行先として選んだ。
AWSBackupで全自動バックアップだ!バージョンは最新の4.2を使う。
2要素認証もあるしな。もともとは記事化する気はなかったが色々収穫があったので記事化。
ちなみに、データを持ち出すのが面倒なので、移行じゃなくて新規で立てた。## インスタンスタイプについて
以前さくらのVPSで立てた時はアイドル時で400MBくらいのメモリ消費量だったので`t2.nano`で良いかなと思ったが、500MBだと途中のビルド作業が無理だったので、`t2.micro`にした。
`t2.micro`ならサインアップしてから1年間無料だし、とりあえずこれで。EC2側の手順は探せばたくさんあると思うので割愛。
固定IPとか色々やってコマンドラインで操作できるところまで持っていく。## 手順
Ubuntu大好きマンなのでUbuntuで立てる。
下記ページを参考にさせていただいた。https://blog.redmine.jp/articles/4_2/install/ubuntu
異なるリージョンでサービスを連携させようとしてAccessDeniedExceptionを発生させた話
今回は、公式サイトのチュートリアルに記載されていた簡単なWebアプリケーションを作成しようとした際にサービス間の連携がうまくできずエラーになってしまったので原因と解決方法をこちらに備忘メモとして記載したいと思います。
[こちら](https://aws.amazon.com/jp/getting-started/hands-on/build-web-app-s3-lambda-api-gateway-dynamodb/)のチュートリアルに則って作成しました。
手順は以下のモジュール1~5の流れとなります。
#### モジュール 1: ウェブアプリケーションを作成する
・Amplify コンソールでウェブアプリを作成
・ウェブアプリをテストする
#### モジュール 2: サーバーレス関数を構築する
・PythonでAWS コンソールを使用して Lambda 関数を一から作成する
・AWS コンソールで (JSON) イベントを作成して関数をテストする
#### モジュール 3: サーバーレス関数をウェブアプリケーションにリンクする
・API Gateway を使用して新しい API
AWSでのセルフインストールのKubernetesクラスター作成を自動化する
先日書いた、AWSにセルフインストールでKubernetesクラスターを建てる件、案外消しては思い出してまた作ってというのを繰り返しているので自動化してみようかと。aws cliの勉強も兼ねて。CloudFormationを使うのか?いやいや、PowerShellで。
結局スクリプト作成に8時間ぐらいかかり、手動でやっても30分ぐらいで出来るものに手間かけすぎであり、後悔の気持ちが大きい。自動化なんて大抵そのようなものだ。# 前提
Windows 10のPowershellを使う。
aws cliがWindows 10に導入済みで、API Keyとか、aws configure設定済みな事。以下のような感じで。“`
> aws configure
AWS Access Key ID [****************6EMR]:
AWS Secret Access Key [****************BTr/]:
Default region name [ap-northeast-1]:
Default output format [json]:
“`また、試した
【AWS IAMとは?】初心者にもわかりやすく解説
# はじめに
この記事ではAWSのIAMについて説明していきます。
初心者にとって非常にややこしいAWS IAMについて図解を交えつつ説明していきます。# IAMとは?
そもそもIAMとは何でしょうか?
IAMとはAWSのサービスの「認証」と「認可」の設定を行うことができるサービスになります。“`
認証: 相手が誰(何)なのか確認すること
認可: リソースへのアクセス権限を与えること
“`IAMを理解することはセキュリティ事故を防ぐ上で非常に大事になります。
# IAMのきほん
IAMでは、以下の機能が用意されています。“`
1. IAMユーザー
2. IAMグループ
3. アクセスキー
4. IAMポリシー
5. IAMロール
“`こちらの機能をそれぞれ説明していきます。
## IAMユーザー
◼︎ 概要図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286094/cd5fea13-1a02-fec0-8fa5-177bf74ab5f3.png)A
【初心者】アップロードサイズ上限の変更方法|AWSのlightsailのWordPressで
AWSのlightsailのWordPressのメディアへ大きめのファイル(動画とか)をアップロードしようとした際に、「このサイトのアップロードサイズ上限を超えています。」というエラーが出た場合の対処方法についてです。
「wordpress アップロードサイズ上限」とかでググると、`.htaccess`に追記したりやら、`php.ini`を変更したりやら、色々と方法が出てきます。
では、**AWSのlightsailのWordPressの場合**は、どうすればよいか…
# 答え
[How can I increase the PHP upload size limit in my Lightsail Bitnami WordPress instance?(Lightsail Bitnami WordPress インスタンスで PHP のアップロードサイズ制限を増やすにはどうしたらいいですか? )](https://aws.amazon.com/jp/premiumsupport/knowledge-center/lightsail-bitnami-wordpress-upl
AWS IoTのポリシー名から紐づく証明書を取得する
# 何がしたいか
AWS IoTのPolicy名から紐づく証明書がわかるかの調査です。
これができるなら、MACアドレスやdeviceのIDなどデバイス固有の値をPolicy名にすることで、DBなどにdeviceと証明書の紐付き情報を持たずに、以下項目ができると考えています。
* デバイス再登録時に証明書を再作成する
* ポリシーはそのままで、証明書を削除&作成する
* デバイス削除時にポリシーと証明書を削除する
* 証明書もポリシーも削除する## Policyが紐づいている証明書のArnを表示
“`bash
aws iot list-targets-for-policy –policy-name <ポリシー名>
“`取得できる情報
* targets
* 証明書のarnのリスト# 結論
ポリシー名から証明書を引くことはできる。
# おまけ
## Policyの内容を名前から表示
“`bash
aws iot get-policy –policy-name <ポリシー名>
“`取得できる情報
* poli
RedshiftのUNLOADでPARTITION BYを行う際にファイルのプレフィックスが付けられない場合の回避策
# やりたいこと
– yyyymmごとに溜まっていくデータを対象とし
– Athenaで扱うためのParquetデータを作成したい(AthenaのCTAS以外で)
– とあるカラムのデータから分散させた partition_number でパーティションを分けたい
– でもyyyymmではパーティション切りたくない
– RedshiftのUNLOADの機能「PARTITION BY」を利用したい# やってみた
まずは1か月分のyyyymmで試します。“`unload1.sql
unload
(‘select column1, column2, column3,partition_number from tablename where yyyymm =\’202101\’ ‘)
to ‘UNLOAD-TO’ CREDENTIALS ‘aws_iam_role=MYROLE’
FORMAT AS PARQUET
PARTITION BY (partition_number)
PARALLEL ON allowoverwrite;
“`PARTITION BYによ
[Github_Actions][error]User: arn:aws:iam:::user/is not authorized to performの解決例
## エラーの様子
下記のように題名のエラーを吐いた。
![スクリーンショット 2021-11-01 7.31.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/555157/e639dc4e-dd7a-ac26-059e-530871785157.png)## 原因
github用のiam_roleのaccess_key_id,secret_key_idを通常のawsアカウントのもので環境変数に登録してしまったから。(画像では***になっている部分)## 解決法
下記コマンドで該当のiam_roleのaccess_key_id,secret_key_idを確認する→それを環境変数に登録する
“`
% aws iam get-account-authorization-details
“`access_keyがなければ下記コマンドで生成する。
“`
% aws iam create-access-key –user-name example-prod-foobar-gith
パーミッション事故でSSHログインできなくなった時の対処(AWS EC2)
WordPressでサイト作ったけど、SSH接続できなくなりました!
っていうヘルプがきたので対処してみました。historyに残ってた最後のコマンド***(絶対うたないでね)***
“`
sudo chown -R ec2-user /
“`恐怖ですね…数年に一度は見るLinux事故です。
以下、私が対処した流れです。
あくまで***私が対処した流れ***で、ベストな手順ではないので注意してください。
実施の前にはデグレを防ぐため、***スナップショット***を取得しておきましょう。###①全体的なパーミッションの変更(実際に対処するときは項目4までで良いかも?)
不幸中の幸いか、EBSは***デタッチ/アタッチ***ができるので復旧の余地が大いにあります。***1、EC2停止→EC2→ボリューム→該当のボリュームを選択→アクション→デタッチ***
***2、アタッチ→復旧用のインスタンス(停止済)を選択***
復旧用インスタンスを用意します。
復旧用インスタンスは同じAZであること。
この時/dev/以下はデフォルトでOK。***3、復旧用インスタ
EBS ボリュームとパフォーマンス再入門
## EBS ボリュームタイプの選択
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-volume-types.html### EBS ボリュームの種類
Amazon EBS では複数のボリュームタイプが提供されており、パフォーマンス特性と料金が異なります。
* 汎用 SSD (gp2, gp3): その名の通りほとんどのワークロードに適しています
* Provisioned IOPS SSD (io1, io2, io2Block Express): ミッションクリティカルで高い I/O 性能が求められるワークロードに適していますそれぞれのボリュームタイプの最大性能が決まっており、このカタログ値も判断基準の一つです。
詳細は後述しますが、すべてのボリュームで常に最大パフォーマンスが得られるわけではないことに注意ください。| ボリュームタイプ | gp2 | gp3 | io1 | io2
AWS Certified Solutions Architect – Professional を取得した
# 前回のお話
https://qiita.com/morio1101/items/078351c7d013e8ecdaa6# はじめに
本記事は、将来再認定を受けるときの備忘録でもあります
本記事を見る時点で大体AWS認定試験のことや、Solutions Architect – Professional のことは大体理解されている前提で記事をまとめたいと思います# 試験を受ける前の私のスペック
* AWS を使った業務経験は最低限はある
* EC2 関連がメインであり、その他機能についてはほぼ知らないに等しい状態
* AWS認定試験は以下を取得
* アソシエイト資格3種
* スペシャリティ 試験3種
* データアナリティクス
* セキュリティ
* ネットワーク
* データベース# 学習教材
* AWS 認定ソリューションアーキテクト – プロフェッショナル 試験特性から導き出した演習問題と詳細解説
* AWS WEB 問題集で学習しよう※ 今回、模擬試験はやってません
# 学習期間
10/1 – 10
AWS Cloud9上でJupyter labを開く方法
今回は、AWSの統合開発環境(IDE)Cloud9上でデータサイエンスをする上で開発効率が一気に上がるIDEのJupyter Labを立ち上げる方法を紹介します。
#この記事の流れ
① Cloud9にJupyterをインストール
② Jupyter labを立ち上げる
③ Jupyter labに入る##①Cloud9にJupyterをインストール
今回使うCloud9はAmazon Linux2、Pythonはdefaultのversion 3.7.10をを使っています。
それでは、Cloud9上のTerminalでJupyter labをインストールしましょう。“`pip install jupyterlab
“`##②Jupyter labを立ち上げる
次にJupyter Labを立ち上げます。ここで、ローカル環境でよくやる“`jupyter lab“`
というコマンドを書けばすぐに立ち上がってWebブラウザを開いてくれましたが、Cloud9ではそうなりません。
またJupyter Labのデフォルトポート番号は8888ですが、Cloud9上で実行して