AWS関連のことを調べてみた

AWS関連のことを調べてみた

AWS Glue入門(2章 Glueジョブの種類とリソースについて)

前回の記事では、データ基盤とAWS Glueの概要について説明しました。

https://qiita.com/Mikoto_Hashimoto/private/35b2de805af855b17b6d

今回はAWS Glueが提供する主要な機能の1つであるGlueジョブについてより詳しく説明したいと思います。

# Glueジョブの概要
Glueジョブは、Pythonでプログラムを組むことでサーバレスでETL処理を実装できる機能です。
Lambdaと似たような機能ですが、ETLに特化したビルドイン機能やデータ処理に適したリソースの提供もしてくれる、データ処理に特化した機能になります。
時間ベースのスケジュールやイベントをトリガーにしてジョブを実行することも可能です。

# 4つのタイプのGlueジョブ
Glueジョブには以下4つのタイプの実行環境が用意されています。

・Spark
・Spark Streaming
・Ray
・Python Shell

## Spark
PySparkを軸としたSparkシステム上で処理を行うジョブです。
PySparkおよびその拡張版であるgl

元記事を表示

AWS Glue入門(1章 データ基盤とGlueの概要)

# はじめに
デジタル化が進む近年、企業は膨大な量と種類のデータを蓄積し分析することが可能になりました。その恩恵もありデータドリブン経営(データに基づいた経営)という経営手法を多くの企業は取り入れるようになりました。
データに基づいた客観的な判断をすることで、企業や経営者は多くのメリットを手に入れることができます。

蓄積されたデータを活用するためにはデータ基盤(データ活用基盤)が必要になります。データ基盤は一度構築すればそれで終わりではありません。企業活動の中で日々データの量や種類が増えていくため、性能の最適化や要件にあった設計やツールの導入などを常に検討していく必要があります。

本記事ではAWS上でデータ基盤を構築する上で重要な機能を提供するAWS Glueというサービスについていくつかの記事にわたって紹介します。

少しでもGlue導入のヒントになれば幸いです。

# データ基盤とは
データ基盤とは、企業や組織がデータを収集・管理・分析するためのシステム群を意味します。

データ基盤には以下の4つの役割があります。

・データの収集
・データの蓄積
・データの加工
・データの

元記事を表示

Amazon Comprehendを活用した自然言語解析

# はじめに
データ分析技術を学習する中で、自然言語解析(NLP)がさまざまな分野や現場で幅広く活用されていることを知りました。
顧客のフィードバック分析、ソーシャルメディアのトレンド調査、カスタマーサポートの自動化など、自然言語解析が持つ可能性は広い分野で活用され、業務効率化や意思決定の支援に大きく寄与しています。
AWSの数あるサービスの中でも自然言語処理で使用されているサービスがAmazon Comprehendです。
これは、AWSが提供する自然言語処理サービスで、キーフレーズ抽出や感情分析、エンティティ認識など、多様な解析機能を備えています。
今回の記事では、このAmazon Comprehendを用いて、基本的な特徴や使い方の理解を深めたいと思います。

# Amazon Comprehendとは
Amazon Comprehendは、AWSが提供するフルマネージドの自然言語処理(NLP)サービスです。
このサービスは、テキストデータから有益な情報を自動的に抽出し、顧客対応の改善やコンテンツの分類など、様々な場面で活用できます。

以下に、主要な機能とその料金体系について詳

元記事を表示

AWS ECS vs. EKS: 技術的な観点からの詳細比較

## はじめに
AWS ECSとEKSは、どちらもコンテナ化されたアプリケーションをデプロイするためのサービスですが、機能とアプローチにおいて明確な違いがあります。10年以上AWSを扱ってきた経験に基づき、両者のメリットとデメリットを技術的な観点から詳しく解説します。

### AWS ECS (Elastic Container Service)

**メリット**

* **容易な導入と運用:** ECSは比較的シンプルで、Dockerなどのコンテナオーケストレーションツールよりも簡単に導入できます。AWSマネージメントコンソールから直接操作できるため、複雑な設定やコマンドライン操作は不要です。
* **スケーラビリティと可用性:** ECSはAWSのインフラストラクチャ上に構築されており、高いスケーラビリティと可用性を提供します。自動スケーリングやロードバランシング機能により、トラフィックの変化に柔軟に対応できます。
* **コスト効率:** ECSはサーバーレスなコンテナオーケストレーションサービスなので、サーバー管理やメンテナンスにかかるコストを削減できます。AWS Far

元記事を表示

BedrockのナレッジベースでS3同期処理の自動化

