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

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

AWS KendraのRDSコネクタを使用してMySQLの情報を回答させてみた

## はじめに
AWS KendraのRDSコネクタを使用してMySQLの情報を回答させてみました。

## 環境
– AWS
– Amazon Kendra
– Amazon RDS

## 実装

### RDSデータベースの作成
AWS上で、RDSのページに移動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3124507/825c96f5-cfff-742b-3ba0-ac1e82c1c375.png)
  
「データベース」タブで、「データベースの作成」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3124507/84e1943c-28f1-5f26-c4f5-c786b73d699f.png)
  
データベース作成方法は「標準作成」を選択します。

![image.png](https://qiita-image-store.s3.ap-north

元記事を表示

CloudFormationを使ってALBとRoute53とACMを連携してHTTPS接続しよう!

## 概要
CloudFormationを使ってHTTPS用のListnerとTarget Groupを作成し、HTTPS通信できるよう設定する方法について解説します

## 前提
– ECSを作成済み
– ドメインをRoute53に作成済み
– ACMを作成済み

以下の記事でECSとALBを作成する方法について解説したので気になる方は読んでいただけると幸いです

https://qiita.com/shun198/items/5ea5147445a65a435231

https://qiita.com/shun198/items/971c606699d918bffa6e

## ディレクトリ構成
“`
tree
.
└── templates
└── security
└── sg.yml
“`

## 実装
ALBとRoute53の設定を行います

“`alb.yml
AWSTemplateFormatVersion: 2010-09-09
Description: “ALB Stack”

# ————————–

元記事を表示

AWS CloudFrontとS3を使用して、webサイトをhttpsで公開する方法

業務でよく、APISpecのSwaggerViewをS3+CloudFrontの構成で公開する事が多く、毎回やるたびに工程が多くて忘れてしまうので、備忘録として残しておきます。
私のAWS歴は約半年程ですが、たぶん初心者の方でもできるぐらい詳しく書いたつもりなので、分からない所とかあればコメントいただけると、わかる範囲でお答えします。

# 1. s3バケットを作成する
### 必須の設定項目
1. このバケットのブロックパブリックアクセス設定⇒パブリックアクセスをすべてブロック
これ以外は自由に設定して問題ないと思われるが、一通りデフォルトの状態で問題ないので、バケット名だけ入力してバケットを作成でOK

### ページにベーシック認証を付ける場合
1. cloudShellを開き、以下のようなコマンドを叩く({}内は任意の文字列)
“`echo -n “{ID}:{password}” | base64“`
するとこのような形のランダムな文字列が生成される
“`aAAfCAiut5bvsD6gTA==“`
これをコピーしておく
2. “cloudFront“で関数ペー

元記事を表示

AWS CLIでCloudWatchLogsのロググループの保持期間を一括更新しよう

# はじめに
CloudWatchLogsのロググループにログがたまり続けると、AWS利用料が密かに上がってしまいます。

AWS CLIを用いて一括更新するシェルスクリプトを作ってみました。

# スクリプト

“`sh:update_log_retention.sh
#!/bin/sh

cd `dirname $0`

# 保持期間を1日にしています。
RETENTION_IN_DAYS=1
REGION=ap-northeast-1

LOG_GROUPS=$(
aws logs describe-log-groups \
–query “logGroups[].logGroupName” \
–output text \
–region ${REGION}
)

for LOG_GROUP in ${LOG_GROUPS}
do
aws logs put-retention-policy \
–log-group-name ${LOG_GROUP} \
–retention-in-days ${RETENTION

元記事を表示

CloudFormationを使ってCloudFrontとS3を構築しよう!

## 概要
CloudFormationを使ってCloudFrontとS3を構築する方法について解説します

## 前提
– Route53にドメインを登録済み
– ACMを発行済み(リージョンはバージニア北部)

## ディレクトリ構成
“`
tree
.
└── templates
├── network
| └── cloudfront.yml
└── storages
├── s3-bucket-for-frontend.yml
└── s3-bucket-policy-for-frontend.yml
“`

## S3作成用のスタック
静的ファイルを格納するS3を作成します

“`s3-bucket-for-frontend.yml
AWSTemplateFormatVersion: 2010-09-09
Description: “S3 Bucket Stack”

# ————————————-
# Metadata
# —————

元記事を表示

AWS認定資格取得に向けての公式トレーニング開始手順で迷ったのでまとめた

# はじめに

AWS認定資格取得に向けて、AWS公式のトレーニング(無料)を開始したかったが、
開始までに迷った部分があったのでまとめる。

# どこから開始するの?

開始は、AWS training and certification (https://www.aws.training/) から。
右上を必要に応じて「日本語」に変更しつつ、サインインを押す。
![0000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3668873/631a69bf-e98e-2a7a-bc78-b9fe6654fd4b.png)

# 何を作成するの?

AWSビルダーID を作成するところから開始。
![0001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3668873/f0ed66d9-bc8d-b471-3eee-89a1d254c404.png)

「メールアドレス」、「名前」を入力して次へ。
![0002.png]

元記事を表示

AWSアカウントをあらゆるAWSのセキュリティサービスで守り切る

# はじめに
この記事はDevOps on AWS大全 実践編の一部です。
DevOps on AWS大全 実践編の一覧は[こちら](https://qiita.com/tech4anyone/items/c27e74f9ae569ced259f)。

この記事ではAWSアカウントを本気で守るアーキテクチャを決める流れを解説しています。

具体的には以下流れで説明します。

– 解決したい課題の整理
– 今回使うAWSサービスの整理
– アーキテクチャの策定
– 策定したアーキテクチャで達成できたこと

AWSの区分でいう「Level 400 : 複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル」の内容です。

# この記事を読んでほしい人
– DevOpsエンジニアがアーキテクチャを決めるときにどのような思考フローを踏んでいるか知りたい人
– AWSアカウントを本気で守るアーキテクチャを知りたい人
– AWS Certified DevOps Engineer Professionalを目指している人

# 前回までの流れ
[こちら](ht

元記事を表示

SysOps(SOA)受かりたいならラボ試験がなくてもハンズオンをやりなさい

# はじめに
こんにちは。記事を開いてくださりありがとうございます。
12月にSOA(ラボ試験なし)を受験して不合格、2週間後の1月にリベンジして合格したもののかなりギリギリでの合格だったため、確実に受かるにはどうしたらよいのかを振り返ってみました。しくじり日記みたいなものなので、今後SOAを受験する予定のある方の参考になればなと思います。

※ハンズオンをやれという理由のみ知りたい方は[こちら](#ハンズオンをやれという理由)に飛んでください。

# プロフィール
– 受験時の保有資格
– SAA (AWS Certified Solutions Architect – Associate)
– DVA (AWS Certified Developer – Associate)
– AWS認定試験受験履歴
– SAA-C03(23/10/29受験):合格(23/10/30発表)
– DVA-C02(23/12/02受験):合格(23/12/02発表)
– SOA-C02(23/12/27受験):不合格(23/12/28発表)
– SOA-C02(24/01/1

元記事を表示

個人開発の履歴(メモ)

## はじめに
過去に個人開発したアプリのURLとか忘れそうになるので、メモメモ。
なお、ソースコードは全てGitHubで公開している。
https://github.com/hiro16131104

## EmoMeter_感情測定アプリ
– リリース日
2024年1月10日
– URL
https://emo-meter-front-end.hirohiro-web-app.net
– アプリの概要
メンヘラな文章になっていないか、診断するアプリ。
使い道としては、
・SNSに投稿する前の文章が攻撃的な内容になっていないかチェックする
・決算資料の定性分析がポジティブな内容かネガティブな内容かをざっくり判断する
などなど。
– 技術
– フロントエンド
Next.js(TypeScript)
– バックエンド
FastAPI(Python)
– データベース
DynamoDB
– インフラ
AWS Amplify、Lambda

## AI Creator for 3DCG
– リリース日
2023年4月2日
– ア

元記事を表示

クラウド移行とモダン化をあえてシンプルに考えてみる

## 目次
– [はじめに](#はじめに)
– [クラウドとオンプレミスの違い](#クラウドとオンプレミスの違い)
– [クラウド移行のメリット](#クラウド移行のメリット)
– [クラウド移行の方式](#クラウド移行の方式)
– [クラウド移行のステップ](#クラウド移行のステップ)
– [アプリケーションのモダン化とは](#アプリケーションのモダン化とは)
– [あえてシンプルに考えてみる(さいごに)](#あえてシンプルに考えてみる)

## はじめに
最近、クラウド移行について深く考える機会があったので、筆者の頭の整理も兼ねて体系的に書こうと思う。
システム設計にはバリエーションが無数にあるので、かえって混乱している人もいるのではないか。
そのため、ここはあえて網羅性は捨てて、シンプルに説明していく。
なお、この記事では、アプリケーション・ミドルウェア・OSを含んだ集合体のことをシステムと呼称する。

**想定する読者**
– オンプレミスでのアプリケーション設計の経験(又は知識)はある。
– AWSなどのクラウドサービスは、ほとんど使ったことがない。

**この記事を読むと理解

元記事を表示

【AWS】Lambda関数のレイヤー作成と利用【Lambda】

## はじめに
AWS Lambda Layers(レイヤー)を使用すると複数のLambda関数で共通のコードやライブラリを共有できます。これによりコードの再利用性を向上させ、Lambda関数間で共通の機能やライブラリを簡単に管理できます。
今回の記事ではこのAWSLambdaLayerの作成、設定方法、レイヤーを使うメリットについて記載しています。

## レイヤーの作成/設定手順(ローカル環境で作成する場合)
### 1. Lambda Layer用のプログラムの作成:
#### ①Pythonコードの作成
・ここでは文字列を返すだけのコードを実装しています
![2_Code作成.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/8fa74653-7d1e-93f1-029f-4a66d382befc.png)

#### ②依存関係を取得:
・コードが依存している外部パッケージがあれば、これらを取得します。通常、pipを使用して仮想環境で必要なパッケージをインストールします。
・pyt

元記事を表示

Cloud9の実行環境を構築する

AWS CDKの学習環境としてCloud9の構築を実施したのでメモ

## ネットワークの構築
Cloud9のインスタンスを動かすためのネットワークを構築します。
今回は以下のリソースをCloudFormationで作成するため、テンプレートファイルを作成します。

– VPC(10.0.0.0/16)
– PublicSubnet(10.0.0.0/24)
– PrivateSubnet(10.0.1.0/24)
– PublicRouteTable
– PrivateRouteTable
– InternetGateway
– ElasticIP
– NATGateway

“`networkForCloud9.yaml
AWSTemplateFormatVersion: 2010-09-09
Description: Deploy Cloud9 VPC

Resources:
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
EnableDnsHostnames

元記事を表示

[Terraform]ACMを利用してHTTPS通信ができるようにしてみた

## 目的
Terraformの学習初めたので、アウトプットの備忘録

## ACM(Amazon Certificate Manager)とは
WebサイトなどへのHTTPS通信を有効化しSSL/TLS証明書を管理をするサービス
(今回はALBに証明書をアタッチします)

![blog.drawio (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3663364/112384a0-74d0-a30b-119f-2dc2b5bcf092.png)

## SSL/TLS証明書検証(DNS検証)の流れ
1. ACMにSSL/TLS証明書をリクエストする
2. ACMは、リクエストされた証明書が本人のものであるかを確認する為にCNAMEレコードを渡してくる
3. 渡たされたCNAMEレコードを自分のものであると証明するためにCNAMEレコードをドメインとRotue53へ追加する
4. ACMは追加されたCNAMEレコードをインターネットを介して確認する
5. ACMはSSL/TLS証明書を発行済状態に

元記事を表示

AWS stepfunctions で S3 の prefix を指定してオブジェクトを削除するステートマシンの作成

備忘録も兼ねたメモです。

## 概要
### やりたいこと
stepfunctions で S3 の特定の prefix のオブジェクトを指定してそのオブジェクトをすべて削除する。

### 結論
次の Code で実現可能です。

“`json
{
“Comment”: “A description of my state machine”,
“StartAt”: “ListObjectsV2”,
“States”: {
“ListObjectsV2”: {
“Type”: “Task”,
“Next”: “Map”,
“Parameters”: {
“Bucket”: “icpcgs3cdc”,
“Prefix”: “prefix”
},
“Resource”: “arn:aws:states:::aws-sdk:s3:listObjectsV2”,
“ResultSelector”: {
“Delete.$”: “$.Contents[*

元記事を表示

AWS Management Console myApplicationsを使ってみた:アプリ毎のコストとセキュリティを簡単に管理

# はじめに
こんにちは、都内でソフトウェアエンジニアとして活動している[YSasago](https://qiita.com/YSasago)です。
AWS re:Invent 2023の基調講演でDr. Werner Vogelsによって発表されたAWS Management Console myApplicationsを使ってみました。このサービスは、アプリケーションごとのコストやセキュリティの管理に役立ちます。また、基調講演は[Youtube](https://www.youtube.com/watch?v=UTRBVPvzt9w)で視聴することができます。

![IMG_0148.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95954/87e00704-87c1-bc9c-f178-a9c3b2dea1a4.jpeg)

# AWS Management Console myApplicationsとは
AWS Management Console myApplicationsは、アプリケ

元記事を表示

AutoScalingで、別VPCにENIを作ってEC2にアタッチ

# はじめに
以前、AutoScalingでスケールアウト時に、別VPCに作っておいたENIをアタッチする内容を記事にしました。

https://qiita.com/a_b_/items/136fb263664175d4ae1f

本方法だと、事前にENIを作成しておきます。

今回は、都度ENIを作ってアタッチするようにしてみました。

# 概要

– AutoScalingグループにライフサイクルフックを追加して、EventBridge -> StepFunctionsでアタッチします
– StepFunctionsで、ENIを作成しアタッチします
– ENIはアタッチ後に、”EC2終了後に自動削除を有効”の設定にします

# 構成図

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/755d54f1-7486-f55e-dbd6-95d9e00e3158.png)

# CloudFormationテンプレート

長いですが、CloudFormation

元記事を表示

【AWS】EFS (Elastic File System) 備忘録

 Amazon Elastic File Systemは、ペタバイトデータまで自動的にスケールする共有ファイルシステムである。複数の異なるマシンからアクセスする必要のあるファイルシステムで有効である。高耐久性(負荷分散)と高可用性(スケール)の備えたよく見る構成 EC2 + Auto Scaling + ALB + EFS で使用される。

https://docs.aws.amazon.com/ja_jp/efs/latest/ug/whatisefs.html

 料金体制は、使用した容量・通信で従量課金され、スタンダードクラスで 0.36USD(GB-月)、すべてのストレージクラスで読み取り 0.04USD(GB), 書き込み 0.07USD(GB)の料金がかかる。

https://aws.amazon.com/jp/efs/pricing/

制限としては、以下のようなものがある。

https://docs.aws.amazon.com/ja_jp/efs/latest/ug/limits.html

![image.png](https://qiita-image-s

元記事を表示

ハッカソン参加時の備忘録 ~ 第3回:AWS LambdaとAWS RDS(MySQL)を連携させてみよう ~(1)

こんにちは。ITエンジニアのきゅうです。
第3回目は業務アプリケーションでは必ずと言っていいほど使うデータベースに接続させてみたいと思います。

そもそもAWSには様々なデータベース(以降DB)が用意されており、
特にNonSQLをAWSはプッシュしている様に思いますが、
今回は使い慣れたRDSの中でもMySQLを使用していきたいと思います。
以下、今回作成するアーキテクチャイメージになります。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618971/8b73423b-f55c-73be-cd20-c430198e107f.png)

# VPCの作成
“`
使用するサービス:VPC
使用する機能:VPC
“`
### 1.VPCの作成
RDSはVPCを設定する必要があるので、事前にVPCを作成しておきます。
AWSにログインしたら、まずは検索ボックスより「VPC」と入力し、開かれた『VPC』のダッシュボードより「VPCを作成」ボタンをクリックします。

### 2.VPCの設定をす

元記事を表示

Amazon DynamoDBのポイントインタイムリカバリとは?の備忘録

### ポイントインタイムリカバリ(Point-in-Time Recovery、以下、PITR)toha?
PITRを使用すると、DynamoDBテーブルを過去の状態に復元できます。この機能を活用することで、誤ったデータの削除や更新、テーブルの誤った設定などが原因で発生した問題に対応できます。

### 指定した時点のデータ復元:
テーブルに対して特定の時点までデータを復元できます。これにより、誤って削除されたデータや不正な変更があった場合に、過去の正常な状態に戻すことができます。過去35日間の任意の時点にテーブルを復元することができます。

### 自動バックアップ:
DynamoDBは、テーブルごとに自動的にバックアップを作成します。これにより、データ損失を防ぐために必要な情報を保存し、リカバリが容易に行えるようになります。

### 秒単位の柔軟なリカバリポイント:
PITRでは、バックアップは秒単位で行われ、任意の時点をリカバリポイントとして選択できます。この柔軟性により、細かい粒度でデータを復元できます。

### 長期的なデータ保存:
バックアップは長期間保存されます。こ

元記事を表示

AWSで書かれている仮想インターフェイス(VIF)とは?の備忘録

## AWS公式による意味
仮想インターフェイス (VIF) は AWS のサービスにアクセスするために必要であり、接続はパブリックもしくはプライベートのいずれかです。パブリックな仮想インターフェースでは、Simple Storage Service (Amazon S3) などのパブリックなサービスへのアクセスが可能です。

### 具体例:AWS Direct Connectを使用した際
AWS Direct Connectにおいて、AWS側の接続先を「仮想インターフェイス(VIF)」と呼びます。

### VLANとは?
VLANは、異なるVIFに異なるVLAN IDを割り当てることにより、物理的な接続を論理的なセグメントに区切ります。例えば、Public VIFとPrivate VIFは異なるVLAN IDを持つことで、それぞれが異なるネットワークセグメントに属することができます。これにより、トラフィックを効果的に分離し、異なるネットワークのセキュリティ要件を満たすことができます。
例えば、パブリックサブネットに一つ、プライベートサブネットに一つ。のような感じです。

元記事を表示

OTHERカテゴリの最新記事