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

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

AWS Launch WizardでHANAをAWS上に自動デプロイする

AWS上にHANA Databaseを新規にデプロイしたい場合、「AWS Launch Wizard」というサービスが便利なのだが、構築中にいくつかハマりポイントがあった

## AWS Launch Wizardとは
公式より引用
>AWS Launch Wizard は、Microsoft SQL Server Always On や HANA ベースの SAP システムなどサードパーティーアプリケーション用の、AWS リソースのサイズ変更、設定、デプロイをガイドします。個々の AWS リソースを手動で指定したり、プロビジョニングしたりする必要はありません。開始するには、サービスコンソールでパフォーマンス、ノード数、接続性などのアプリケーション要件を入力します。すると、Launch Wizard は、EC2 インスタンスや EBS ボリュームなど、アプリケーションをデプロイして実行するための適切な AWS リソースを特定します。Launch Wizard は、デプロイの推定コストを提供します。また、リソースを変更して、更新されたコスト評価を即座に表示することが可能です。AWS リソ

元記事を表示

AWS Lambda 関数のランタイムを一気に更新する

こんにちは
沢山の AWS Lambda 関数のランタイムを更新する必要が出てきたので、今回はその内容についてお伝えします。

:::note warn
**大前提**
基本的にマイナーバージョンアップであれば後方互換性があるので、問題は出にくいかもしれません。
しかし、問題が出て困るような環境(例:本番環境、利用者が多いなど)では、本仕組みを使わずに、動作確認してから個別に更新することをお勧めします。
:::

## ことの発端
わたしが管理している AWS ルートユーザーのメールアドレスに、以下のようなメールが届きました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/548623/9c0590f9-6f21-4e4d-e7be-3eb4f823ba74.png)

2024 年 10 月 14 日で Python3.8 のサポートが終了になるので、それまでに更新対応してくださいね!というものです。

このアカウントは、 Python3.8 時代にたくさんの AWS Lambda

元記事を表示

Slack連携による生産性向上の施策(その3)〜AWS Lambda編〜

