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

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

atama plusが2023年に取り組んだクラウドインフラコスト削減を振り返る

こんにちは、atama plusという教育系スタートアップでSREチームオーナー/EM的な仕事をしている石井です。

この記事は [atama plus Advent Calendar 2023](https://qiita.com/advent-calendar/2023/atamaplus) の4日目です。

atama plusでは、昨今の円安の影響を受けて、インフラ関連予算と実績の間に乖離が出始めていました。そこで、AWSを中心に、為替影響を受けるサービスについて大幅なコスト削減対策を行ってきました。今年行ったインフラコスト削減の取り組みについて紹介します。

# コスト可視化と管理体制の構築
### 取り組み前はどんな状態だったか
– リザーブドインスタンスなど、金額感の大きいコスト削減策は入れ始めていましたが、後どれくらいコスト削減の余地があるのか把握は出来ていませんでした。
– 各クラウドについて、細かいコスト構造を常に追っている人はいませんでした。毎月の請求書金額をみて、その増減の要因について詳細な説明は出来ず、都度調べるといった無駄がありました。
### 体制

元記事を表示

500万円のAWSサービスを申し込んでしまった話

# はじめに
数年前に500万円のAWSサービスを申し込んでしまうという事件がありました。
以前にLTで発表したネタですが、今回記事にしました。

過去のセッション資料

# 背景:AWS教育環境
– AWSの社内教育を目的として自由に利用できるAWSアカウントを用意
一部のメンバーに管理権限を付与
– 利用ルール
– IGWやNATなどの作成禁止(社内プロキシを経由させる)
– VPCピアリングの禁止
– 不要なリソースは削除、利用する期間のみ起動

# 事件発生
ある日突然、AWS教育環境で高額のAWS利用料金が発生

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2741587/b8639eed-893d-e887-e989-30e7ae36

AWS CLFの勉強方法メモ

# はじめに
業務でAWSに触れず、予備知識0の状態から3ヵ月ほどでCLFに合格しました。
この記事を見てこれからCLFを勉強する方の参考になれば幸いです。
# 参考書・購入したもの
・[【CLF-C02版】これだけでOK! AWS認定クラウドプラクティショナー試験突破講座(豊富な試験問題300問付き)](https://www.udemy.com/course/ok-aws-e/)
・[【CLF-C02版】この問題だけで合格可能!AWS 認定クラウドプラクティショナー 模擬試験問題集(6回分390問)](https://www.udemy.com/course/aws-4260/)

CLF合格に向けて購入したものは上記の2つのみになります。
通常7600円のところセールの時は1600円で買えるので、セールの時を狙うのがおすすめです。
# 勉強方法
#### まず自分が実際に行った勉強方法についてまとめます。

1. 解説動画を視聴し、内容をノートにまとめる
1. 模擬試験1周目を解く(解いた後解説を読みもう一度解き直してから次の模擬試験に行く)
1. 正答率70%(本番の合格ライン

AWS App Runnerでインターネットに接続する際の注意点

結論、NATが必要です。

ただ、App Runnerからインターネットにアクセスする際に「なんでNATが必要になるのか?」となったのでまとめました。

ある案件でコンテナサービスでApp Runnerを使用することにしました。
「AWS App Runnerについて簡潔に教えて」GPTに聞いてみました。

>AWS App Runnerは、AWSが提供する完全に管理されたアプリケーション実行サービスです。AWS App Runnerを使用すると、コンテナ化されたアプリケーションやコードリポジトリからのコードベースのアプリケーションを簡単にデプロイ、実行、スケーリングすることができます。
>AWS App Runnerでは、ユーザーがアプリケーションのソースコードやコンテナイメージを指定し、それを基に自動的にデプロイメントパイプラインを構築します。また、リアルタイムの監視、ログ収集、自動スケーリングなどの機能も提供されます。
>AWS App Runnerは、開発者やチームがアプリケーションのデプロイメントに関連する複雑さを最小限に抑えることができるため、迅速かつ効率的なアプリケーショ

複数のIAMポリシーを1つにまとめる

MEGAZONE 株式会社 のテック陣「MEGAZONEのゆかいな仲間たち」がおくる、Megazone Japan Advent Calendar 2023 の17日目のエントリーです。

## はじめに

[前回](https://qiita.com/Bibulous/items/8d624861d3de7b624363 “ReadOnlyAccessは何を見るか?”)はReadOnlyAccessが存在しないAWSサービス用のIAMポリシーを作成しました。その話の続きとなります。

>僕「あるAWSアカウントの環境をチェックしたいので **ReadOnlyAccessのIAMユーザー**を発行してください。」
>管理者「必要となる権限の詳細を知りたい。 **対象のAWSサービスを絞れますか?**」
>僕 (利用中のAWSサービスは知っている…。そのAWSサービスの 〇〇ReadOnlyAccess を全部アタッチしてもらおうかな:thinking:)

僕「対象AWSサービスのIAMポリシーまとめたぞ。自作が必要なポリシーはActionを記載した。全部アタッチしてくれ。」

【AWS】手を動かしながら学ぶAWS SDK for Rust

## はじめに

この記事では 手を動かしながらAWSが提供するAWS SDK for Rust(以下、AWS SDK)を学習していく記事です。主な内容としては実践したときのメモを中心に書きます。
(忘れやすいことなど)誤りなどがあれば書き直していく予定です。

## RustでAWS SDKが使えるようになったとさ

> 投稿日: Nov 27, 2023
本日、AWS は AWS SDK for Rust の一般提供を発表しました。これにより、お客様はこれを本番環境のワークロードに使用できるようになります。AWS SDK for Rust を使用すると、開発者は AWS のサービスを操作し、Rust のコードとベストプラクティスに従った API を楽しむことができます。

[引用:AWS SDK for Rust の一般提供を開始](https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-sdk-rust/)

> Rust のコードとベストプラクティスに従った API を楽しむことができます

RustでAPIを楽しむ

Error occurred during operation ‘ECS Deployment Circuit Breaker was triggered’.に苦しめられた話

## 誰向けの記事?
こんな人たちへの助けになればと思って書いた記事です。
– ローカルでビルドしたコンテナイメージをECRにプッシュし、それを使ったタスク定義からサービスを作成しようとすると、「Error occurred during operation ‘ECS Deployment Circuit Breaker was triggered’.」と CloudFormationに表示されてサービスがデプロイできなかった人
– CPUアーキテクチャ違い※がないことを確認しても上記が発生して、原因がわからない人
-※ https://qiita.com/masaozi3/items/801e07979696051ae93b

## 結論
私※の場合、下記が原因でデプロイに失敗していました。
※AWS初心者ですので、他に設定ミスがある可能性があります。が、下記に対処するとデプロイに成功することは確認済みです。
– **ECRのエンドポイント(com.amazonaws.region.ecr.dkr, com.amazonaws.region.ecr.api)を設定し、プライベ

Red Hat OpenShift Service on AWS (ROSA) を利用して Keycloak クラスターを構築してみた

## この記事の目的

Red Hat OpenShift Service on AWS (ROSA) を使って Keycloak のクラスタ構成を作ってみたので,こちらに記録として残します.

[公式ドキュメント](https://access.redhat.com/documentation/en-us/red_hat_openshift_service_on_aws/4/html/introduction_to_rosa/index)に準じて作業を進めていきます.

:::note info
こちらの記事を参照して AWS 上で Keycloak の OpenShift クラスター構成を作成することができます.
Kubernetes に不慣れな方でも動作確認ができるように詳細に手順を示すようにしています.
:::

## 構成

![rosa-archtecture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997806/b16115ad-706d-e868-850f-1ac1c3658ab

【AWS Lambda関数作成】APIGatewayの作成手順(状態維持API編)

## はじめに
【AWS Lambda関数作成】APIGatewayの作成手順に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

## 🦁**結論**🦁

:::note info
押さえておくべき点
* AWSではAPI Gatewayは必須ツール。
* API Gatewayは「情報の出し入れの管理」「セキュリティ」「様々なデバイスに対応」「データの変換」などを行うことができる。
* CORS(Cross-Origin Resource Sharing)は、ウェブブラウザーのセキュリティポリシーの一部で、異なるウェブサイト(オリジン)間でデータを共有するためのルールや仕組み。
* オリジンとは、ウェブサイトやウェブアプリケーションがホストされているドメイン(サイトのアドレス)のこと。
:::
***

:::note alert
注意点
* テストではステータスが「200」が返ってきたとしてもエラーメッセージがある場合がある。
:::

***

##

AWS IAM Identity Centerを使ってAWSアカウントを本気で守る

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

この記事ではAWS IAM Identity Centerに関連する内容を超詳細にまとめています。

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

– AWS IAM Identity Centerとは
– AWS IAM Identity Centerの仕組み
– AWS IAM Identity Centerの活用
– AWS IAM Identity Centerのベストプラクティス

AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。

# この記事を読んでほしい人
– AWS IAM Identity Centerがどういうサービスか説明できるようになりたい人
– AWS IAM Identity Centerを採用するときのベストプラクティスを説明できるよ

Amazon OpenSearch Service と S3 の zero-ETL 統合の違和感の正体を探る

この記事は [**AWS Advent Calendar 2023**](https://qiita.com/advent-calendar/2023/aws) 18 日目の記事です。

:::note warn
本記事で言及している Amazon OpenSearch Service と S3 の zero-ETL integration (Direct Query) は 2023/12/18 時点で Preview の機能です。運用環境での使用は推奨されません。また将来的に動作や仕様が変更される可能性があります。
:::

## はじめに
AWS re:Invent 2023 で Amazon OpenSearch Service zero-ETL integration with Amazon S3 がプレビュー機能として発表されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/4f1ce3e7-89af-d140-3296-120baf8a4c04.png)

AWS Amplifyとの出会いと5年間の活動をまとめてみた

![img](https://memo.dayjournal.dev/images/try-108_02.jpg)

:::note info
この記事は、「[AWS AmplifyとAWS×フロントエンド #AWSAmplifyJP Advent Calendar 2023](https://qiita.com/advent-calendar/2023/amplify)」の18日目の記事です。
昨日は[@Ryo54388667](https://twitter.com/Ryo54388667)さんによる[AWS Amplifyを利用してNext.jsのアプリのStorybookをサクッと確認したい!](https://zenn.dev/ryota_09/articles/90003d4158ce51)でした。
:::

https://qiita.com/advent-calendar/2023/amplify

こんにちは、[Amplify Japan User Group](https://aws-amplify-jp.github.io)の[Yasunori K

DBって200種類あんねん〜DynamoDBと仲良くなるために〜

# はじめに

株式会社OMJテクノソリューションズ Advent Calendar 2023 18日目の記事です。

皆さんはNoSQLに触れたことがありますか?
私は学生時代も含めると10年近くRDBを何となく使っている程度だったのですが、
この1~2年でRDBではないデータストアに触れるようになりました。
(よちよち歩き状態を支えてくださった社内のメンバーには本当に感謝です・・・。)

「NoSQLという単語自体はなんとなく知っているけど結局何なんだ」
とずっと疑問だったのですが、

DynamoDBに触れているうちにわかってきたこと
DynamoDBとRDBの差異

を主観ベースで列挙しようと思います!

これからNoSQL(主にDynamoDB)やサーバーレスに触れる、あるいは興味がある人の一助となれば幸いです。

# 前提
## まずNoSQLってなに?
そもそもNoSQLってなんだい?というところなんですが、
「RDB以外のDB」と説明されていることが多い(ような印象)です。

書いて字の如く「SQLではない」
つまり、問い合わせなどの命令をする際にSQLは使わないのです

老ハムスターに遠隔で餌をあげる by Alibaba Cloud Serverless App Engine

## はじめに

こんにちは。@komasayukiです。

この記事は、Alibaba CloudのkubernetesやServerless製品(SAEなど)でサービス立ち上げてみよう by Alibaba Cloud Advent Calendar 2023 の18日目です。

https://qiita.com/advent-calendar/2023/alibaba1

家のハムスターが年老いてきて、カリカリ(ドライフード)の餌を食べられなくなってしまいました。

そのため、カリカリを粉にして水に溶かしてあげています。ゼリーも食べられないようで、液体食が必須です。ハムスターなのに餌をほっぺに貯められないので死活問題です。

残念ながら、私が家に帰れない日があり、愛ハムスターに遠隔で餌をあげるシステムを作ることにしました。

以下が完成したハムスター餌やり機です。

![ハムスターの自動餌やり機](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141013/33709e82-ae13-bedf-e96a

インターネットアクセス禁止環境下で Amazon Bedrock APIを実行

# はじめに

MEGAZONE 株式会社 のテック陣「MEGAZONEのゆかいな仲間たち」がおくる、Megazone Japan Advent Calendar 2023 の18日目のエントリーです。

Advent Calendarのネタが無いな・・と途方に暮れていたところ、ふとAmazon Bedrockを触ったことがないことに気づきました。
そして同時にインターネットアクセス禁止環境で実行できるのかなと思い、検証をしてみました。

# 1. 指針

– Bedrock APIを呼び出す主体は、インターネットアクセス不可の環境に置く。今回はインターネットアクセス不可にしたSageMakerノートブックインスタンス(バージニア北部リージョンのプライベートサブネットに紐づけ)を使いました。
– Bedrock用のVPC エンドポイントを使用。
– 必要なデータがあれば、S3に置く。
– 細かい制御できるのかしら。。

# 2. 検証

https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/api-setup.html

Amazon Bedrockで画像生成&S3保存するPythonコードを書く

## はじめに
画像生成AIで絵を作成するのが好きなので、Amazon Bedrock(以下Bedrock)でStable Diffusion XL 1.0を使ってみました。

作りたいイメージは頭の中にあるのですが、それをちゃんと出力できるプロンプト考えるのが結構大変なので、チャット形式でざっくりイメージを伝える -> よしなにプロンプト組み立て -> 画像生成して返してくれる
といったアプリを作れればいいなあと思ってます。

今回はAWS Lambda(以下Lambda)からStable Diffusion XL 1.0のAPIを叩いて、作成された画像をS3に格納する部分を作りました。

Bedrockは、Meta、Stability AI、Amazonなどが提供する基盤モデル(生成AIの一種)を利用できるフルマネージド型サービスです。マネジメントコンソール上のPlaygroundsで提供されているモデルを試してみることもできます。

https://aws.amazon.com/jp/bedrock/

## 1. 構成

完成系はこんなイメージです。
Amazon API Ga

App Runnerを使用して安くホスティングしたい

:::note warn
この記事は、[Supershipグループ Advent Calendar 2023](https://qiita.com/advent-calendar/2023/supership)の18日目の記事になります。
:::

# はじめに
AWS上にアプリケーションをホスティングしようと考えた際に、EC2やFargateを使用する等いくつかのパターンが考えられます。
その中で、App Runnerのコスト計算方法が少し特殊で、これを利用すれば安くホスティングできるのではないかと考えたため、まとめます。
# App Runnerとは
AWS App Runnerとは、AWS上でコンテナ化されたアプリケーションを構築・運用できるフルマネージドサービスです。

https://aws.amazon.com/jp/apprunner/

Codebuildからデプロイ環境までマネージドしてくれるサービスであり、Githubのソースコードをビルド・デプロイ、もしくはECRのビルド済みコンテナを用いてデプロイすることもできます。
GithubにソースコードをpushするとA

【AWS】VPCのアクセス制御

# ルートテーブル
サブネットに関連付けることでサブネット内のリソースの通信経路を設定できる。
ルートテーブルでインターネットゲートウェイまでの通信経路を示すことで,インターネットとの通信が可能なサブネットにできる。

VPCを作成するとメインルートテーブルが自動的に作成される。サブネット間のアクセス・通信制御はカスタムルートテーブルを追加・作成することで行う。

またVPC内の各サブネットは何かしらのルートテーブルに関連づける必要があり,関連づけられていない場合はメインルートテーブルに関連づけられる。複数のサブネットを1つのルートテーブルに紐づけることは可能。

# セキュリティグループ
仮想ファイアウォール機能。EC2やRDSなどのVPC内リソースのトラフィック制御をすることができる。ステートフルに動作する。

:::note info
**トラフィック**
一定時間にネットワークを流れるデータ量
:::

:::note info
**ステートフル**
通信や処理において状態を保持すること
:::

# ネットワークACL
仮想ファイアウォール機能。サブネットに対して通信の設定を

AWS IoT Core を使って Jetson Nano をクラウドに接続してみた

# 1. はじめに
普段シンクライアントやクラウドにしか触れることのない今、物理デバイスへの熱きノスタルジーを捨てきれないエンジニアたちはどこに向かえばよいのでしょうか。

本稿では、CUDA コア 128 基の GPU を搭載した可愛いやつ、NVIDIA Jetson Nano を AWS IoT Core に接続してみたいと思います。

# 2. 概要
手順はシンプルで、以下の 2 ステップで進めて行きます:

1. まずは Jetson Nano のセットアップをおこないます。
1. 次に AWS IoT Core の管理コンソールの手順に従い、Jetson Nano を AWS IoT Core に接続します。

# 3. 用意した機材
本稿を執筆するにあたり、用意した機材は以下となります:

* NVIDIA Jetson Nano 開発者キット B01
* Nextorage 64GB micro SDXC (UHS-I, U3, V30)
* カメラ関連でお世話になっている Nextorage さんの SDXC を使用させていただきました。
* サードパティ製 AC

Redshift Serverlessのスケジュールスナップショット機能を試す

先日のre:InventにてRedshift Serverlessに関する[管理機能のアップデート](URL “https://aws.amazon.com/jp/about-aws/whats-new/2023/11/amazon-redshift-serverless-manageability-usability-features/”)がありました。
地味に嬉しい機能がいくつかありますが、ここではスケジュールスナップショット機能を試してみます。
2023/12現在、[スケジュールスナップショット機能](URL “https://docs.aws.amazon.com/general/latest/gr/redshift-service.html”)の設定はマネジメントコンソール非対応のため、AWS CLIで設定を進めます。

AWS CLIのバージョン
——————-

最新版のAWS CLIを使用します。

“`bash:コマンド:
aws –version
“`

結果(例):

aws-cli/2.14.5 Python/3.11.