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

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

CDNって何??

## 初めに
皆さん「CDN」をお聞きした事はありますか?

現在AWSの学習をしています。
その際にCDNが出てきたので、自分なりにまとめてみました。

## CDNとは?
CDN=(Contents Dellivery Network)の略称です。

システムのサーバー負荷を下げつつ、コンテンツ配信を高速化する仕組みです

## 仕組みは?
![スクリーンショット 2024-03-25 15.36.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3744656/a04d22fd-0003-bfc8-37ef-0eeb3a85568c.png)

##### ①サーバーの負荷軽減
CDNでは、「エッジサーバー」と呼ばれる代理サーバーが、「オリジンサーバー」
 (大元サーバー)に代わりコンテンツ配信を行います。

エッジサーバーには、オリジンサーバーからキャッシュしたコンテンツが保存されており、ユーザーからリクエストがあると、オリジンサーバーに代わりレスポンスします。
(※エッジサーバーにキャッシュ

元記事を表示

Databricks にて Amazon が開発している大規模なデータ品質をテスト可能な PyDeequ を動かしてみた

## 概要

Databricks にて Amazon が開発している PyDeequ の動作確認を実施しましたので共有します。PyDeequ (python-deequ)の README に記載されているクイックスタートを Databricks の仕様に修正したコードで実行しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/62c4164f-ec2e-3f10-9623-4742f2d7717b.png)

