AWS関連のことを調べてみた2023年10月13日

AWS関連のことを調べてみた2023年10月13日

VPC エンドポイントポリシーのプリンシパルを書く時の注意点

VPCエンドポイントポリシーを設計する際に、ゲートウェイ型のエンドポイントポリシーのPrincipalを定義したが、意図した動作にならないことに気づきました。
ゲートウェイエンドポイントでプリンシパルに定義する際には`aws:PrincipalArn`を利用する必要があります。

## AWS公式ドキュメントには

> ゲートウェイエンドポイントでは、aws:PrincipalArn 条件キーを使用してプリンシパルへのアクセスを許可する必要があります。次のいずれかの形式でプリンシパルを指定すると、アカウントのすべてのユーザーとロールではなく、AWS アカウントのルートユーザーのみにアクセスが許可されます。
> “`
> “AWS”: “account_id”
> “`
> “`
> “AWS”: “arn:aws:iam::account_id:root”
> “`
https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/vpc-endpoints-access.html#vpc-endpoint-policies

#

元記事を表示

Cloud Loggingのベストプラクティス 監査ログに関するコスト最適化・分析

# はじめに
本記事はGoogle Cloudのログ管理サービスである[Cloud Logging](https://cloud.google.com/logging?hl=ja)について記載しています。

クラウド環境におけるログ管理は、多くの利便性をもたらしますが、従量課金という切っては離せない課題が存在します。

本記事ではGoogle Cloudで取り扱う監査ログの運用を行うにあたり、サービスの使いどころやAWSと比較した際のポイントなどについてまとめています。

Google Cloudの監査ログは、AWSと比較した際にコストに影響を与える要因が多いため、適切な管理が求められます。

## Cloud Logging
Cloud Loggingは、AWSのAmazon CloudWatch Logsに相当します。

基本的にGoogle CloudやAWSで管理するクラウドが出力するログは、JSON形式など**構造化**されたログを取り扱います。
従ってオンプレミスの環境と比べた場合、マネージドサービスなどを活用することで、収集したログに対する分析も容易です。

ログ分析系の

元記事を表示

S3イベントでECSを起動する【前編】

# はじめに
ユーザがS3にファイルをアップロードした際にそのS3イベントをトリガーとして何らかの変換処理を実施し、DWH/DataLakeに格納する、といった簡易システムのニーズは多い。
今回はLambdaでは処理出来ないような重い処理、かつ不定期な利用頻度である場合にECS Fargateを用いてコスパ良く対処するアーキテクチャの開発を実施するので、備忘として記録する。
今回は前編として、S3 Object CreatedをトリガーとしてECSでコンテナを起動する所までを実装する。[後編]()では、コンテナ内のpythonを用いてRDS for MySQLへのインサートを実装する。

# 概要
![スクリーンショット 2023-10-06 13.42.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409783/3ca83eac-aa7b-9d1a-13f0-bb07901f3d5e.png)
このように、S3のObject CreatedイベントからEventBridgeを噛んでStepFu

元記事を表示

Amazon Bedrock APIで始めるLLM超入門④ LangChain応用編 Agent機能でWeb検索とWeb要約

LangChainのAgent機能を使用して、LLM外部のWeb情報を取り込んで生成できるようにします。

:::note
Agent for Amazon BedrockではなくLangChainのAgentです
:::

実現する機能の説明
– 自然言語の問い掛けに対して、LLMが「最新情報が必要」と判断した場合は、Web検索を行いその内容を元に生成します
– 自然言語の問い掛けに対して、LLMが「URLを含む文字列を渡された」と判断した場合は、該当URLの内容を取得し、それを元に生成します
– 上記以外の場合は通常のLLMのみで応答します

# LangChain Agentとは
LLM自身に実行するToolを考えさせて、実行します。
なんのこっちゃって感じですが、中を見ていくと理解が深まります。

https://python.langchain.com/docs/modules/agents.html

ReActの一種になるんでしょうか。(下の英語の説明の方が詳しい)

https://www.promptingguide.ai/jp/techniques/react

h

元記事を表示

RDSの認証局(rds-ca-2019)、もう更新した??

# はじめに

2023年8月末に、AWSよりAmazon RDS認証局証明書rds-ca-2019の有効期限に関する通知がありました。
通知内容は、
「認証局証明書rds-ca-2019は2024/8/23に証明書の有効期限が切れるので、暗号化通信を利用している場合は認証局の更新をする必要がある。」
とのことで、詳細は以下の公式ドキュメントに記載されています。

[RDS認証局更新について-公式ドキュメント](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)

実はこれ、過去に「rds-ca-2015」から「rds-ca-2019」へ更新が発生した際も同様の周知がされていました。
しかし私は完全に油断しており、Health Dashboardの通知が来てから思い出しました…。

基本的に「rds-ca-2015」のときとやることは一緒ですが、今一度確認項目と更新方法を振り返ろうと思います。

元記事を表示

AWSのElastic Beanstalkを使って簡単なWEBアプリ開発環境を構築する(Apache+Tomcat+DB)

# 初めに
WEBアプリの開発環境を一から構築するのは何かと手間がかかります。
AWSのElastic Beanstalkを使うとボタンをポチポチするだけで簡単に作成可能です。
開発や検証環境などちょっと試したいなといった場合にはとても便利ですので構築方法についてまとめました。

# 大まかな構築手順
1. VPCの構築
1. Elastic Beanstalkの構築
1. DB (PostgreSQL)の構築

# 1. VPCの構築
さっそくやってみましょう。

## VPCの作成
作成したいリージョンを選択する。
サービスの「VPC」を検索し、「VPCを作成」を押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188825/53b5d431-ba44-29e6-f75f-8d6b5bb1a229.png)