# はじめに
こちらの記事は三部構成になっております。
– [Slack連携による生産性向上の施策(その1)〜Workflow Builder編〜](https://qiita.com/oc-arimura/items/ff4c194c617a9d309d9c)
– [Slack連携による生産性向上の施策(その2)〜Slack App編〜](https://qiita.com/oc-arimura/items/fdb6b1faca5ea1150b3a)
– [Slack連携による生産性向上の施策(その3)〜AWS Lambda編〜](https://qiita.com/oc-arimura/items/e9fb983b411b68fd941a)

また、全ての記事の内容を含んだ動画も用意しております。
動画で確認したい方は[コチラ](https://www.youtube.com/watch?v=JE7ZVJ9yE9Q)まで。
※動画開始50分頃からの内容になります。

# AWS Lambda編の概要
ここの説明になります
![スクリーンショット 2024-04-16 16.29.3

元記事を表示

Amazon CloudWatchLogs のログを NewRelic へ送信する

# はじめに
NewRelic で用意されている **AWS Serverless Application** を利用して NewRelic へログを送信する設定を行います。

# 設定

# 事前作業
本作業を行う際に API ライセンスキーを利用します。
以下に記事書きましたのでよかったら参考にして発行しておいてください。

https://qiita.com/kooohei/items/00da439f280adc44cdca

## AWS Lambdaアプリケーションのデプロイ
– [AWS Serverless Application Repository](https://serverlessrepo.aws.amazon.com/applications)へアクセスします。
– 検索ボックスで **NewRelic-log-ingestion** を入力し、 **Show apps that create custom IAM roles or resource policies** のチェックボックにチェックを入れます。
すると、**NewRelic-log-inge

元記事を表示

Amplify override authでSecrets Managerを利用する

## 概要
Amplify override authで認証情報を設定する際、ソースコードに認証情報を書くわけにはいかず、Gitに含めるわけにもいかず、環境ごとに自動で値が設定されるようにしたいということがあります。その場合、Secrets Managerを使用することができます。

## Amplify override authでSecrets Managerを参照させる方法
こちらの記事に詳しく書かれていたため、[こちら](https://www.seeds-std.co.jp/blog/creators/2023-10-02-2194bf44-d68c-4d59-8b07-158e65f343b3/)を参照ください。
下記のように書くことになるかと思います。

“`javascript
import { AmplifyAuthCognitoStackTemplate, getProjectInfo } from ‘@aws-amplify/cli-extensibility-helper’

export function override(resources: Amplif

元記事を表示

S3バケットのフルバックアップをシェルで作成する方法

# はじめに

私は1年以上稼働しているシステムを運用しているエンジニアです。
S3バケットのバックアップをとりたい!でも手順が多くてめんどくさい!ということありますよね。
そこで今回はS3バケットのバックアップを作成するシェルスクリプトを作成したので紹介します。

# こんな人に読んでほしい

– システムを運用している
– AWSで環境構築をしている
– S3バケットのバックアップをとりたい
– シェルスクリプトを使いたい

# 目次

– なぜシェルスクリプトを作るのか
– なぜバケットバックアップなのか
– シェルスクリプト概要
– 前提条件
– シェルスクリプト使用方法
– まとめ

# なぜシェルスクリプトを作るのか

システムの運用をしていると「その時々の本番環境と同様の環境を用意したい」「何かシステムに変更を加える前にバックアップを取りたい」などが発生します。
いくら手順化していても「手動操作によるミス」「順番を飛ばす」などのリスクがあります。
そこで「誰でも」「簡単に」「誤りなく」S3バケットのバックアップを取る方法のひとつとしてシェルスクリプトを作成しました。

#

元記事を表示

Fivetranを用いたELT作業【その1】

## 【概要】
##### Fivetran、S3(Icebergテーブル)、OracleDBを用いてELTを実施いたします。今回記事ではまずFivetranとS3の疎通確認を行います。
## 【イメージ図】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3528832/13e6c9fc-4afc-fa04-acb7-3270c7d1a601.png)

## 【Fivetranとは?】
Fivetranとはデータ統合自動化サービスです。
データベース、ファイル等のデータソースからデータ抽出し、データ同期先へのロードを自動化することが可能です。
変換/加工処理をデータ同期先であるデータウェアハウス上で行うこともできます。

## 【Fivetran⇔S3疎通作業】
#### ①Icebergテーブルの作成
AWS_Athenaからクエリを実行し、IcebergテーブルをS3上に作成します。

“`:テーブル作成クエリ
CREATE TABLE 【作成するテーブル名】 (
id in

元記事を表示

【初心者向け】AWS Rekognition+Lambda(python)で画像解析

今回はAWSの画像分析サービスのAWS Rekognitionを使って、S3バケットに格納した画像を解析・ラベリングし、ラベルデータをDynamoDBに格納する仕組みを作っていきます。

# 今回のゴール
S3バケットに画像ファイルをアップロードするとAmazon Rekognition imageで画像を解析し、どんな内容の画像なのかラベルを付けて、その中の3ラベルをDynamoDBに書き込みする。一連の処理はS3バケットへの画像格納をトリガーに、Lambdaで実行する。

構成図にするとこんな感じです。

![AWS環境.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/ad3694df-5ea6-6425-709b-192e5a1934f5.png)

最終的にDynamoDBにこんな感じで画像解析した結果のラベルが格納されていればOkとします。
 ※解析に使った画像はモナリザなので、「Art」、「Painting」、「person」とラベリングされています。

![DynamoDB

元記事を表示

aws EC2 基礎構築

aws EC2 基礎構築

サーバー立てるだけ設定

後日記載

元記事を表示

AWS PollyのSSMLタグ使ってみた

## 概要
Pollyを遊びで使ったので、SSMLの概要について簡単にまとめてみる

## 基本的なSSMLタグの使い方
:::note warn
SSMLを使うにはAPIを呼び出すタイミングでSSML形式であることを指定する必要があります。
詳細は適当な公式記事を参照してください。
:::

SSMLタグを使う際は、まず``タグで対象のテキストを囲む必要があります。これにより、音声合成エンジンがSSMLタグを認識できるようになります。

“`xml

これは、SSMLタグを使った音声合成の例です。

“`

次に、``タグを使って適切な箇所に一時停止を挿入し、聞きやすさを向上させましょう。

“`xml

私は、山田太郎です。東京都出身の25歳で、現在はシステムエンジニアとして働いています。

“`

また、`

`タグと``タグを使って段落や文章間の切れ目を作ることで、より理解しやすい音声を生成できます。

“`xml

全リージョンのデフォルトVPCを削除する

:::note
デフォルトVPCは消しておいたほうがいい!
:::

* デフォルトVPCはCIDRの変更ができない
* 意図せずデフォルトVPCを利用した場合、パブリック公開になる
* 万が一デフォルトVPCが必要になった場合は、復活させることも可能

という訳で、消さない理由がない。

またAWS CLIを利用することで、全リージョンのデフォルトVPCをまとめて削除することが可能みたいなので、やってみよう。

https://dev.classmethod.jp/articles/delete-default-vpcs-by-cloudshell/

## 1.AWS CloudShell を起動する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764512/4fb465b4-a986-b860-8c8f-ec24bae11596.png)

## 2.下記コマンドを実行する

“`cl:全リージョンのデフォルトVPCを削除するCLI
aws –output text ec

既存 AWS リソースから CloudFormation テンプレートと CDK アプリケーションを数分で生成

# どんな内容?

ずっと気になっていた機能をやっと試してみることができました。

https://aws.amazon.com/jp/about-aws/whats-new/2024/02/aws-cloudformation-templates-cdk-apps-minutes/

https://aws.amazon.com/jp/blogs/news/announcing-cdk-migrate-a-single-command-to-migrate-to-the-aws-cdk/

一言で言うと、AWS 上にデプロイされている既存リソースから CloudFromation テンプレートを生成してくれるよ。

OSS で、[Former2](https://former2.com/) と言うものがありますがこれに近いものでしょうか。

ここでは、**IaC ジェネレーター** と **cdk migrate** を利用して実現します。

# IaC ジェネレーター

## 概要

CloudFormation IaC ジェネレーターを使用すると、CloudFormation

AWS Web Application Firewall (AWS WAF) を使用して悪質なトラフィックをブロックする

ハンズオントレーニングで、WAFの設定を確認しました。今回の内容を見て、やれそうだと思った方は、ハンズオンサイトも参考にして、試してみてください。

参考にしたサイト
https://catalog.workshops.aws/startup-security-stay-secure-while-building-quickly/ja-JP

WAFの作成手順

### 1.ルールの作成

### 2.ルールの設定

1. **ルールセットの選択**
AWS が提供する管理ルールセットを使用するか、独自のルールを作成します。

2. **ルールの追加**
選択したルールセットに基づいて、ブロックしたい条件を指定します。
ルールの追加ボタンをクリックし、ブロックしたいリクエストパターンや許可したいリクエストパターンを指定します。
例えば、XSS フィルタリングや SQL インジェクション対策などのルールを追加できます。

### 3.Web ACL の関連付け
Web ACL をアプリケーションに関連付けます。
関連付けたいアプリケーションのリソース(例: CloudFront デ

GASのS3ライブラリで署名バージョン4の認証エラーが出た時の解決法

# はじめに

まず、GASとS3を連携したいと思った時に以下のS3ライブラリが挙げられると思います。

Amazon S3 API Binding for Google Apps Script

https://qiita.com/GoeMon564/items/851b76a5c78b22a64fe2

ただ、こちらをそのまま利用しようとすると署名バージョン4に対応しておらず、困る場合があるかと思います。

https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html

>Amazon S3 は、すべての AWS リージョンで、AWS サービスへの受信 API リクエストを認証するためのプロトコルである署名バージョン 4 をサポートしています。現時点では、2014 年 1 月 30 日より前に作成された AWS リージョンは、以前のプロトコルである署名バージョン 2 を引き続きサポートします。2014 年 1 月 30

InstanceRestarter(インスタンスをリスタートするやーつー)

# 概要

必要にかられて、こんなものを作ったのでメモがてら。
1. EventBridgeから定期的に
1. Lambdaを起動して
1. 指定された名前に合致するインスタンスに対して
1. reboot(またはterminate)のリクエストを出す

# 作成手順

## IAM
1. ロールを作成
1. 信頼されたエンティティを選択
1. 信頼されたエンティティタイプ → AWSのサービス
1. ユースケース → Lambda
1. 許可を追加
1. 許可ポリシー
1. (何もしなくてOK)
1. 許可の境界を設定
1. 許可の境界なしでロールを作成(デフォルト)
1. 名前、確認、および作成
1. ロールの詳細
1. ロール名 → それなりの名前(`InstanceRestarter-role`等)
1. 説明 → お好きに
1. 作成したロールを選択
1. 許可タ

AWS 認定

# 筆者のスペック
– 文系大学を中退
– 25歳で営業職からネットワークエンジニアに転職 2022年
– ネットワークエンジニアを1年経験し、クラウドに惹かれクラウドを専門にするため現自社開発企業に入社 2023年

## 保有資格
|AWS Certified Cloud Practitioner|AWS Certified Solutions Architect – Associate|AWS Certified Solutions Architect – Professional|AWS Certified Developer – Associate|
|:—|:—|:—|:—|
|Active Date 2022-12|Active Date 2022-12|Active Date 2024-02|Active Date 2024-03|

## AWS認定を取得しようと思ったキッカケ
最初はAmazonが提供するサービスということくらいしかしりませんでした。

私が寒いサーバールームで汗をかきそうになりながらサーバーラックにネジを巻いている話をした時に、友人

[CI CD] GithubActionでReactAppのCI CDを設定

# 前提
本記事では、GitHub ActionsとAWSを組み合わせて、フロントエンドのCI/CDパイプラインを構築する方法について解説させて頂きます。フロントエンドのCI/CDとは、開発したコードの自動的なテストしたりビルドしたりリリースしたりするプロセスです。つまり、開発者がコードを変更した際に、それが自動的にテストされ、問題がなければ自動的にリリースされる仕組みです。

# 概要
![Screenshot 2024-04-23 at 17.46.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703979/206c4cda-f1f0-47ab-8887-0d814bb9a80f.png)

**CI CD流れ**
開発者はコード成果をアップロード→Github actionは lintやテストやビルドなどの再確認処理を自動的して→OKであればS3にアップロード。(つまりリリース)

以下に設定手順を詳しく説明させて頂きます。

# 1. S3バケット作成

AWSConsoleでS3サービス

【AWS】CloudFront FunctionsでIPアドレス範囲指定のアクセス制限

### はじめに

S3に配置したhtmlファイルにCloudFront経由でアクセスします。
よりセキュアにするため、アクセス制限をかけます。
特に、CloudFrontへのIPアドレス制限について、CloudFront Functionsを利用してIPアドレス範囲指定でアクセス制限をする記事が見つからなかったので投稿します。

### やること
構成としては以下となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/43192cd2-7b87-8ab3-676d-41a03b13337c.png)

それぞれの説明です。

* S3のアクセスは「パブリックアクセスをブロック」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/92ea3c3e-5a10-c2d9-e935-4c88ca58622e.png)

* S3のバケットポリシーには「Clo

Amazon LinuxにOpenMetadataを構築

## 目的
AWS環境 (Amazon Linux) に OpenMetadata を導入したい。それだけ (だと思ってた)。
後述の通りバージョン違いなどによる影響で何度かインスタンスを立てなおしたり、エラーにはまってひたすら時間を溶かしたりしたので共有します。

## 環境
– Amazon Linux 2
– OpenMetadata 1.1.1
– Docker 20.10.25
– Docker Compose v2.26.1
– Python 3.7.16

## 手順
[1. EC2インスタンス構築](#ec2インスタンス構築)
[2. GUI環境構築](#gui環境構築)
[3. 各モジュールの導入](#各モジュールの導入)
[4. Dockerコンテナ起動](#dockerコンテナ起動)
[5. OpenMetadataにログイン](#openmetadataにログイン)
[6. Airflowにログイン](#airflowにログイン)

### EC2インスタンス構築
まず、下記要件を満たす必要があります。
> Minimum sizing recomme

ローカルブランチで作成した Lambda 関数をワークフローでデプロイする方法【CodeCatalyst】

## はじめに

この記事では、ローカルで作成した Lambda 関数を CodeCatalyst ワークフローでデプロイする方法について説明します。Lambda 関数をデプロイするために必要な設定やファイル構成、CDK プロジェクトの設定方法などについて詳しく説明します。実務でこのような方法で Lambda 関数をデプロイする機会があり、調べてみたところ情報が少なかったため、今回の記事を作成しました。

## 前提条件

– 実行環境:Codecatalyst
– CodeCatalyst にログインしていること
– CodeCatalyst でプロジェクトを作成していること
– ロールやセキュリティグループ、VPC などの設定が完了していること

## Lambda デプロイプロジェクトのディレクトリ構成

このセクションでは、Lambda 関数のデプロイに関連するプロジェクトのディレクトリ構成について説明します。プロジェクト内の各ディレクトリやファイルが持つ役割を理解することで、プロジェクト全体の流れやデプロイプロセスの構造を把握しやすくなります。

### ディレクトリ構造