一気に大量のデータを同期したため、2日間位同期処理が終わらずCohere Embed Modelの利用料が$30位行ってしまいました:fearful:

# 手順

下記同期の箇所です。

![detasorce.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/2b331fe6-9e57-06bf-ef41-8f93433dba6f.png)

①Lambda用のIAMロールに`bedrock:StartIngestionJob`を追加
②Lambdaを作成

“`python
import boto3

def lambda_handler(event, context):
client = boto3.client(‘bedrock-agent’)
response = client.start_ingestion_job(
knowledgeBaseId=’ナレッジベースID’,
dataSourceId=’データソースID’

元記事を表示

LocalStackにAWS SAMでデプロイしたLambdaにAndroidからアクセスしてみた

## はじめに

– AWS SAM CLI for LocalStack を使ってアプリをLocalStackにデプロイできる
– Dockerでhttpdを起動した端末とスマホが同じネットワークにいれば、スマホのブラウザからWebページを閲覧できる

…ということから、「Dockerで動いているLocalStackにデプロイしたLambda関数へ、同じネットワークのAndroidアプリからアクセスできるのでは?」などと思いつきました。試してみたところ、一応できたのでここに残しておきます
AWSとスマホアプリを連携させるケースを、不具合の混入や費用などの心配なくローカルで好き勝手に試したい、という方の参考になれば幸いです

ちなみに当方はAndroid専門なので、iOSについては言及しておりません。申し訳ありませんが、ご了承ください

### 追記

私のGitHubに以下の3点を含むレポジトリを共有しております。よければご参考ください

– LocalStackコンテナを起動するための docker-compose.yaml
– 簡単なSAMプロジェクト
– Lambda関数を呼び

元記事を表示

EC2でパブリック IPv4 アドレスをつけ忘れた対処方法

### EC2でパブリック IPv4 アドレスをつけ忘れた対処方法
EC2作成時にパブリック IPv4 アドレスをつけ忘れましたが、後から設定できることが出来るので備忘として残します。

### 後からパブリック IPv4 アドレスを付与する方法

1.該当EC2を選択
2.アクション、ネットワーキング、IPアドレスの管理
3.パブリック IP の自動割り当てにチェック
4.保存

これでパブリック IPv4 アドレスが付与できました。
意外と知られておらず、EC2を再作成されていた方もいらっしゃたので備忘で残して起きます。

元記事を表示

【AWS-SAA勉強記】第8回_セキュリティ、アイデンティティ、コンプライアンス編

この記事は作者本人がAWS-SAAの学習を通じて、曖昧や覚えづらい部分をサービス単位でまとめたものです。
特に、概要だけではイメージがわきづらいので、できるだけユースケースを活用して理解しやすいようにしています。
教材はSHOEISHAの[AWS教科書 AWS認定ソリューションアーキテクトアソシエイト テキスト&問題集](https://www.amazon.co.jp/AWS%E6%95%99%E7%A7%91%E6%9B%B8-AWS%E8%AA%8D%E5%AE%9A%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88-%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%EF%BC%86%E5%95%8F%E9%A1%8C%E9%9B%86-%E7%85%A4%E7%94%

元記事を表示

【AWS】EventBridgeを使って,組織用・個人用のGoogleカレンダーを統合した予定通知を行いたい

# はじめに
私の所属する研究室のカレンダーには,当然自分以外の予定が大量に混在しています.
そのため,自分の参加する予定のみを抽出して,毎日通知してくれるシステムを作りたいと思ったことがきっかけです.
また,研究室のカレンダー以外にも,自分だけの予定を管理しているカレンダーもありました.
別々のカレンダーを統合して,自身に関係のある予定のみを抽出して,毎日決まった時刻に通知してくれるシステムを作成してみました.

https://github.com/haradakaito/schedule_management

# 全体概要図

![全体概要図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477007/c1134e91-7fff-5141-0725-be2fcbfd8da8.png)

# 使用技術
– AWS(Amazon Web Services)
– Python
– Google Calendar
– LINE Notify
– Koyeb

※AWSでは,Event Bridge,

元記事を表示

Azure と AWS の コンテナレジストリの主要な違いを個人的に比較

コンテナレジストリは、コンテナイメージを保管する場所です。

Azure には Azure Container Registry(以降、Azure ACR と表記)、AWS には Amazon Elastic Container Registry(以降、Amazon ECR と表記)があります。

Azure ACR には Basic/Standard/Premium の SKU があります。

## 機能面の比較

| 項目 | Azure ACR | Amazon ECR |
| ———————————- | ———- | —————– |
| SLA | 99.9%[^3] | 99.9%[^1] |
| 耐久性 | (記載なし) | 99.999999999%[^2] |
| コンテナオーケス

元記事を表示

ChatGPTに質問しながらLambda関数を作成する

# はじめに
今回、Lambda@Edge で利用する Lambda 関数を用意する必要があったのでそのコードを ChatGPT に書いてもらうことにしました。

https://openai.com/chatgpt/

# 構成イメージ
今回は CloudFront + S3 という一般的な構成をベースに導入します。
また、ベースの構成はすでに用意済みの状態で、そこに Lambda@Edge を追加する内容となります。
![スクリーンショット 2024-08-28 10.16.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82090/f434b3b4-bad4-ff54-7ac2-302db02f0383.png)

# 要件
CloudFront の場合だとデフォルトルートは `index.html` の補完を設定することができますが、
その他のパスでは補完がされません。
> 通常
> ○ https://cloudfronturl/ → https://cloudfronturl/inde

元記事を表示

Knowledge Bases for Amazon Bedrock にテーブルデータをインポートする

Knowledge Base for Amazon Bedrock では S3, Confluence, Sharepoint, Salesforce, ウェブページなどの[データソースをサポート](https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/data-source-connectors.html
)しています。

データはドキュメントという単位で管理されドキュメントには付随する[メタデータ](https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/knowledge-base-ds.html)も定義することが可能です。

最もシンプルなデータの投入方法としては S3 に直接ファイルを投入し同期することです。その際メタデータを [Lambda で自動生成するフック](https://qiita.com/sugimount-a/items/27eac96010fbf6d9de3d
)を活用しメタデータ作成を自動化することも可能です。

一方で Knowl

元記事を表示

【AWS】RI / Savings Plans を表で比較!

![緑 シンプル かわいい 黒板 学校 先生 質問 タイトル YouTube サムネイル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3822977/df0258c7-5d97-6e0c-1aec-9a64399c54ab.png)

# はじめに
AWS コスト削減といえば リザーブドインスタンス(RI)や Savings Plans が真っ先に思いつきますが、
どのケースで何を選択することがお得なのか、あるいはそれぞれの特徴など、購入オプションも多いことから毎度迷ってしまいます…
今回はこのややこしい RI と Savings Plans についてまとめてみました。
なお本記事では、Amazon EC2 をサポートするタイプのみ取り上げます。

# RI 概要
AWS サービスは基本的に従量課金制ですが、この RI はあらかじめ使用期間を決めて長期利用を約束するかわりに割引が受けられるというものです。24 時間 365 日(またはその 75 % 以上)稼働し続けることが決まっているインスタン

元記事を表示

Amazon EFS 解説

## はじめに

Amazon EFS (Elastic File System) の基本的な内容を、AWS初心者の方でも理解できるように解説します。

### Amazon EFS とは?

Amazon EFSは、クラウドネイティブなワークロードに最適な分散ファイルシステムのフルマネージドサービスです。つまり、**ファイルの保存や管理をAWSに任せることができるサービス**です。

**Amazon EFS の特徴**

* **フルマネージドサービス:** サーバーやOSの管理が不要で、簡単にNFSサーバーを利用できる
* **自動拡張:** 保存容量に応じて自動的に容量が増えるので、容量不足を心配する必要がない
* **プロビジョンドシステム:** 必要に応じてストレージ容量を事前に設定できる
* **様々なサービスとの連携:** Amazon EC2、AWS Lambdaなど、様々なAWSサービスからアクセスできる
* **セキュリティ対策:** アクセス制御や暗号化など、セキュリティ対策を施すことができる

### Amazon EFS の利用方法

Amazon EFSは

元記事を表示

Bedrockのクロスリージョン推論で、ひとつのリージョンのモデルアクセスしか有効化していない場合どうなるのか

Bedrockに新しく、クロスリージョン推論の機能が追加されました。

https://aws.amazon.com/jp/about-aws/whats-new/2024/08/amazon-bedrock-cross-region-inference/

[ブログ](https://aws.amazon.com/jp/blogs/machine-learning/getting-started-with-cross-region-inference-in-amazon-bedrock/)によると、まずプライマリーリージョンで処理を行い、トラフィックが集中などした場合はセカンダリーリージョンで推論が行われるとのことです。

## やってみる

Claude 3.5 Sonnetを使います。

私のAWSアカウントでは、バージニア北部(us-east-1)リージョンでのみモデルの有効化を行っており、オレゴン(us-west-2)リージョンではモデルの有効化を行っておりません。

この状態で、色々条件を変えて呼び出します。

## バージニア北部を指定して呼び出し

以下のコードで試しま

元記事を表示

AWS AIF Beta合格記(2024/8/28投稿)

# はじめに
この度AWS Certified AI Practitioner(AIF)を受験してきましたので、勉強した内容と受験した感想を書いておきます。

※試験内容には言及できないので、本記事では勉強方法や受験した感想が中心となります

# 余談
初っぱなから余談ですが、試験名の略称がCertmetricsだと「AI1-C01」で、試験ガイドだと「AIF-C01」だったので、最初どっちで呼称すれば良いか混乱してました。
本記事では試験ガイドの「AIF」で進めます。

– CertMetrics
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/a55f8930-e27f-1e97-ae3c-b77d1efd3446.png)

– 試験ガイド
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/648c521f-84da-e620-7bd8-960932d5a3d6

元記事を表示

AWS MLA Beta合格記(2024/8/28投稿)

# はじめに
この度AWS Certified Machine Learning Engineer – Associate(MLA)を受験してきましたので、勉強した内容と受験した感想を書いておきます。

※試験内容には言及できないので、本記事では勉強方法や受験した感想が中心となります

# 前提
* AI/ML領域はサービスを少し触った程度でがっつり実務で利用した経験はありません
* AWS認定は全て取っています(詳細は[こちら](https://qiita.com/handy-dd18/items/d21d914bf1c475d777f2))
* PASは[こちら](https://qiita.com/handy-dd18/items/18e8a856906f97bbb964)
* DEAは[こちら](https://qiita.com/handy-dd18/items/cd9410fc2c02a28b4c1d)
* AIFは[こちら](https://qiita.com/handy-dd18/items/724c67c7b2fa63e2ea89)
* AZ-

元記事を表示

AWS Certified AI Practitioner早速受けました

新設のAWS Certified AI Practitionerが8月中旬から受けることができます。予約開放当日に申し込んたけど最速でも8月下旬受験になりました。結果は無事合格だけど、少し体験を話しします。

![Screenshot from 2024-08-28 21-49-55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/893830/d5bf9626-99f2-4192-8a65-c4d48b19cdfd.png)

**注意してほしいのは、今回ベータ試験を受けたので、今後出題形式など大幅に変わる可能性がある**

# 勉強

### 資料
AWS公式の資料だけ見ました。出たばかりなので、公式以外の資料がたぶんないと思います。(探さなかった)

模擬試験「AWS Certified AI Practitioner Official Pretest (AIF-C01)」は絶対に1回軽くやっても良いと思います。自分は約20秒ぐらい1問でさっさとやって、75%正解でした。ただし重要なのは1問ずつ1選

元記事を表示

【AWS】Terraformの公式AWS VPCモジュールを使用してサブネットを管理

## はじめに

[この記事](https://zukkie.link/%e3%80%90aws%e3%80%91terraform%e3%81%a7subnet%e3%82%92%e3%83%a2%e3%82%b8%e3%83%a5%e3%83%bc%e3%83%ab%e5%8c%96%e3%81%99%e3%82%8b/#google_vignette)でsubnetをモジュール化していたが公式のモジュールがあるのでそれを使ってみる

## 手順

1. モジュールの宣言:
main.tfファイルに以下のコードを追加します。

“`
module “vpc” {
source = “terraform-aws-modules/vpc/aws”
version = “~> 5.0”

name = “${var.environment}-vpc”
cidr = var.vpc_cidr

azs = var.availability_zones
private_subnets = [for i in range(3) : cidrsubn

元記事を表示

【Java】基本のおさらい

# はじめに
アクセスしていただきありがとうございます。
本記事は、某SESに入社して初めて案件の面談を受けた際の質疑で、自分が答えられなかった内容を覚えておく備忘録として投稿します。

#### 投稿者の職務状況(念のため)
* 社会人5年目
* SE歴5年目
* 自社開発パッケージの導入2年
* 自社開発パッケージの開発2年
* 主に利用しているプログラミング言語:Java
* 基本情報、応用情報保持

# 質問内容
## アノテーションとは?(Springフレームワークを絡めて)
Javaにおけるアノテーション(annotation)は、コードにメタデータを追加するための機能です。アノテーションは、コードの実行時やコンパイル時に特定の処理を行うために使われます。たとえば、コードの意味を補足したり、特定のフレームワークやライブラリがコードを正しく処理できるようにするために利用されます。

アノテーションは、@ 記号で始まり、クラス、メソッド、フィールドなどに付加できます。以下はアノテーションのいくつかの例です:

* @Override:メソッドがスーパークラスのメソッドをオー

元記事を表示

OTHERカテゴリの最新記事