- 1. CDKを使ってLambdaFunctionとLayerを一気にデプロイする
- 2. AWS Network Firewall でドメインによるホワイトリスト通信制御
- 3. Step FunctionsでJSONPathを使うと楽になった話
- 4. 数百の文章からAWS生成AIで話題を取得してみた(その3)
- 5. SageMaker Notebook でOpenCV を試してみた
- 6. AWS プログラミングノート
- 7. 今日から始めるセキュリティシフトレフト on AWS ③AWS CodeBuild+SASTツールでアプリケーションの脆弱性解析をする
- 8. データエンジニアリングをマスターするための6つのプロジェクト
- 9. LambdaとAPI Gatewayを用いて, S3にpdfファイルをアップロード& BedRock ナレッジベースを同期
- 10. Storage Browser for Amazon S3をさわってみた!
- 11. IAM Identity Center + Entra ID(P1なし)構成でグループを使う方法
- 12. Storage Browser for Amazon S3をためしてみた
- 13. 【AWS】アカウントエイリアスの作り方
- 14. DynamoDBさわってみた(DynamoDB Stream, TTL)
- 15. コメントを頂いたので番外編!
- 16. AWS Amplify Gen2とAmazon Translateを使ってリアルタイム翻訳機能を作ってみた
- 17. Claude ArtifactsのようなStreamlitアプリを作る方法を解説
- 18. [Amazon Web Services]AWS re:Invent 2024参加します!!!!! レポート#0
- 19. AWSスイッチロールを試す
- 20. Redisのnode, shard, clusterとは
CDKを使ってLambdaFunctionとLayerを一気にデプロイする
# 前書き
個人開発や技術検証で、試行錯誤しながらとにかく手を動かしたいとき、デプロイをもっと簡単にしたいと考えています。
Lambdaのランタイムをイメージにする方法もありますが、スクリプトを作成せず、コマンド一発でイメージをビルドし直し、ECRにプッシュするなど、スムーズに処理できる方法がなかなか見つかりません。もし、良い方法があれば教えていただきたいです。現状はFunctionとLayerを分ける形で対応していますが、これはあくまで妥協案です。とはいえ、一応使える状態にはなっています。
# 手順
AWS CDK プロジェクトのセットアップ
“`shell
mkdir my-lambda-project
cd my-lambda-project
cdk init app –language=typescript
“``aws-lambda` と `aws-lambda-python-alpha` ライブラリをインストールします。
“`
npm install aws-cdk-lib @aws-cdk/aws-lambda-python-alpha
“`
AWS Network Firewall でドメインによるホワイトリスト通信制御
## AWS Network Firewall とは
AWS Network Firewall は、インバウンド・アウトバウンドの通信を制御できるクラウド型ファイアウォールです。AWS のフルマネージドサービスであるため、サーバーや仮想アプライアンスの管理が不要になります。
AWS Network Firewall の展開モデルとして、分散型・集約型・複合型の 3 パターンが考えられます。それぞれのモデルについては以下ページを参考にしてください。
https://aws.amazon.com/jp/blogs/news/networking-and-content-delivery-deployment-models-for-aws-network-firewall/
## ユースケース
ホワイトリスト形式のドメインで通信を制御することを考えます。この要件を達成するために自前のプロキシ (Squid) サーバーを運用している組織は多いのではないでしょうか。このユースケースで必要な要素は以下のとおりです。
![architecture1.png](https://qiita
Step FunctionsでJSONPathを使うと楽になった話
## はじめに
愚直にChoieステートでデータのフィルタリングを行なっていたもの、JSONPathに変えたらシンプルで使いやすくなった話## 結論
MapステートとChoiceステートを使ったフィルタリングがJSONPathを使えば不要になった。## どういうことか
下記のようなデータを受け取り、dataが100以上の値のtaskのみ後続処理させたい場合を例とする。
“`JSON
{
“tasks”: [
{
“id”: “task1”,
“data”: 100
},
{
“id”: “task2”,
“data”: 99
},
{
“id”: “task3”,
“data”: 1000
}
]
}
“`### MapとChoiceを使うパターン
今までの私。
下記のように`tasks`をMapで分散処理させ、それぞれに対してChoiceで判断の処理をしていた。
“`JSON
{
“Comment”: “A state machine
数百の文章からAWS生成AIで話題を取得してみた(その3)
# 背景
こちらの記事の続きになります。https://qiita.com/bouru_sumisu/items/ec5e8321dea4b89702a0
# claudeで話題を取得
前回の記事で、(100, 1536)行列を(100, 24)行列へ次元削減して、hdbscanでクラスタリングを行いました。今回は、クラスタリング結果を踏まえて、クラスター毎に文章をclaudeへ投げて、クラスター毎の話題を取得してみます。まずは、claudeを使うための変数を設定します。今回はclaude v3.5 sonnetを使います。
“`python:hogehoge.ipynb
MODELID_CLAUDE_v3_5 = “anthropic.claude-3-5-sonnet-20240620-v1:0”
“`claudeを呼び出す関数になります。
コードはこちらを参考にしました。https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/bedrock-runtime_example_bedro
SageMaker Notebook でOpenCV を試してみた
# 背景・目的
今までテキスト処理に関する経験はありましたが、画像や動画の加工等には関わってきませんでした。
今回は、画像や動画の加工処理を行うための手法について、特徴を整理しハンズオンをします。ネットで調べたところ、Pythonで画像や動画の加工するには、OpenCVというライブラリが多く使われていることがわかりました。そのため、今回はOpenCVを試してみます。
# まとめ
下記に特徴を整理します。
|特徴|説明|
|:–|:–|
|OpenCVとは|・Open Source Computer Vision Libraryの略
・コンピュータービジョンとマシンラーニングソフトウェアのライブラリ
・コンピュータービジョンアプリケーションに共通のインフラを提供
・Apache 2.0 ライセンス|
|OpenCVの特徴|・2500を超える最適化されたアルゴリズムがある
・古典的なものと最先端のコンピュータービジョン、機械学習アルゴリズムの両方の包括的なセットが含まれる|
|OpenCVでできること|・顔の検出と認識<
AWS プログラミングノート
Lambda
S3
CloudWatch
CloudFormation
今日から始めるセキュリティシフトレフト on AWS ③AWS CodeBuild+SASTツールでアプリケーションの脆弱性解析をする
# はじめに
セキュリティシフトレフト記事第三弾。前回は、AWS CodeBuildのバッチビルドでDockerfileとコンテナイメージの脆弱性検査についての実施方法をまとめた。
https://qiita.com/neruneruo/items/83ed70aa286ec511f900
今回は、並行して実施するアプリケーションの脆弱性解析について考察する。
![ビルドグラフ2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111314/a8deb0e3-2207-efb9-21ca-250f27c17132.png)
# SASTツールについて
SAST(Static Application Security Testing)とは、名前の通りアプリケーションのセキュリティ検査を静的解析で実施することを指す。https://circleci.com/ja/blog/sast-vs-dast-when-to-use-them/
基本的にそのアプリケーションの開発言語に従ったテストツール
データエンジニアリングをマスターするための6つのプロジェクト
# はじめに
データエンジニアリングは、データがビジネスにおいて価値を生むための基盤を提供する非常に重要な分野です。
しかし、このスキルを効果的に習得するためには、実際に手を動かして学ぶことが不可欠です。
この記事では、さまざまなデータエンジニアリングスキルに焦点を当てた6つのプロジェクトを紹介します。これらのプロジェクトは、データパイプラインの構築からデータの可視化まで、幅広いスキルを網羅しており、初心者から中級者まで役立つ内容です。# 1. データパイプラインの開発
データエンジニアリングの核となるスキルは、データパイプラインを設計・構築することです。
パイプラインは、さまざまなデータソースからデータを抽出し、変換して、最終的にビジネスユーザーが利用できる形にするプロセスです。
このプロジェクトを通じて、ETL(Extract, Transform, Load)の全体像を理解し、データの流れを支える技術を習得します。**プロジェクト例**
リンク: [Reddit Data Pipeline Engineering | AWS End to End Data Enginee
LambdaとAPI Gatewayを用いて, S3にpdfファイルをアップロード& BedRock ナレッジベースを同期
LambdとAPI Gatewayを用いて、S3にファイルをアップロードし、Amazon BedRockのナレッジベースの同期を行ったので、備忘録としてまとめます。クライアントがファイルをアップロードして、それを基にRAGできるようになります。
# ナレッジベースの作成
1. S3 > バケットを作成1. AmazonBedRock > ナレッジベース > ナレッジベースを作成
1. Choose data sourceでAmazon S3を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879374/eaf70bc9-3ec9-e463-6e2f-1e0ae559b5ca.png)
1. 「s3を参照」から先ほど作成したS3をデータソースとして選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879374/efd4da91-7f34-3af7-352f-4203
Storage Browser for Amazon S3をさわってみた!
# はじめに
2024/9/5にAWSのWhat’s Newに`Announcing Storage Browser for Amazon S3 for your web applications (alpha release)`という記事がアナウンスされました。https://aws.amazon.com/jp/about-aws/whats-new/2024/09/storage-browser-amazon-s3-alpha-release/
Storage Browserとは、Amazon S3のバケットにUPされたファイル・ディレクトリを任意のWebアプリケーションから閲覧・作成・更新できる機能です。(ファイル削除はできなさそう)
![スクリーンショット 2024-09-07 20.32.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159675/153da825-97df-5322-6126-af5087ff359c.png)
※後述しますが、CSSが一部おかしいようでUIが少し
IAM Identity Center + Entra ID(P1なし)構成でグループを使う方法
AWS IAM Identity Center(以下IdC)をEntra IDと組み合わせてSCIM連携を行いたいが、P1ライセンスがないために、グループやグループメンバーシップ(どのユーザーがどのグループに所属しているかの情報)の同期ができないケースがある。
そんな時、暫定措置となる方法について整理しておく。## 背景
Entra ID(旧Azure AD)は無料で使用できるが、機能制約があり、解除するには[P1やP2といったライセンスの購入](https://www.microsoft.com/ja-jp/security/business/microsoft-entra-pricing)が必要になる。|やりたいこと|無償版|有償版(P1以上)|
|:—|:—|:—|
|IdCのIdPとして設定し、認証に使用する|○|○|
|SCIM連携によってユーザーや属性をIdCに同期する|○|○|
|SCIM連携によってグループやグループメンバーシップをIdCに同期する|×|○|※他の機能は省略
検証環境でIAM Identity CenterやQuickSight
Storage Browser for Amazon S3をためしてみた
## はじめに
2024年9月5日に「Storage Browser for Amazon S3 for your web applications」がアルファリリースされた。https://aws.amazon.com/jp/about-aws/whats-new/2024/09/storage-browser-amazon-s3-alpha-release/
S3は推しのサービスなので記事を見るとAmplifyで構築できそうだったので、さっそくためしてみた。
## Storage Browser for Amazon S3とは
WebアプリにS3でのファイルブラウズ機能を追加し、データ参照アップロードやダウンロード機能を提供するもの。Amplify UIライブラリの一部として提供することを予定しているよう。
https://github.com/aws-amplify/amplify-ui/issues/5731
## 導入方法
Amplify Gen2で構築する方法を紹介する。
:::note alert
2024年9月7日 現在はアルファリリースなので利用
【AWS】アカウントエイリアスの作り方
rootユーザでログインして、IAMダッシュボードから作成画面にいける
XXXX@YYYYYY
という表示はXXXXはIAMユーザID
YYYYはエイリアス名(アカウントID)https://qiita.com/uskayyyyy/items/9ff6a75f73bd634f55cf
DynamoDBさわってみた(DynamoDB Stream, TTL)
# DynamoDB Streamの有効化
## 設定状況の確認
設定状況はマネコンの 一般的な情報 > 追加情報から確認できます。![cap01.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3654730/5c8b9def-5eec-5fca-74fe-998e3c165a45.png)
## 有効化
「エクスポートおよびストリーム」タブから設定します。![cap02.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3654730/0a8bb80f-c2ea-ddf2-89ff-aa5c3d52c63a.png)
streamにpushする情報を選択できます。
トリガーされるlambdaがeventとして処理できる情報になります。
今回は「新旧イメージ」を選択します。![cap03.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co
コメントを頂いたので番外編!
# ご了承
Qiitaはブログの補足記事という位置づけになりますのでご了承ください。
なお、今後も上げる記事は基本的には、ブログの補足記事という形の位置づけで投稿を今はしていく予定です。
(何かあれば、はてなからQiitaへ移行するかも知れませんが)# 経緯
今回Qiitaに投稿するのは、ブログ記事の番外編という事になります。
ブログ記事を上げていつも通りリンクを[Xの方へ投稿した](https://x.com/yuri_snowwhite/status/1832289901473362011)ところ[引用でコメント](https://x.com/cryptomamiya/status/1832295180181090486)もらいました。何をしていたかは、元のブログ記事はたどってくださればと思います。
# やること
ブログに記載している通り、インスタンスのスループットを測ります。
インスタンスは、今回、AWSアカウントで少し課金しても平気な状態だったAWSアカウントを利用していきます。インスタンスペックは、`t3.2xlarge` と `c7a.large` にて検
AWS Amplify Gen2とAmazon Translateを使ってリアルタイム翻訳機能を作ってみた
# はじめに
こんにちは、ほっそーです。
この度、ANGEL Calendarのアドベントカレンダー企画に参加しております!
今日は、7日目の記事になります!下記のOrganizationアカウントから、記事一覧をご覧になってください!https://qiita.com/organizations/2024-angel-dojo
# 作成した成果物はこちらです!
Claude ArtifactsのようなStreamlitアプリを作る方法を解説
ClaudeのArtifactsが正式リリースしました。
https://www.anthropic.com/news/artifacts
とても便利に活用しています。たとえば、HTMLのモックを簡単に作ることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/be0abc79-4fe4-3d3e-ad6b-8e0c25fe9c6e.png)
利用者として便利なのはもちろんですが、独自で同じようなものが作れないか考えてみました。
StreamlitとBedrockを使ってそれっぽいものができましたので、作り方をご紹介します。
:::note
生成AIはBedrockのClaude 3 Haikuを使用します。
:::## HTMLを生成する方法
### 方法1)普通にプロンプトで指定してみる
プロンプトに「HTMLを生成して」を指定すると以下のような結果となります。
“`python
client = boto3.client(“bedroc
[Amazon Web Services]AWS re:Invent 2024参加します!!!!! レポート#0
AWSに出会ってから約1年、、、**AWS re:Invent 2024**に参加できることになりました!!!!!
参加にあたっての事前調査を兼ね、AWS re:Invent 2024をご紹介させていただきます!## AWS re:Invent 2024 とは
AWS re:Invent 2024とは、一言でいうと、
楽しみながら学べてつながれる、アマゾン ウェブ サービス(AWS)主催のラーニングカンファレンスです。開催地:**アメリカ ネバダ州 ラスベガス**
開催日程:**2024年12月2日~2024年12月6日**>AWS re:Invent は、AWS が世界中のクラウド コンピューティング コミュニティ向けに主催する学習カンファレンスです。対面式のイベントでは、基調講演、トレーニングと認定資格の機会、2,000 を超える技術セッションへのアクセス、Expo、営業時間外のイベントなど、さまざまなイベントが開催されます。
日程は2024 年 12 月 2 日から 6 日まで、ネバダ州ラスベガスの複数の会場で開催されます。
https://reinvent.awse
AWSスイッチロールを試す
## はじめに
スイッチロールを試します。
おそらくスイッチロールは別のアカウントにスイッチすることが多いと思いますが、今回は同じアカウントでロールだけスイッチします。別のアカウント作るのは手間なので今回は同じアカウントで仕組みだけを理解します。業務では複数のアカウントを使ってると思いますが、個人の検証なのでそこまではしません
別のアカウントにスイッチするときは、さらに設定が必要かもしれませんユースケースでは、通常は開発環境で作業している人たちを、商用環境に切り替えるために行うのだと思います。商用環境は別のAWSアカウントなのだと思います
## 参考にした手順
– [AWS IAMでスイッチロールを使う手順](https://baresupport.jp/blog/2022/05/12/113/)
– [IAMのスイッチロールについての初心者向けガイド](https://dev.classmethod.jp/articles/iam-switchrole-for-beginner/)## スイッチロール用のロールを作成する
ロール名:`switchRoleAdmin`
`
Redisのnode, shard, clusterとは
## 概観
![ElastiCache-NodeGroups.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/690075/e847ea46-025a-91b1-d930-09000944fd0f.png)
## nodeとは
– 1つのDB
– primary node : 読み・書きができる
– replica node : 読みだけできる## shardとは
– primary node ( + replica node)
– `node group`とも呼ばれる## clusterとは
– shard * n## 参考文献
– [Redis OSS nodes and shards](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.NodeGroups.html)