引用元:[awslabs/python-deequ: Python API for Deequ (github.com)](https://github.com/awslabs/python-deequ)

## クイックスタート on Databricks

### PyDeequ に対応した Spark バージョンのクラスター(`12.2 LTS (includes Apache Spark 3.3.2, Scala 2.12)`)にて deequ (`co

元記事を表示

Lightsailを作ってみる④~【備忘録】SSH接続用アクセスキーの作成

# はじめに
以前からLightsailで諸々構築したりしてたのですが、今回どうしてもSSH接続がしたいということと、Lightsail構築時からあるデフォルトのアクセスキーは使用させたくないという思いがあり、デフォルトのアクセスキーのほかに接続用のアクセスキーを作成・接続してみたという備忘録になります。

**【以前Lightsailで色々やってた記事】**

https://qiita.com/Shun_konno/items/cc274c02ccb6931cb070

https://qiita.com/Shun_konno/items/f51ae599b68e0d2d36ea

https://qiita.com/Shun_konno/items/b6461594de1cdd7caa87

# 参考
https://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/amazon-lightsail-remove-ssh-key-on-instance.html

基本的に上記URL内記載の通りとなりますが、自分なりの注意事

元記事を表示

Savings Plansの共有先アカウントと使用量の確認アプリケーションを作ってみた

## 概要
https://qiita.com/hiroaki_i/items/2ac81024ec3f923ed771

の続きになります。
前回はその方法の共有でしたが、
今回はSAMテンプレートの共有です。

## テンプレート
https://github.com/hiroaki-ito-hulft/monthly-sp-cost-aggregator?tab=readme-ov-file

## 解説
### 出来ること
このSAMでデプロイされるスクリプトでは、
特定の1つのAWS Account IDで購入したSPを追跡できます。
アカウント指定は1つですが、複数SP IDがあっても問題なく、
複数のSPで合計何$そのアカウントに共有されたかが記載されます。

具体的には、以下のようなcsvが得られます。
| Account Id | Account Name | Legal Entity | Amount (USD) |
|:———–:|:————:|:————:|:————:|
| 11111111

元記事を表示

AWS認定 AWS Certified Solutions Architect – Professional 試験 (SAP-C02) に合格した話

## はじめに
最近、暑かったり、寒かったり、風が強かったり、雪が降ったりと、なかなか天気は安定せず、穏やかな春の訪れが待ち遠しいですね。

どーも、のぶこふです。

さて今回は、タイトルの通り、私(のぶこふ)が、SAP-C02に合格しましたよ。という内容です。

元記事を表示

Rainの「生成AIによるCloudFormationテンプレート作成」機能を試す

# はじめに
生成AIの業務利用が進んでいる昨今、CloudFormationやTerraformといったIaCテンプレート作成への活用も耳にすることが増えました。
筆者自身、CloudFormationやTerraformのIaCテンプレートを生成AIの助けを得て作成することもかなり多いです。定義を間違えることも時々ありますが、複数リソース間での論理参照をやってくれたり結構便利で助かっています。

ところで、CloudFormationのツールとしてRainというものがあります。このRain、生成AIによるテンプレート作成機能を持っているとのことです。
ということで今回はRainの持つ生成AIテンプレート作成機能を試してみます。

# Rainとは

Rainは、AWS CloudFormationのテンプレートとスタックを操作するためのCLIツールです。
CloudFormationのStackの参照やデプロイ、Template操作の拡張的な機能を利用可能で、Stackを作成するプロセスで役立つことも多そうです。

AWSのリポジトリで開発されています。ツール自体は生成AIを前

元記事を表示

【Cloudfront】 SPAをホストする場合、「/」以外のアクセスでリダイレクトさせる

## エラーの内容

Cloudfrontとs3を使用してVue製のSPAフロントエンドをホスティングしている時に、「https://example.com/login」のような、root直下以外のurlパスを指定したり、リロードするとCloudfrontのAccessDenyのエラーが表示されてしまった。

## 原因

Cloudfrontのエラーページの設定をしていなかったため。

「/login」のようにroot直下の「/」以外に直接アクセスされたり、リロードされるとCloudfrontはオリジンの対応するhtmlを探しに行ってしまう。

当然、「login.html」のようなページは用意しないのでファイルが存在せず、エラーとなる。

## 解決策

CloudFrontのカスタムエラーレスポンスで、403のときに/index.html(今回は「/」)へ転送するよう設定する。

今回、フロントエンドのインフラをTypeScript版aws cdkで構築しているため、以下のように記述しデプロイした。

“`typescript
// CloudFrontディスト

元記事を表示

氷河(Glacier)に眠っている写真たちをサルベージする 〜 その1 環境構築

# はじめに
 6年前、撮りためていた十数年分の写真のバックアップを模索していて、興味本位でAmazon S3 Glacierにバックアップを取っていたが、後になって取り出し方が簡単ではないことがわかり、これまで何度かGlacierからの写真の取り出しを試みたがことごとく挫折した(Javaでプログラムを組んだり、Pythonでプログラムを組んだり、AWS CLIを実行してみたり…)。
 最近になって、ようやく写真の取り出し方がある程度確立できたので、ここに技術メモとして残す。Macで試しに作成したものをUbuntuに移植したものとなる。

# 実行環境
* Ubuntu 22.04 LTS
* Node.js
* MongoDB
* AWS CLI
* Next.js

# 手順
1\. nvmのインストール
“`
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
$ source ~/.bashrc
“`
2\. Node.jsのインストール
“`
$ nvm i

元記事を表示

AWS勉強備忘録22 – VPCの構築、VPCエンドポイント、VPCピアリング

## VPCの構築
AWSのVPC(Virtual Private Cloud)を使うことで、自分専用のクラウドネットワークを構築できます。この記事では、AWSにログインしてからVPCを設定し、インターネットに接続するまでの全ステップを分かりやすく解説します。

### はじめに:AWSにログインする

1. **AWSマネジメントコンソールにログイン**します。
2. 適切な**リージョンを選択**します。リージョンは、デプロイしたい地理的な場所に基づいて選んでください。
3. マネジメントコンソールのサービス一覧から**VPCダッシュボードを開きます**。

### ステップ1: VPCを作成する

1. 「**VPCを作成**」ボタンをクリックします。
2. VPCの**名前を設定**します。わかりやすい名前をつけましょう。
3. **CIDRブロック**を設定します。これは、VPC内で使用するIPアドレスの範囲です(例: `10.0.0.0/16`)。
4. テナンシーを選択します。デフォルトの「**デフォルト**」か、「**専用**」か。特別な理由がない限り「デフォルト」で問

元記事を表示

ACMを使ってインポート証明書の期限管理したい

### やりたいこと
AWS Certificate Manager(ACM)は証明書を使ってサーバ証明書の発行をすることができるが、EV証明書など一部の証明書形式は発行できない。
仕事で使う場合は上記のような外部証明書を使う必要があるが、その場合は証明書の期限管理をExcelでやる必要がある場合も出てきて、証明書の再発行が遅れるリスクがある。
こういった問題に対してACmを使って証明書の期限管理だけやりたいというのがお題。

### 検証
#### 1.事故証明書作成
本来はEV証明書を使って検証できると良いが、顧客の持ち物だったりするとそれを検証に使うのは調整などがいるのでここは事故証明書を作成していく。
おそらくもっともリソース準備が不要で費用をかけずできるのがCloud Shellを使った方法なので、AWS上で作成していく。
といっても下記のコマンドをCloud Shellで実行するだけ。
①OpenSSLインストール
“`Shell:
sudo yum install openssl -y
“`
②ルート証明書作成
適当なディレクトリに移動して
“`Shell:
ope

元記事を表示

時間がないけどAWS認定試験に合格したい人に贈る効率の良い勉強法 #AWS

**AWS認定試験に合格したいけれど勉強している時間がない!**
本記事では、そんな方々に向けて、 **効率の良い勉強法** を紹介します。

# 対象読者

* いずれかのAWS認定資格の取得を目指している方
* 効率の良いAWS認定資格の勉強方法を探している方

# なぜこの記事を書いたのか

昨今、AWS認定資格を取得したいと考えるエンジニアは少なくないと思います。

* 新たなスキルを習得したい
* 持っているスキルを証明する
* PJ参画の要件として必要である
* 上司から取得するように言われた

等々、AWS認定資格を取得したいと考える理由は様々だと思います。

その反面、業務やプライベートが多忙で十分な勉強時間を確保できず、受験しても不合格となってしまったり、そもそも受験自体を諦めてしまう方もいるかもしません。

しかし、せっかく新たな資格を取得しようと思ったのに、諦めてしまうのはもったいない思います。

本記事は、多忙でありながらも新たな資格取得やスキルアップを目指しているエンジニアの方々にとって、少しでも助けになればと思い、執筆いたしました。

# 結論

時間が

元記事を表示

Amazon S3のフォルダについて

マネジメントコンソールでS3バケットにアクセスすると、`フォルダの作成`というボタンがあり。
S3にフォルダがあるのは当たり前のようにあると思い込んでしまいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1670622/50841812-4a02-9355-e4dd-0373b7386c32.png)

[フォルダを使用して Amazon S3 コンソールでオブジェクトを整理する](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/using-folders.html)

しかし上記ドキュメントを読むと、`Amazon S3 はフラットな構造であり、ファイルシステムに見られる階層はありません。`と記載があります。

マネジメントコンソールではフォルダが見えており、階層構造のように感じてしまいますが。

S3はファイルシステムのような階層構造ではなく、フォルダがあるように見せかける仕組みをつかって、フォルダの移行

元記事を表示

Macでもexe形式のゲームがしたい|EC2インスタンスタイプの変更

## はじめに
**記事の目的と内容の概要:**
MacOSでexe形式のゲームを実行するための解決策として、AWS EC2インスタンスのWindows Serverを利用する方法について説明します。

**対象読者:**
・MacOSでexe形式のゲームを実行できない方。
・AWS EC2の立ち上げができている方。
※AWS EC2の立ち上げがわからない方は、[前回記事](https://qiita.com/FuruFuroof/items/decfd860ebc3cd3b5144)を参考にしてください。

## 目次
1.現行環境の確認
2.目標スペックの確認
3.EC2インスタンスタイプの選定
4.インスタンスタイプの変更
5.新環境の動作確認
6.新環境の総評
7.まとめ
8.おまけ(リモートオーディオ設定)

## 1.現行環境の確認
### 1-1.現行EC2インスタンスのスペック
[前回記事](https://qiita.com/FuruFuroof/items/decfd860ebc3cd3b5144)では、AWSの無料EC2インスタンスを立ち上げました。
このとき、*

元記事を表示

既存クラスターでFargate Spotを利用する際にはまったこと

# はじめに
すでにECS on Fargateで本番サービスを稼働している状態でしたが、利用ユーザーが増えてきて起動するコンテナの台数も増えてきたため、コストパフォーマンスを上げるためにFargate Spotの検討を始めました。
その際、既存クラスターに変更を加えようとしていくつかはまったので、その共有になります。

# 最初に試したこと
既存のクラスターでFargate Spotを利用するために、[AWS re:Postに投稿されていた記事](https://repost.aws/knowledge-center/ecs-fargate-spot-capacity-provider)を参考にしました。

内容としては、AWS CLIコマンドを実行してCapacity Providerの関連付けをするというものでした。
“`bash
aws ecs put-cluster-capacity-providers \
–cluster \
–capacity-providers FARGATE FARGATE_SPOT

元記事を表示

CDK Pipelines とは

# 初めに

AWS CDK について学習を進めると CDK Pipelines というワードに出会います。

CDK の[開発者ガイドページ](https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/cdk_pipeline.html)には次のような説明があります。

> [CDK Pipelines](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.pipelines-readme.html) は、 AWS CDK アプリケーションを問題なく継続的に配信するためのコンストラクトライブラリモジュールです。 AWS CDK アプリのソースコードを 、 AWS CodeCommit GitHub、または にチェックインするたびに AWS CodeStar、CDK Pipelines は新しいバージョンを自動的に構築、テスト、デプロイできます。
>

CDK と CodePipeline に関連するモジュールだと推測できますが、具体的な内容はよく分かりません。

CDK Pipeline

元記事を表示

【Amazon Titan】画伯的な絵を描かせたとき、画像生成AI自身は「何を描いたの?」が分かるかを調べる

## 前置き:この記事について

2023年の11月28日に、Titan Image Generatorが使えるようになりました。
StableDifusionやDALL-Eと同じ画像生成AIです。

https://aws.amazon.com/jp/about-aws/whats-new/2023/11/amazon-titan-image-generator-model-bedrock-preview/

同じ時期に、Titan Multimodal Embeddingsも使えるようになりました。
画像とテキストをベクトル表現(埋め込みベクトル)に変換できる生成AIです。
※データがどのくらい似ているのかを比べることができるのがベクトル表現です。

https://dev.classmethod.jp/articles/new_bedrock_taitan_multimodel_embeddings_g1_ga/

単体で見ると新規性はなく、どちらも有名な競合がある生成AIですが、「2つの生成AIが近い時期に公開されて、なおかつ同じファミリーから出ている」のは珍しいと思います。

元記事を表示

【AWSまとめ】プライベートサブネットのEC2にVSCodeでJupyter-notebookを起動する方法

## ここでは、プライベートサブネットに配置されたEC2にVSCodeからSSH接続し、さらに接続先のEC2でJupyter-notebookを起動する方法を整理します。

## 最初に
**今回は、以下のリンク先の設定方法が済んでおり、VSCodeでプライベートサブネットのEC2にSSH接続できることを前提としています。**

〇 プライベートサブネットのEC2インスタンスへのSSH接続自体の方法は、以下のリンク先で紹介してます。

https://qiita.com/GORIN/items/2a73787d1a4b79f834cc

〇 プライベートサブネットのEC2にVSCodeからSSH接続する方法は、以下のリンク先で紹介済みです。

https://qiita.com/GORIN/items/8800760c7db77a74f7e8

## やること
1. EC2へのjupyter notebookのインストール
2. jupyter notebookのパスワード設定
3. jupyter notebookの起動
4. ブラウザでの操作
5. おわり

##

元記事を表示

AWSクラウドプラクティショナー受験体験記

AWSクラウドプラクティショナー(CLF-C02)に挑戦して無事に合格できました。

4月から受験料が大幅に値上がりするので、あせって駆け込み受験です。

### 試験準備

年末年始にネットの無料サイトで勉強してましたが、仕事が忙しくなって一旦中断してしました。3月に入ってからUdemyの模試で本格的に勉強を始めました。模試で9割くらい正解できるようになったので、本試験に申し込みました。AWSはハンズオンを受講した程度で、実務経験はありません。

### やったこと
* [Udemyの模試試験集](https://www.udemy.com/course/aws-4260/)

まず問題を解き、間違えた問題を中心に解説を読みました。解説が充実していたので助かりました。全部で6回分あるのですが、9割程度解けるようになってから次の回へと進みました。本試験直前の1週間は、毎日4〜5回解いてました。最終的には各回を10回程度やったと思います。

### やったけどあまり効果を感じられなかったこと
* ネットの無料問題集

無料なのはありがたいのですが、ちょっと解説に物足りない場合がありまし

元記事を表示

【API Gateway】IPアドレスによるアクセス制限を実装・設定する方法

API Gatewayで実装したAPIにおいてIPアドレスによるアクセス制限をする必要が出てきたため、その方法を調査・実装した。

# 結論
API GatewayのLambdaタイプオーソライザーを作成し、特定のIPアドレスにのみ認可を与えることでアクセス制限をかけることができる。

# 実装内容
まず、オーソライザーの本体となるLamnda関数を実装する。

“`javascript
exports.handler = async (event) => {
if(event.authorizationToken){
// X-forwarded-forの内容がトークンに設定されるので、
// カンマで区切りで取得したIPアドレスの一番最初の要素がアクセス元のIPアドレスになる
ip = event.authorizationToken.split(‘,’)[0].trim();
}
else{
return generatePolicy(‘user’, ‘Deny’, event.method

元記事を表示

AWS Control Tower × BLEAの概要について調べてみる

## はじめに

Control Tower と BLEA を用いたゲストアカウントのセットアップについて、BLEA 公式のGitHubの`README`から概要をまとめました

## 前提

– AWS CDKや Control Tower の基礎知識

## BLEAとは

– Baseline-Environment-on-AWS の略です
– スタンドアロン又は Control Tower ベースのマルチアカウントAWS環境において、安全なベースラインを確立するためのCDKテンプレートです
– [aws-samples / baseline-environment-on-aws](https://github.com/aws-samples/baseline-environment-on-aws)上にコードが公開されています

## Governance baselines

Control Tower のゲストアカウントに対して、以下3つの導入方法が提供されています

1. 手元からの直接展開(`blea-gov-base-ct.ts`)(デフォルト)
2. cdkPipel

元記事を表示

OTHERカテゴリの最新記事