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

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

Amazon Bedrock モデル評価の「人間ベースの評価」を試してみた

# はじめに
こんにちは、朝日新聞社メディア研究開発センターの杉野です。
新機能や使用可能なLLMモデルが次々と更新され、目が離せないAmazon Bedrockですが、今回は、先日公開された新機能「モデル評価」について書いてみたいと思います。3種類の評価方法があり、中でも「人間ベースの評価」が気になったので、一体どんなものか試してみました。

https://aws.amazon.com/blogs/aws/amazon-bedrock-model-evaluation-is-now-generally-available/

https://japan.zdnet.com/article/35218209/

# 人間ベースの評価とは
Amazon Bedrockメニューの「評価と導入」の中の「モデル評価」ページに進むと、「自動評価」「人間ベースの評価」「AWSマネージド評価」の3種類の評価方法が提示されます。そのうちの真ん中の機能です。
![スクリーンショット 2024-05-09 22.33.10.png](https://qiita-image-store.s3.ap-nor

元記事を表示

CloudFrontを用いたS3静的サイトの構築

# TL;DR
– CloudFront + S3 で静的サイトを構築できる
– OAC;Origin Access Control を用いてS3のオブジェクトへのアクセスをCloudFront経由に限定する事ができる
– OAC を用いる場合は CloudFront のオリジンは **オブジェクトストレージの S3 エンドポイント(URL)** を指定する

# はじめに
CloudFront + S3 で静的サイトを構築してみましたが、意外と苦労をしたので作業手順をまとめました。

# 作業手順

– S3静的サイトを構築
– バケット選択 > プロパティ > 静的ウェブサイトホスティング
– アクセス許可 > パブリックアクセスをすべてブロック のチェックを外す
– バケットポリシーを変更して s3:GetObject をAllowする。
参考:[公式(バケットポリシー)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html#st

元記事を表示

スタートアップ/自社開発企業のWeb&データインフラ基盤でありそうな構成

# はじめに
スタートアップや自社開発企業でインフラ環境を0から構築する際、よくある構成を列挙してみました。
※この記事は個人の見解に基づいています。もし偏見があるように感じられたら、申し訳ございません。
※クラウドは、AWS前提とさせてください。

# 全体構成図
ざっくり、こんな感じかなと思いました。
![スクリーンショット 2024-05-19 15.07.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/263017/a4d83d13-f8d7-46d6-1afb-fdddf4d10363.png)

# 環境構成
dev, prod用のAWSアカウントが必要なので、二つあるといいかなと思いました。
理想は、金銭的に余裕があればですが、stg用のアカウントも欲しいです。

# IaC
Terraformが使いやすく、いいかなと思いました。
手動で実行した方が早いので、スキルさえあればそんなにヒューマンエラーが発生するものでもないです。
そのため、最初のうちは無理してGitHub Actions

元記事を表示

AIレシピ生成アプリをRails×Next.js×ECSで作ってみた

# はじめに
webアプリケーションを久しぶりに作成したので紹介記事です。
実際に運用して、1000ユーザー獲得を目指します。

# 開発アプリ概要
### アプリ名: FitChef
カロリーや調理時間、使いたい食材、苦手な食材の情報をもとにAIがレシピをその場で生成します。
※塩分量、タンパク質量、食事のジャンル(和食、洋食、中華)、グルテンフリーなどの項目も追加予定

### アプリurl
※Comming Soon

### 使用技術
– Backend
– Rails 7.0.8.1(api mode)
– Ruby 3.2.2
– Nginx
– Puma
– Mysql
– Frontend
– Next.js 14.1.0(app router)
– React 18
– typescript 5
– Infra
– AWS(ECS Fargate/ECR/RDS(mysql)/ALB/Route 53/ACM/VPC)
– Vercel
– Docker
– docker

元記事を表示

コマンドラインからWordPressをインストールし直す

学習のためにAWSのEC2上でWordPressインストールしていろいろ見る、というのをやろうとした際、うっかりEC2のElastic IPを設定し忘れ、起動するたびIPが変わる環境になっていたため、インストール済みのWordPressにログインできなくなった、とかいうアホみたいな状況に陥ってしまった  (ᐛ) ばなな
なんとかするにはWordPress消して入れ直す=ちゃんとElastic IP設定した状況で設定し直す必要があるので取り組んだが、「消す」部分についてあまりいい手がかりが見つからなかった
なんとかできたことはできたので備忘録的に書いておく

# TL;DR
– (ssh接続から)WordPress用に設定したデータベースを `DROP DATABASE ~` で消す
– データベース作り直す(権限とかも付け直す)
– `/var/www/html/` 下のWordPress用ファイルを `rm -rf` で全て削除する
– `/var/www/html/` に再度WordPress用ファイルをコピーする
– 対象IP(ドメイン登録してあればドメイン)にアクセスしWord

元記事を表示

Terraformのモジュールを試してみた

# 背景・目的
過去に、[Terraformのメモ](https://qiita.com/zumax/items/71184fc108b6894e5b27)、[Terraform ステートを試してみた](https://qiita.com/zumax/items/74fad1270d3deab7379f)、[Terraformの環境をセットアップしてみた](https://qiita.com/zumax/items/71184fc108b6894e5b27)等で、Terraformを試してきました。

今回は、詳解 Terraform 第3版の、「第4章 モジュールで再利用可能なインフラを作る」を元に、モジュール化を学びます。

# まとめ
下記に特徴をまとめます。

|特徴 |説明|
|:–|:–|
|概要|モジュールは、本場とステージングのように、共通の環境は同じでスペックが異なる場合がある。Terraformモジュールに入れて、そのモジュールをコード内の複数の場所で使い回す|
|モジュールの基本|あるフォルダにあるTerraform設定ファイルの集まりを指す。|
|モジュ

元記事を表示

AWS認定SysOpsアドミニストレーター・アソシエイト受験談&学習法

## 概要
2024年5月19日にAWS認定SysOpsアドミニストレーター・アソシエイトの試験を受けて合格しましたので、学習したこと等を情報共有として書いていきます。
合格基準720点のところ799点で合格しました、、、う〜ん、微妙な点数ですね、とりあえず合格できたという感じです。
### 前提の知識と経験
まず今年の3月にソリューションアーキテクト・アソシエイト、4月にはディベロッパー・アソシエイトに合格しています。SysOpsアドミニストレーター・アソシエイトの範囲のサービスについては使ったことはありますが、触れたことがある程度かなと思います。
あと、この試験の直前に新入社員研修の講師としてAWSについて教えていましたので、いくつかのサービスを知らない間にハンズオンしていたのが良い経験になっていましたね。
### 学習期間
今回も大体1ヶ月くらいで、平日は1日2〜3時間、休日は5〜6時間くらいです。
実務で試験範囲のサービスを使っていれば、もう少し短い期間で合格できるかもしれません。
ちなみに同じ会社のMathew Chanさんは「数日間の準備」で合格できたらしいので、「マジか!

元記事を表示

Step Functionsを使ってみた

# Step Functions使ってみた
仕事でStep Functionsを利用することになり、既に別サービスが稼働しているため私用パソコン・個人AWSアカウントを用いて動作の確認をしてみました。

## ソースコード一式
私のGitHubの下記リポジトリに保存しております。
設定や事前準備は`src/README.md`を確認してください。
(AWS認証情報などは消しております)
[aws-step_functions](https://github.com/k-genki0913/aws-step_functions)

作成したStep Functionsのワークフローは以下になります。

### Step Functionsに関して調べたこと
※全体のソースコードはリポジトリを見て下さい。

#### ▪️sam te

元記事を表示

CloudWatch自分用まとめ(とりあえず章立て)

## CloudWatchとは?

## 実際に使ってみる
前回AWS上に構築したZabbixサーバ×1とZabbixエージェント×2をCloudwatchで監視してみることにする

## その他サービスとの連携
#### AWS SNS

#### AWS Lambda

## Zabbix(エージェント)との違いとは?
Zabbixエージェントと、Cloudwatchエージェント、Cloudwatchデフォルトでそれぞれ取得できるデータとそのソースをまとめてみる

#### ざっくりイメージ図

## まとめ

元記事を表示

【AWS×Webアプリ】CloudFront+S3静的Webサイトホスティング(Terraform)

## 目的
・AWS上の静的Webサイトホスティングを有効にしたS3をCloudFrontで公開。
・OAC(OriginAccessControl)を使用したアクセス制限。

## 前提条件
・Terraformを使用してAWS上にリソースを作成する。
・作成する内容は以下と同様

https://qiita.com/Haruki-N/items/c80e91d89ce9724d0fd8

## TFファイル
“`aws_s3.tf(前回からの修正箇所のみ抜粋)
data “aws_iam_policy_document” “allow_access_to_WebBucket” {
statement {
principals {
type = “Service”
identifiers = [“cloudfront.amazonaws.com”]
}

effect = “Allow”
actions = [“s3:GetObject”]
resources = [“${aws_s3_bucket.

元記事を表示

AWS CDKでTypeScriptのLambda関数をデプロイしてみた

公式ドキュメント通りに作成します

https://docs.aws.amazon.com/lambda/latest/dg/typescript-package.html#aws-cdk-ts

## CDKのプロジェクト作成

“`bash
$ mkdir hello-world
$ cd hello-world
$ cdk init app –language=typescript # cdkプロジェクトの初期化
$ npm install -D @types/aws-lambda # 型定義のインストール
“`

## TypeScirptコード作成
“`bash
$ touch lib/hello-world.function.ts
$ touch lib/hello-world.ts
“`

“`typescript:lib/hello-world.function.ts
import { Context, APIGatewayProxyResult, APIGatewayEvent } from ‘aws-lambda’;

export cons

元記事を表示

【AWS×Webアプリ】CloudFront+S3静的Webサイトホスティング(SAM)

## 目的
・AWS上の静的Webサイトホスティングを有効にしたS3をCloudFrontで公開。
・OAC(OriginAccessControl)を使用したアクセス制限。

## 前提条件
・SAMを使用してAWS上にリソースを作成する。

## 完成イメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3637963/2201b8a3-1bb2-3a79-9bb4-c475ebde7453.png)

## SAMテンプレート
“`template.yaml
AWSTemplateFormatVersion: ‘2010-09-09’
Transform: AWS::Serverless-2016-10-31

Resources:
WebBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub ${AWS::StackName}-webbucket-${AWS::AccountId}

元記事を表示

AWS Configの外部リソース(GitLab)に対するカスタムルール構築をTerraformで自動化する

# はじめに
AWS Config記事第2弾。
前回は、AWS管理リソースに対するルールと修復アクションの作成を自動化したが、今回は、外部のリソースをカスタムルールで検査してみる。

***前回記事***

https://qiita.com/neruneruo/items/79d795005e2547514c5e

本記事に必要な前提知識は以下の通り。

– AWS+Terraformの基本的な知識
– AWS Configの基本的な知識
– AWS SDK for Python (Boto3)の基本的な知識

# カスタムリソースの定義
まずは、検出する対象のカスタムリソースを定義する必要がある。
カスタムリソースはAWS公式の開発者ガイドを参考にしながら作成する。

https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/customresources.html

:::note warn
なお、ドキュメント中に突如“`mvn package“`というコマンドが登場するが、おそらく間違っていて、“`cfn

元記事を表示

AWS Systems Managerが思ってたより怖くなくて、便利だった。~複数のEC2インスタンスをログ監視できるようにしてみた~

# はじめに
豊富な機能を持つことから、Systems Manager(以下、SSM)への苦手意識があったのですが、
先日、builders-flashで以下の記事を読み、少し見え方が変わりました。

https://aws.amazon.com/jp/builders-flash/202405/systems-manager-series/

読むと分かるのですが、SSMは結構便利そうで、楽しそうです!

今回はSSMの触りとして、
CloudWatchエージェントのインストールと設定を、**複数のEC2を対象に一括で**実行してみようと思います!!

# やってみた
## EC2を用意する
### SSMで操作するための要件を確認する
まずはEC2を用意します。

EC2インスタンスをSSMで操作するためには、以下を満たす必要があります。
① SSMエージェントがインストールされている
② SSMやCloudwatchを操作するポリシーがEC2にアタッチされている
③ EC2から外部インターネットにアウトバウンドが可能である

また、これらの条件を満たし、SSMが操作可能なインスタ

元記事を表示

Amplify Gen2のStorage機能を使ってみた-①最初のアップロードまで-

どうも、駆け出し12冠エンジニアのアスカです。Amplify Gen2がGAしてドキュメントのStorage機能に関する部分が充実していたので、それを参考にしながら触ってみます!
[Amplify Gen2のドキュメント](https://docs.amplify.aws/react/build-a-backend/storage/)

想像以上にボリュームがあったので、連載の形をとろうかと思います。今回は1つ目の最初のアップロードまでやっていきます。
1. 最初のアップロードまで
1. 認証ルールの設定
1. ファイルのアップロード
1. ファイルのダウンロード
1. ファイルプロパティの取得
1. ファイルの削除
1. ファイルのコピー
1. ファイルイベントの取得
# 事前準備
ドキュメントのQuickStartを参考にプロジェクトを作成します。
参考:[Amplify Gen2がGAしたので再Quickstartしてみた](https://qiita.com/asuka0708japan/items/ab38f719ca73e39aa93e)
Amplifyの機能部分は以下のフ

元記事を表示

NIST によるクラウドコンピューティングの定義からAWSサービスを振り返る

# 概要
NIST: National Institute of Standards and Technology(米国国立標準技術研究所)の作成したクラウドコンピューティングについてをまとめた文書が読みやすかったので、これを元にAWSサービスを捉え直す。

# クラウドコンピューティングの定義から見たAWSサービス
## 5つの基本的な特徴
### オンデマンド・セルフサービス
– オンデマンドでリソースをプロビジョニングできるオンデマンドサービスを提供出来るサービス
– ユーザー自身でサービスの起動設定が出来るサービス
– AWSサービス例:
– **[Amazon EC2](https://aws.amazon.com/jp/ec2/)**
– インスタンスサービス
– オンデマンドでサーバーを起動・停止出来る
– インスタンスの起動や停止はユーザー自身によって行われる
– 従量課金、実際に利用した時間・リソースに対して料金が発生する
– EC2単体ではオートスケ

元記事を表示

Terraformのメモ

# 背景・目的
TerraformでNW関係のリソースを作成したときのメモです。

# まとめ

|分類|目的|
|:–|:–|
|NW|[VPCを作成する](https://qiita.com/zumax/items/71184fc108b6894e5b27#vpc)|
||[サブネットを作成する](https://qiita.com/zumax/items/71184fc108b6894e5b27#%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88)|
||[複数サブネットを作成する](https://qiita.com/zumax/items/71184fc108b6894e5b27#%E8%A4%87%E6%95%B0%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88)|
||[IGWを作成する](https://qiita.com/zumax/items/71184fc108b6894e5b27#%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%

元記事を表示

VPC CNIのEnhanced Subnet Discovery を試してみる!

EKSのCNIであるVPC CNIにEnhanced Subnet Discovery機能が追加されました!

https://aws.amazon.com/jp/blogs/containers/amazon-vpc-cni-introduces-enhanced-subnet-discovery/

VPC CNIはPodのIPアドレスをAWS VPC上のサブネット内から払出すCNIです。
VPC内のIPを払出す事でEKSクラスタ外のサーバやAWSサービスにオーバーヘッド無くアクセスできるメリットがあります。
一方、Podに払出す事ができるIPアドレスの上限がVPC CIDRレンジに制限されるため、IPアドレスの枯渇がしばしば問題になる事がありました。

EKSクラスタのIPアドレス枯渇問題については著者が以下のブログでまとめておりますので、宜しければこちらもご参照ください。

これまでもVPC CNIにはカスタムネットワークというIPアドレス枯渇問題に使える機能がありましたが、今回のEnh

元記事を表示

2分で読める「AWS Amplify」について

# 1. AWS Amplifyとは

https://aws.amazon.com/jp/amplify/?nc=sn&loc=1

AWS Amplifyは、Amazon Web Services(AWS)が提供する一連のツールとサービスで、フロントエンドのウェブアプリケーションおよびモバイルアプリケーションの開発、デプロイ、ホスティングを簡素化することを目的とした「クラウドプラットフォームサービス」です。以下の主要なコンポーネントから構成されています。

### Amplify CLI
コマンドラインツールで、プロジェクトのセットアップ、リソースのプロビジョニング、アプリケーションのデプロイを行います。

### Amplify Console
継続的デプロイメントとホスティングを提供するサービスで、Gitリポジトリと連携してコードの変更を自動的にデプロイします。

### Amplify Libraries
クライアントサイドライブラリで、認証、データストレージ、API呼び出し、分析などの機能を簡単に統合できます。

### Amplify UI Components
事前に

元記事を表示

【AWS】S3+CloudFront オリジンデータ更新時のキャッシュ動作

## 意義
S3+cloudfrontのサービスでS3データ(オリジン)更新時にユーザーの見え方についてどのような動作になるのかを確認するために実施

## 前提として
今回は手動での動きや操作を確認したいが自動化の場合は下記URLのようなS3イベント通知→Lamdba実行→キャッシュ削除が一番効率は良いと思う。今回はあえて手動で実施する。
https://zenn.dev/collabostyle/articles/3e7866de979682

## 使用サービス
・S3
・CloudFront

## 準備作業
今回は事前に準備してある”index.html”ファイルを使用して作成。
一連の設定は下記の通り。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3557022/da8ed794-d162-6440-2fe5-ee737ff0192e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazona

元記事を表示

OTHERカテゴリの最新記事