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

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

Step Functionsで日付を取得して後続のGlueジョブで使いまわす(手動で別日実行もしたい)

# はじめに
Step Functions、皆さん使っているでしょうか。GUIでフローが組めて便利ですよね。
そんな便利なStep Functionsですが、実際に使おうとすると日付をどうやって取得するか問題に見舞われると思います。今回は、その解決方法の一例を試してみたので記事にします。

# やりたいこと
– Step Functionsのフロー内で**今日の日付**(`yyyymmdd`形式)を取得して、Glueジョブ内の処理で使う
– 日付は**日本時間(JST)** とする
– ただし、フローを手動実行した時に**日付を指定**すると、その日付がGlueジョブ内の処理で使われる
– 例えば日次で実行していた処理が土日で失敗していて、月曜日にリカバリーを実施する場合などを想定

実際に運用し始めると、後から別日で実行した時ってよくありますよね。それをうまく実現してみます。

# 日付を取得する方法の検討
Step Functions内で日付を取得する方法はいくつか存在します。その方法を紹介している素晴らしい記事があるので、そこから紹介します。

https://d

元記事を表示

AWS IoT Enterprise Buttonの歴史を軽く振り返る

## はじめに
初めまして。10月にドラゴンボールの新作のゲームが発売するので今からワクワクしている [yakiniku0220](https://twitter.com/yakiniku040220)です。

去年の年末にこのような記事が公開されました。

https://zenn.dev/showm001/articles/2023-12-22-01

> AWS will discontinue AWS IoT 1-Click service from December 16, 2024 onwards.

なん・・・だと・・・

ここまで衝撃を受けている理由としては、上記記事が公開される前に私自身がAWS IoT Enterprise Buttonの記事を書いていたからです。

https://qiita.com/yakiniku0220/items/ecb89f7bb72fa07a76b0

なので最後に何か作ろうと思っていましたが記事をよく見てみると。

> Firstly, your access to AWS IoT 1-Click service from the A

元記事を表示

AWS Lambdaを最大限に活用するためのベストプラクティス

# はじめに

サーバーレス大好きなエンジニアです!

みなさん、AWS Lambdaを使ってますか?
日常的に利用しているけど、最適化についてはあまり考えていない方も多いのではないでしょうか。

実際、私もあまり意識せずに使っていました。
使い方をちょっと工夫するだけで、**Lambdaのパフォーマンスがぐんと上がる**んです!

今回は、AWSのドキュメントに書かれているベストプラクティスを参考にしながら、Lambdaを最大限に活用する方法をお伝えします。

各セクションのタイトルを見ると、ちょっと難しそうに感じるかもしれませんが、できるだけわかりやすく解説していきますので、ぜひ参考にしてみてください!

# 対象読者

– Lambdaを使ったことがある人
– もっと効果的に使いたいと感じている方
– チームの開発効率とコードの品質を向上させたい方
– Lambdaに興味がある方

では、早速始めていきましょう!

# 目次

1. ハンドラー関数について
2. SDKクライアントとデータベース接続の初期化
3. 静的アセットのローカルキャッシュ
4. 環境変数を使用して関数に設

元記事を表示

94日目 RDSのコスト削減についてまとめてみる社畜S

## :file_cabinet:はじめに
こんにちは、社畜Sです。
私のターンが回ってくるまでの1カ月の間に私はDB関連の業務に携わることになり、それに備えて情報収集を行っていました。
その中で、RDSのコスト削減手法についてまとめる機会がありましたので、メモ書きがてら調査結果を皆さんに共有しようと思います。
素人調査ということで、間違えている点もあるかもしれませんが、その際はコメントで指摘していただけると助かります:thumbsup:
## :file_cabinet:①インスタンスタイプを見直す
実際の運用状況に合わせてインスタンスタイプを変更することでコストを最適化できる。

ただ費用を優先しすぎてインスタンスサイズを小さくしすぎると運用上のパフォーマンスにも影響が出るので、 **「Performance Insight」** などのツールを利用してデータベース全体のパフォーマンスを把握し、適切なインスタンスタイプを選択するのが大事

〇メリット
・オーバースペックな部分をなくす事で、その分のコストが削減できる
元記事を表示

Terraformを簡潔に理解

# Terraformを使ったIaCの基礎 :beginner:
Terraformは、HashiCorpが開発したオープンソースのInfrastructure as Code (IaC)ツールです。コードでインフラストラクチャを管理および提供することができ、クラウド環境やオンプレミス環境でのインフラのプロビジョニングを自動化します。この記事では、Terraformの基本的な概念と使用方法について解説します。

# Terraformの基本概念
### 1. Infrastructure as Code(IaC)
Infrastructure as Code(IaC)は、インフラストラクチャの設定をコードで管理する手法です。これにより、インフラのバージョン管理や再現性が向上し、手動操作によるエラーを防ぐことができます。

### 2. 宣言的構成
Terraformは宣言的構成を採用しており、最終的な望ましい状態を記述することで、Terraformがその状態に到達するためのアクションを自動的に計画および実行します。

### 3. プロバイダー
プロバイダーは、Terraformが管理

元記事を表示

AWS CodeCatalystとVSCodeを連携させて、開発環境を構築する方法!

こんにちは!ふくちと申します。

当記事ではAmazon CodeCatalystの設定方法・使い方について説明していきます。
複数チームのメンバーが合同で1つのプロジェクトを作成する場合、非常に有用なサービスとなっておりますので、ぜひこの記事を読んで使ってみてください!

※サービスの解説・用語の解説は当記事ではしておりません。参考資料として以下をご覧ください。
[Amazon CodeCatalyst を使ったので概念などを整理してみた – DevelopersIO](https://dev.classmethod.jp/articles/try-amazon-codecatalyst/)
[Amazon CodeCatalyst](https://codecatalyst.aws/explore)

※また、詳細な使い方については別途記事を作成する予定です。

# Amazon CodeCatalyst(以下、CodeCatalyst)の良いところ・良さそうなところ
– **素早くBizDevOpsのサイクルを回すための環境を迅速に構築できる**
→ソースコードやIssueの管

元記事を表示

Visual Studio Code にAssumeRoleを利用してTerraform環境を構築してみた

# はじめに
はじめまして、amaebiと申します。
今回は「個人アカウントにTerraform環境を構築してみた」ということで、Terraformの実行環境を構築したことがなかったので、これを機に作ってみようかなと思い本ブログを書いております。
その上で、`AdministratorAccess`権限を付与したIAMユーザーのアクセスキーを発行して使用しても…怖すぎるのでAssumeRoleを利用してTerraform環境を構築します。
自分用の軽いメモ書き程度なので少し見づらかったりしますが、気楽に見ていただけますと幸いです。

# 構成図
![Terraform.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3765414/aab0e320-3f37-2308-c828-308a9d96f1bc.png)

| 名称 | アタッチされているポリシー |
| —- | —- |
| TerraformUser | TerraformRole用のインラインポリシー |
| Terrafor

元記事を表示

クラウド環境でのデータ転送を最適化する方法

## はじめに

クラウド環境でのデータ転送は、プロダクトのパフォーマンスやコストに大きな影響を与える重要な要素です。この記事では、クラウドベンダーの様々なサービスを活用しながら、データ転送の最適化を行う方法について解説します。

## データ転送の課題

クラウド環境でのデータ転送には以下のような課題があります。

1. **コスト**: データ転送にはコストがかかります。特に大量のデータを転送する場合、そのコストは無視できません。
2. **パフォーマンス**: データ転送の速度が遅いと、アプリケーションのパフォーマンスに悪影響を与えます。
3. **セキュリティ**: データ転送中のセキュリティも重要です。データが盗まれたり改ざんされたりするリスクを最小限に抑える必要があります。

## 最適化の方法

### 1. データ圧縮

データを圧縮することで、転送するデータ量を減らすことができます。これにより、転送コストと時間を削減できます。例えば、AWSのS3では、データを圧縮して保存することができます。

### 2. CDNの活用

コンテンツデリバリーネットワーク(CDN)

元記事を表示

スクラム開発でリソースの使用状況を最適化する方法

## はじめに
スクラム開発において、リソースの使用状況を最適化することは非常に重要です。クラウドベンダーの多様なサービスを活用することで、効率的なプロダクト開発が可能になります。この記事では、リソースの使用状況を最適化するための具体的な方法について解説します。

## 1. クラウドサービスの選定
まずは、プロジェクトに最適なクラウドサービスを選定することが重要です。AWS、Azure、GCPなど、各クラウドベンダーには多様なサービスが提供されています。以下のポイントを考慮して選定しましょう。

– **コスト**: サービスの料金体系を比較し、予算に合ったものを選びます。
– **スケーラビリティ**: 将来的な拡張性を考慮し、スケーラブルなサービスを選びます。
– **サポート**: ベンダーのサポート体制やコミュニティの活発さも重要です。

## 2. インフラの自動化
インフラの自動化は、リソースの使用状況を最適化するための鍵です。TerraformやCloudFormationなどのIaC(Infrastructure as Code)ツールを活用することで、インフラの構

元記事を表示

BedrockのConverse APIでモデル固有のパラメーターを指定する

できないと思ってたらできた。

## 通常のConverse API呼び出し

Cohere Command Rを使って、簡単なテキストを渡してみます。

“`python:app.py
import json

import boto3

client = boto3.client(“bedrock-runtime”)

result = client.converse(
modelId=”cohere.command-r-v1:0″,
messages=[
{
“role”: “user”,
“content”: [{“text”: “こんにちは。ダジャレを言ってみて”}],
}
],
)

print(json.dumps(result, indent=2, ensure_ascii=False))
“`

実行します。

“`shell
python app.py
“`

“`json:レスポンス
{
“ResponseMetadata”: {
“Req

元記事を表示

クラウド環境でのリソース利用状況を監視するベストプラクティス

## はじめに
クラウド環境でのプロダクト開発が一般的になり、リソースの利用状況を適切に監視することがますます重要になっています。リソースの過剰利用や不足は、コストの増加やパフォーマンスの低下を引き起こす可能性があります。この記事では、クラウドベンダーの提供する様々なサービスを活用し、リソースの利用状況を効果的に監視する方法について解説します。

## 1. リソース監視の重要性
リソース監視は、システムの健全性を保つための基本的な活動です。適切な監視を行うことで、以下のようなメリットがあります。

– **コスト管理**: 不要なリソースの削減や、適切なスケーリングによるコスト最適化。
– **パフォーマンス向上**: リソース不足によるパフォーマンス低下を防止。
– **障害予防**: 異常なリソース使用を早期に検知し、障害を未然に防ぐ。

## 2. クラウドベンダーの監視サービス
主要なクラウドベンダー(AWS、Azure、GCP)は、それぞれ強力な監視サービスを提供しています。以下に代表的なサービスを紹介します。

### AWS CloudWatch
AWS CloudW

元記事を表示

Terraform Introduction

## 記事の概要
ゴール: Terraformの仕組みと使い方を習得する
対象者: Terraform初学者

## Terraformについて
### Terraformとは
Terraformとは、IaC(Infrastructure as Code)を実現するツールのことである。
もう少し噛み砕くと、インフラの作成・更新・破棄をソースコードにより宣言して実行することができる。

コード化することができることはたくさんの利点を開発者にもたらす。
例えば、
– インフラ環境がGitによりバージョン管理できるようになる
– 一度環境を作ってしまえば、他の環境にも設定を使い回すことができる
– コードを見るだけで環境を把握できる
– 車内でインフラの状態をコードレビューできる
– コードを数行変更するだけで繰り返しインフラ構成を変更できる

### Terraformの仕組み
#### Terraformとプロバイダーの関係
Terraformは各クラウドプロバイダー(AWS・Azure・GCPなど)のAPIと通信をするためにプロバイダープラグインを使用する

#### .tfファイル

元記事を表示

AWS SAMを使ってS3にファイルがアップロードされたらLambdaでファイル名とバケット名を取得Localテスト

AWS SAM(Serverless Application Model)を使用すると、AWS LambdaとS3を組み合わせて簡単にサーバーレスアプリケーションを構築できます。

この記事では、S3バケットにファイルがアップロードされたときに自動的に起動するLambda関数を作成し、ファイル名とそのバケット名を取得してみました。

実際に作成する中でエラーも出たので合わせて対応を書いていきます。

### 事前準備
#### AWS SAM をインストールしておきます
“`ターミナル
> pip install aws-sam-cli
“`
#### SAM プロジェクトの作成
“`
> sam init
Which template source would you like to use?
1 – AWS Quick Start Templates

Choose an AWS Quick Start application template
1 – Hello World Example

Use the most popular run

元記事を表示

クラウド環境での冗長性確保のベストプラクティス

## はじめに
クラウド環境でのプロダクト開発において、冗長性を確保することは非常に重要です。冗長性がなければ、システム障害が発生した際にサービスが停止し、ユーザーに多大な影響を与える可能性があります。この記事では、クラウドベンダーの様々なサービスを活用しながら、冗長性を確保するためのベストプラクティスについて解説します。

## 冗長性とは?
冗長性とは、システムの一部が故障しても全体としての機能を維持するために、同じ機能を持つ複数のコンポーネントを用意することです。これにより、単一障害点(Single Point of Failure, SPOF)を排除し、システムの可用性を高めることができます。

## クラウドベンダーのサービスを活用する
### 1. マルチリージョン展開
クラウドベンダーは複数のリージョンにデータセンターを持っています。例えば、AWSでは米国東部、欧州西部、アジア太平洋など多くのリージョンがあります。これらのリージョンを活用して、アプリケーションを複数のリージョンに展開することで、リージョン単位の障害に対する冗長性を確保できます。

### 2. オートス

元記事を表示

【2024年版】Route53とCloudFrontで独自ドメイン+https通信に対応する

# はじめに

こんにちは、もちもちMAXです。
今回はRoute53とCloudFrontを用いて、[前回作成したMPA](https://qiita.com/deritto777/items/1080e4ddbe3263253f68)に独自ドメイン対応+https接続をおこなう手順について解説していきたいと思います。

## 対応に必要な手順

必要な手順は下記の通りです。
\
1.ドメイン取得(お名前.com)
2.CloudFrontでhttps対応
3.ネームサーバの登録
4.独自ドメインのSSL証明書設定
5.Route53にAレコードを追加する
\
今回はドメイン取得にお名前.comを用いましたが、Route53でも取得できるのでそちらでも、またはその他サービスでも構いません。
それでは、各手順の詳細を説明していきます。

## ドメイン取得(お名前.com)

ここでは、お名前.comでのドメイン取得方法を説明します。手順は下記の通りです。
\
**1.お名前.comで希望のドメイン名を入力して取得する(.com)**
*

元記事を表示

Claude 3 Haikuのファインチューニング:AI性能向上の新時代

## はじめに:Claude 3 Haikuとは?

Claude 3 Haikuは、AnthropicのAIモデルファミリーの一つで、高速で費用対効果の高いモデルとして知られています。このモデルは、日常的なタスクを迅速に処理することができ、ビジネスにおいて大きな可能性を秘めています。

### Claude 3 Haikuの特徴
– 高速処理:日常的なタスクを素早くこなします
– コスト効率:他のモデルと比べて使用コストが低いです
– 汎用性:様々なタスクに対応可能です

## ファインチューニングとは?

ファインチューニングは、AIモデルの性能を向上させるための重要な技術です。この方法を使うことで、特定のタスクや業界に特化したAIモデルを作ることができます。

### ファインチューニングの仕組み
1. 高品質なデータセットを用意する
2. そのデータを使ってモデルを追加学習させる
3. 特定のタスクに特化したカスタムモデルが完成する

### なぜファインチューニングが重要なのか?
ファインチューニングを行うことで、一般的なAIモデルを特定の業界や用途に最適化することができます

元記事を表示

ReactとViteでMPAを構築してAmazon S3で公開する方法

# はじめに

こんにちは、もちもちMAXです。
今回はReactでMPAを作成し、Amazon S3で公開する手順について解説していきたいと思います。

– reactでビルドしたけど、エントリーポイント1個しかないぞ?
– MPAをAmazon S3で公開ってどうやるの?
という人は見て頂ければと思います。

## React環境構築

ReactでMPAを作成するので、まずはReact環境を構築していきます。
有名どころでは`create-react-app`コマンドがありますがこのコマンドで環境構築した場合、デフォルトでwebpackというビルドツールが使用されます。しかし、今回はviteというビルドツールを使いますので`npm create vite`コマンドで環境を作成していきます。
まず、適当なディレクトリで下記コマンドを実行します。

“`npm
npm create vite
“`

いくつか入力が求められるので入力していきます。私は以下の通りとしました。

“`text
Project name : test
Selcet a framework :

元記事を表示

環境分離の重要性と実践方法:開発、ステージング、本番のベストプラクティス

# 環境分離の重要性と実践方法:開発、ステージング、本番のベストプラクティス

こんにちは、皆さん!今日はソフトウェア開発における環境分離の重要性とその実践方法についてお話ししたいと思います。特に、開発、ステージング、本番の3つの環境に焦点を当てて解説します。

## 環境分離とは?

環境分離とは、ソフトウェア開発の各フェーズ(開発、テスト、本番)で異なる環境を用意することです。これにより、各フェーズでの作業が他のフェーズに影響を与えないようにします。

### なぜ環境分離が重要なのか?

1. **安定性の確保**: 本番環境に影響を与えずに新機能の開発やテストが行えます。
2. **バグの早期発見**: ステージング環境で本番に近い条件でテストすることで、バグを早期に発見できます。
3. **効率的なデプロイ**: 各環境でのデプロイ手順を確立することで、リリース作業がスムーズになります。

## 各環境の役割

### 開発環境

開発環境は、開発者が新機能の実装やバグ修正を行う場所です。この環境は頻繁に変更されるため、安定性よりも柔軟性が重視されます。

### ステージ

元記事を表示

BedrockのCode interpretationを詳細解説(マネコン、SDK、Streamlit化してトレースと生成コードも出力)

AWS Summit New Yorkのタイミングで追加されたBedrockの新機能の一つ、「**Code interpretation**」をガッツリDeep Diveします。

その他のアップデートはこちらをご参照ください。

https://qiita.com/hayao_k/items/6f8c23f62f16e17f45bc

## BedrockのCode interpretationとは

いわゆるCode Interpreterです。

[公式ドキュメント](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-code-interpretation.html)では、以下のように表現されています。

> Code interpretationにより、エージェントは安全なテスト環境でアプリケーション コードを生成、実行、およびトラブルシューティングできます。Code interpretationを使用すると、エージェントの基盤モデルを使用して、基本的な機能を実装するためのコードを生成し、生成 AI アプリケ

元記事を表示

情報システム部門で苦労した経験を活かしたソリューションを考えてみた(Discovery Service + Migration Hub + Athena)

## はじめに
以前、情報システム部門で仕事をしていた事があります。その時、前任者から引継ぎを受けたのですが、前任者自身もどんな機器があり、どんなアプリが存在するのかわからない状況でした。そのため、引継ぎに、苦労した経験があります。そんな経験を踏まえて、次のようなケースを想定したソリューションを考えてみました。**(Discovery Service + Migration Hub + Athena)**

**オンプレミスで運用しているアプリケーションを AWS に移行したい。**
**運用担当は、突然前任者がやめてしまい、引継ぎをしっかり出来ていない。**
**どんな機器やアプリケーションが存在するのかわからない。**

## アーキテクトに求められる観点
オンプレミスで運用しているアプリケーションを AWS に移行することを計画しています。運用担当は、突然前任者がやめてしまい、引継ぎをしっかり出来ていない状況です。そのため、どんな機器やアプリケーションが存在するのかわからない状況です。カスタムIPベースのプロトコルを使用している事は把握出来ています。アプリケーションは、物理マシ

元記事を表示

OTHERカテゴリの最新記事