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

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

CloudFormation yaml構文エラー

CloudFromationのyaml作成時に出た構文エラーについてまとめてみました。
## 構文エラー1
“`: エラー例1
Property vaildation failure: [Value of property {該当箇所} does not match type {Array}, THe property {/Tags/0/Value} is required, The property {/Tags/1/Key} is required}
“`
対処方法:下記のようにSecurityGroupIds部分を修正することで解決しました。
“`javascript: コード修正前
RedshiftServerlessWorkGroup:
Type: AWS::RedshiftServerless::Workgroup
Properties:
SecurityGroupIds: !Ref RedshiftServerlessSecurityGroup
“`
“`javascript: コード修正後
Redshif

元記事を表示

AWS lambdaの新機能

AWSのLambdaでロギングについて新機能が追加されました!

>AWS Lambda では、JSON 構造化形式でネイティブにログをキャプチャし、ログレベルを調整し、Lambda 関数用の Amazon CloudWatch ロググループを選択できる高度なロギングコントロールを発表しました。
(公式サイトより引用)

# 変更内容
+ JSON形式でLambdaログを取得
+ ログレベルの制御
+ CloudWatchのロググループを選択

# JSON形式でLambdaログを取得
LambdaのログをJSON形式で管理できるようになったため、keyとvalueの値からログの検索がしやすくなりました。
また、Kibanaなどのダッシュボードで分析しやすくなりました。

# ログレベルの制御
ログレベルを変えるにはソースコードを変更する必要がありましたが、Lambdaの新機能でログレベル(INFO、WARNING、ERRORなど)を調整できるようになりました。
これによりデバッグがしやすくなりました。

# CloudWatchのロググループを選択
Lambdaがログを送るCloud

元記事を表示

Security Hub におけるセキュリティ基準のコントロール一覧を一回で全部出力するスクリプトを作った

背景

「[AWS Security Hub が AWS CloudFormation を使用した管理機能の強化を発表](https://aws.amazon.com/jp/about-aws/whats-new/2023/06/aws-security-hub-enhanced-management-capabilities-cloudformation/)」で以下のような update(Jun. 2023) がありました。

また、新しい AWS::SecurityHub::Standard リソースを使用することで、NIST 800-53 や PCI DSS など、特定のセキュリティ基準を有効にして、そこに含まれる個別のコントロールを管理することもできます。

コントロール毎の有効化/無効化の設定をするために、Security Hub のコントロール情報を AWS CLI で出力したくなった人が急増(?)しているのではないでしょうか。

以下のように `aws securityhub describe-standards-controls` コマンドでセキュリティ基

Amazon Route53の耐障害性を考える

# はじめに
この記事はDevOps on AWS大全の一部です。
DevOps on AWS大全の一覧は[こちら](https://zenn.dev/tech4anyone/articles/c05ee9777c6de0)。

この記事ではAmazon Route53を耐障害性の観点から超詳細解説しています。

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

– Amazon Route53とは
– 耐障害性を考慮したルーティング

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

# この記事を読んでほしい人
– Amazon Route53を採用するときのベストプラクティスを説明できるようになりたい人
– Amazon Route53の耐障害性に不安を感じている人
– AWS Certified DevOps Engineer Professionalを目指している人

# Amazon Route53とは
Amazon Route53とは高可用、スケーラブル、そして完全マネージド型の権威D

Amazon Bedrockの新機能アップデート予想!(AWS re:Invent 2023)

さぁ今年もクラウドサービスAWSの年一回のお祭り「AWS re:Invent」の季節がやって来ました。

https://aws.amazon.com/jp/events/reinvent-2023/

2023年は何と言っても生成AIが大注目。re:InventでもBedrock関連のアップデートが多数発表されることが予想されます。

今年は私も初めてラスベガスで現地参加するのですが、Bedrock芸人としてアップデート予想をしてみます。

# ① Agent for Amazon Bedrockの一般提供開始

8月からプライベートプレビュー中のBedrockの新機能です。これは高い確率でre:Invent中にGAされるのではないでしょうか。

https://aws.amazon.com/jp/blogs/news/preview-enable-foundation-models-to-complete-tasks-with-agents-for-amazon-bedrock/

AWSマネジメントコンソールからの操作だけで、S3バケット等に格納した文書ファイルを参照させてタス

Step Functionsでフィールド名にスペースが入っている場合の表記

# はじめに

AWS Step Functionsを使っている時に、フィールド名にスペースが入っていて困ったので、その際の対応方法を記事にしました。

# 概要

入力のサブセットにアクセスするパスの表記は以下の2つがあります。

– ドット (.) を使う方法
– `$.abc.def`
– フィールド名にスペースがある場合はうまく動きません
– 角括弧 ([ ]) を使う方法
– `$[‘abc’][‘def’]`
– フィールド名にスペースがある場合は、こちらが使えます

# 参考

https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/amazon-states-language-paths.html#amazon-states-language-reference-paths

# やってみた
## 入力イベント
ステートマシンの入力に、スケールアウト成功のイベントを使います。

https://docs.aws.amazon.com/autoscaling/ec2/user

Amazon EKS on サービスアカウントの IAMロール

# サービスアカウント

Pod 内のコンテナから各リソースへのアクセス制御の際に用いられる。

# サービスアカウントの IAMロール

IAM ロールをサービスアカウントと関連付けて、サービスアカウントを使用するように Pod を設定する。

***要するに、Pod 単位で IAM ロールを割り当てることができる!!!***

# 手順

大まかな流れ

1. クラスター用の IAM OIDC プロバイダーを作成
2. IAM ロールを引き受けるための サービスアカウントの設定
3. サービスアカウントを使用するように Pod を設定する

## 1. クラスター用の IAM OIDC プロバイダーを作成

クラスターには、**OIDC 発行者 URL** が関連付けられています。
サービスアカウントで IAM ロールを使用するには、クラスターの OIDC 発行者 URL に対して **IAM OIDC プロバイダー**が存在している必要があります。

EKS クラスターのコンソール画面より
![スクリーンショット 2023-11-25 18.44.20.png](https:

ジョブネットを想定してAWS Step Functions の再実行パターンを試してみた(1)シンプル編

AWS Step Functions で再実行ができるようになったので、ジョブネットのエラー対応をどれだけ実現できるか試してみます。まずはシンプルなステートマシンを使用して確認します。

https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-step-functions-restarting-workflows-failure/

# 想定するジョブネット

説明をわかりやすくするために、用語は以下の通りとします。

実行する処理をジョブと呼びます。ジョブはシェルスクリプトで実装されていて、EC2上で稼働する前提とします。そして、複数のジョブをつなげて実行する塊をジョブネットと呼びます。

本記事で想定するジョブネットは以下とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3623605/be0f9811-4b5b-6589-162c-0ac84527c702.png)

# ジョブネット再実行のパターン

本記事

KeycloakからAWSコンソールにSAML認証でサインイン

# はじめに
AWSコンソールに,KeycloakからSAMLでサインインできるようにする設定手順です(2023/11現在)。KeycloakをIdP,AWSコンソールをSPとしたSAML認証の設定を行います。
関連して,記事中で扱うXMLやMapperについて,別記事にまとめました。

https://qiita.com/gaichi/items/0fc75aa647ec72831f38

# 設定方法
## keycloakの立ち上げ

KeycloakはDockerhubの公式イメージで立ち上げます。バージョンは16.1.1でした。
“`
$ docker run -d -p 18080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=Password –name keycloak jboss/keycloak
“`

参考

https://qiita.com/cold-wisteria/items/557c0d9bd34b9d638f58

今回はDockerホストの18080番ポートで,TLSなしで起動します。D

初めてのAPI-Gateway+Lambda

## 初めに
流行りのAWSの勉強をしているものの実際に動かしたことがなかったため手始めに5分で作れるレベルのアプリを作成してみました。
触ってみると理解が進むのと、作成も複雑ではないのでご活用ください。

## 対象の方
– AWSでLambdaを使って簡単なアプリを作成してみたい人
– API GatewayやLambdaを知っているものの動かしたことのない人

## やりたいこと
フロントからAPI-Gatewayに対してリクエストを投げ、API-GatewayからLambdaを呼び出し結果を返却するアプリの作成。
## 前提
– AWSのアカウントを作成済みであること。
## Lambda
– AWSマネジメントコンソールからLambdaで検索し、関数の作成を押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3480753/b63cab83-8521-7846-840b-a4ab90114759.png)
– 必要項目を入力し「関数の作成」を押下。
※関数名はお好みで指定して

CloudFormationのForEach関数内でテンプレート内のリソースを参照する

# 1. はじめに
CloudFormationのForEach関数を使用してリソースを作成する際に、テンプレート内のリソースを参照する方法でハマったので、備忘録として記録

# 2. 何をしたいのか
通常CloudFormationテンプレート内でリソースを参照するときは、
“`yaml
!Ref SampleVPC
“`
のようにRef関数を使用すればいいが、ForEach関数を使用して作成リソースごとに参照するリソースを分ける場合は、`!Ref SampleVPC`このような参照方法が使えません。
今回は`AWS::EC2::SubnetRouteTableAssociation`の中で、テンプレート内のサブネットとルートテーブルを参照したいと思います。

# 3. テンプレート
“`yaml
AWSTemplateFormatVersion: 2010-09-09
Description: Create VPC, Subent
Transform: AWS::LanguageExtensions

# Parameters Section
Parameters:
Sy

見守りカメラの写真をGIFにしてX (twitter)へ自動投稿する

## 1. はじめに
はじめまして初投稿です。
お留守番の猫をX(twitter)で見れたらいいなぁと思い、作った仕組みについての記事です。
できるだけtwitterは X と書きます。

### 1.1 目的
仕事中も猫が見たい。

### 1.2 実際に X へ自動投稿したツイート
こんな感じにツイートされます。2fpsなのでカクカクですが、それでも様子を確認するには十分です。