作成するリソース:VPCのみ
名前:適宜入力
IPv4 CIDR:適宜入力
⇒「VPCを作成」を押下。
![image.png](https://qiita-image-

元記事を表示

AWS サービス名の由来を勝手に想像する

# はじめに
AWSって本当にたくさんサービスがありますよね。
SAAの試験勉強をしている時、VPCやEC2、RDS、S3などよく使われるサービスは自然と覚えるのですが、あまり使う機会が少ないサービスだとなかなか頭の中に入ってきません。
そんな時、私は「そもそもこのサービスって何でこんな名前なんだろう?」というところから、少しずつ分かることを積み上げていました。
そこで、今回は私が勝手に想像したAWSサービス名の由来についてまとめたいと思います。
(勝手にとはいいながらいい線をいっているのではないかと思っています)

:::note info
追加があれば随時更新していきます。
:::

# 私が勝手に想像したサービス名の由来
### Elastic Beanstalk
– アプリケーションに必要なインフラ環境を自動でデプロイしてくれるサービス。
> Elastic Beanstalk は、ウェブアプリケーションやサービスのデプロイとスケーリングのためのサービスです。コードをアップロードすることで、Elastic Beanstalk が、容量のプロビジョニング、ロードバランシング、Au

元記事を表示

【AWS】日次バッチの異常発生をSlack通知で検知する【運用監視】

## 初めに
### 日次バッチの異常発生通知がないと困ること
深夜の日次のバッチ処理をAWSのStepFunctionsなどで実行している場合、手動実行の結果確認と異なりバッチ実行結果の確認が翌日の朝になる。また、毎日実行されているバッチが連日正常に終了していると気が付かぬうちにある日異常が発生し、以降連日気が付かない状態で異常が発生し続けるという困ったことが起こる。
システム運用のあるべき姿として異常が発生したらすぐに通知すべき。その時寝ていて気が付かなくても翌日の業務開始時に異常発生を運用者が知り、すぐに対応できるようにしておきたい。
システム運用のチームではSlack等のチャットツールが良く使われていると思うが、そこにメッセージ通知するためのシステム構成を記事にした。
※この記事はアーキテクチャの説明をメインにしています。コンソール画面を使った設定手順等は各サービスのコンソール画面の指示に従ってください(操作手順を説明されているAWS公式サイトのURLをこの記事の最後に記載してあります)

## 使うAWSサービス
・Amazon CloudWatch
・Amazon SNS

元記事を表示

Amazon Bedrock APIで始めるLLM超入門③ LangChain基本編+チャット履歴

LLMを弄っているとLangChainが付いて回るので、LangChainからBedrockを呼び出してみます。

# LangChainとは?

LLMを使った機能開発を行いやすくするOSSのフレームワークです。頻繁に更新されます。特にBedrockがGA直後なのでBedrock周りはちょこちょこ修正されているように思います。

https://python.langchain.com/docs/get_started/introduction

# ローカル環境の準備
LangChainをインストールします。
“`:ターミナル
> pip install -U langchain
“`

# ログ出力の設定
LangChainが生成したプロンプトを確認する為、BedrockからCloudWatch Logsにログを書き出す設定をします。
まずロググループを作成します。保持期間は適当です。
AWS Cloud Practitioner 学習記録6

:::note info
AWS Skill Builder における下記コンテンツの学習記録(ポイントとメモ)です
AWS Cloud Practitioner Essentials (Japanese) (日本語実写版)
:::

セキュリティはいつでも重要です
あらゆるサービスに付随する概念なのでしっかり勉強しましょう

# モジュール6:セキュリティ
### 概要
AWS が導入しているセキュリティの仕組みと責任共有モデル、およびその他のセキュリティサービス

### AWS 責任共有モデル
**責任共有モデル** とは以下のように責任を切り分ける
+ AWS が管理し責任を負う、クラウド自体のセキュリティ
+ ユーザ(自分)が管理し責任を負う、クラウド内のセキュリティ

家を建てる例の説明はとても分かりやすい
#以下は自分が解釈したイメージ
+ 建築業者(AWS)は家を建築し、建築物(AWS のサービス)に対して責任を負う
+ 電気や水道がコンピューティングリソースなら、契約した計算量が提供されるか?
+ 建物の部屋がストレージなら、必要な容量が確保されてい

元記事を表示

[AWS]CDK custom resourceのメモ

## Source code of CDK custom resource

I found the following code in AWS CDK code (TypeScript) in my daily job.

“`ts
import { custom_resources as customResources } from “aws-cdk-lib”;

// The LogGroup class doesn’t expose any methods or properties to update
// the tags used by a log group.
new customResources.AwsCustomResource(this, “CwlTagsCustomResource”, {
onCreate: {
service: “CloudWatchLogs”,
action: “tagLogGroup”,
parameters: {
logGroupName: `/aws/rds/cluster/${props.

元記事を表示

ひよっこCCoEが入社1ヶ月を振り返ってみた

# はじめに

簡単に自己紹介させて頂きます。

私はNon-Tech領域を中心にCCoEとして別業界の事業会社で数年業務を行いまして
今年、2023年9月に当社のCCoEとして中途入社を致しました!
(バリバリのクラウドエンジニア・・では残念ながらなく日々精進中です…:runner:)

あっという間に約1ヶ月経過し、未だに毎日ソワソワしていますが入社1ヶ月を振り返ってみて感じた事を交えながら弊社の雰囲気や様子をお伝えできればと思います。

# 入社して良いと感じた弊社のGoodPoint

最近は新メンバーがコンスタントに入社されている事もあり、とにかくコミュニケーションのきっかけがたくさん用意されていると感じました。
また、人材育成にも注力していることを実感しましたのでその一部をご紹介します!

## 関連チーム全てのメンバーとの顔合わせ会が用意されている

CCoEが所属しております、グループデジタルソリューションセンターには複数のチームがあります。
1ヶ月かけてその全てのチームの皆さんへ新メンバーから自己紹介をする場が設けられています。Welcome!な雰囲気を感じられて

元記事を表示

AWS Client VPN Endpointではターゲットネットワークを”分けるな”

# はじめに
よくよく考えれば簡単なことですが、ず~~~っと同じ問題に苦しんでいたのでもし同じような事をしようとしてる人の助けになれば幸いです。

# 何が起きた?
AWS Client VPN Endpointを使用して、AWSとオンプレのリソースに加えて固定IPによる認証があるサービスへのアクセスを行うためのVPNを構成していました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3314743/abea284a-98d8-3e1d-bf3c-0be24ebd816c.png)
かなり適当な図で申し訳ない。
上記のように
– Client VPN Endpointに10.255.0.0/22のネットワークを割り当て
– 2つのターゲットネットワークを関連付け
– AWSとオンプレのリソースはMainサブネットへルーティング
– その他はclient-vpn-tunnel-subnetへ向け、client-vpn-subnetにNATを設置しIGWへ出る

といった構成にしていました。

元記事を表示

【AWS】Cognitoのキャリア認証メールの文字化け対応

# キャリアメール文字化け
CognitoIdentityServiceProviderのadminUpdateUserAttributes関数を用いてメール認証やメール変更を行なっているところ、キャリアメールの場合文字化け現象が起きてしまいました。

原因はキャリアメールの場合、OSのメッセージアプリを使ってメール受信するから、送信者と受信者でメールソフトのエンコードが異なると文字化けが発生してしまいます。

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#adminUpdateUserAttributes-property

# SESマルチパート配信
SESを用いて、マルチパート配信すれば、解決できます。SESマルチパートについて、前の記事に書きましたので、ここでは述べません。

https://qiita.com/ling350181/items/4988c703befa4c9c818d#%E3%83%9E%E3%83%AB%E3%83%81%

元記事を表示

AWSを基本からまとめてみた【AWS RDS】

## 参考サイト
[AWSのデータベースきほんのきAmazon RDS](https://www.youtube.com/watch?v=Y2fzwLjUf7w)

元記事を表示

AWSで Active Directoryの構築(オンプレミス⇔AWS)

# AWSで Active Directory を利用

AWSでActive Directoryを利用する際に構築可能な3つのパターンが存在している。

| |Active Directory Server
on EC2 | AWS Directory Service
Simple AD | AWS Directory Service
Managed Microsoft AD |
|:——|:——|:——|:——|
|ケース | オンプレミスWindows Server での運用とあまり変えたくない方 | 小規模なディレクトリやAWS 内で完結する方 | 高い可用性と耐久性が必要なActive Directory を新たに構築したい方 |
|運用・保守 | 自身で設計| AWS側で管理
Samba4 ベース | AWS側で管理
Windows Server 2019 ベース |
|セキュリティ| 自身で設計| CloudTrailを利用して監査ログの取得
自動アップデート |CloudTrai

元記事を表示

AWS開発初心者の備忘録

AWSの開発をしたことがない初心者の備忘録です。
柔軟な構成にできるのがメリットであり初心者にはデメリットになる部分だったので、何やかんや開発するまでの勉強法を備忘録として残します。

**【前提】**
・AWSの用語、代表的なサービスとその簡単な機能はある程度知識として持っておくと良いので、事前に[AWS 基礎知識]などでヒットしたサイトにざっと目を通すことをおすすめします。

## アカウント登録(無料枠をフル活用)

https://aws.amazon.com/jp/register-flow/

## ハンズオン1(EC2+RDS)
この構成のハンズオンはどこにでもあるので自分がやりやすいものを実施。

https://catalog.us-east-1.prod.workshops.aws/workshops/47782ec0-8e8c-41e8-b873-9da91e822b36/ja-JP

## ハンズオン2(サーバレス)
各サービスの機能が文字で読んでもいまいち理解しきれない場合に、知りたいサービスを利用したハンズオン

・API Gateway+Lambd

元記事を表示

SageMaker Python SDKのプロセッシングなどの出力先バケットの変更

# 概要
SageMakerのプロセッシングやトレーニングを実行した際の成果物や利用ファイルなどの出力先のS3の変更メモ。

– sagemaker==2.191.0

# 結論
`Session`オブジェクトを生成し、デフォルトバケットなどを変更して、`Estimator`や`Processor`などに渡してあげる。

追記
以下を見る限り設定ファイルでデフォルトを変えれそうな感じ。
https://sagemaker.readthedocs.io/en/stable/overview.html#configuring-and-using-defaults-with-the-sagemaker-python-sdk

# 経緯
ひとまずは、scikit-learnでやってみようと、ドキュメントを確認して進めていたが、変更できるものとできないものがあった。

– https://sagemaker.readthedocs.io/en/stable/overview.html#train-a-model-with-the-sagemaker-python-sdk
– https://sa

元記事を表示

AMI ブロックパブリックアクセス(AMI BPA)のデフォルト設定が更新されました

# ■概要

AWSより通知が届きました。日が近いので取り急ぎメモ。

件名:
[アクションが必要な場合があります] AMI ブロックパブリックアクセスのデフォルト設定が更新されました | [Action may be required] AMI Block Public Access default setting updated [AWS Account: 123456789] [AP-NORTHEAST-1]

# ■内容

2023年10月16日から、
AMIが誤操作等で公開される事を防ぐ機能(AMI BPA)がデフォルトで有効化されるとの事。

AMIの公開共有を設定していない場合、特に影響やアクションの必要性はなく、
パブリックAMIを保有する既存のAWSアカウントにも影響ないようです。

# ■AMI BPAとは

自身のAWSアカウント以外からのAMI(Amazon Machine Image)へのアクセスを禁止することができる機能です。
これまでもAMI単位でパブリックアクセスの可否を設定できましたが、BPAを有効にするとそのAWSアカウント内ではパブリックアクセス

元記事を表示

AWS SAA 模試直し③

# 現状
Udemyの講座をすべて視聴完了(約1ヶ月半かかった)
AWS-CLI取得済

# 今回の模試の結果
![スクリーンショット (87).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957298/4456a179-0b38-8d1e-89d7-6f6563e1d688.png)
各章のまとめをしたことによって大幅に得点が上がった。
あと2問正解で合格ラインなので頑張りたい。

#直し
### Auto Scaling
スケーリングがうまく実行されずに24時間以上たった場合は、自動的にAuto Scaling処理が停止

### Aurora
デフォルトの構成で、マルチAZに分散化される DB クラスターを構成→追加でマルチAZ配置を設定することはできない→Auroraレプリカを複数のアベイラビリティゾーンに展開することで、可用性をさらに高める

### EC2
##### クロスアカウントアクセスによって外部ベンダーに適切なアクセス権限を委譲する方法
サードパーティーのWEBアプリケーション

元記事を表示

OTHERカテゴリの最新記事