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

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

【AWS】APIGatewayでLambdaのアプリ側で発生した例外処理を500エラーで返したい。

## 背景

JavaアプリをLambdaでホストしているが、API Gateway経由でビジネスロジック側のエラー処理した際、ステータス上200で返ってきてしまい、困ったので調べた

## TL;DR

Javaだと例外処理の返却値が標準エラーの形式と合ってないので、レスポンス内容にステータスコード(5XX系)を埋め込む
200系のレスポンスマッピングテンプレート側でステータスコードを条件分岐させてマッチすればオーバーライドするように処理させると500エラーにできる。

https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/apigateway-override-request-response-parameters.html#apigateway-override-request-response-parameters-override-response

## 確認手順

以下は、検証のために確認した手順を記載しておく

### 前提条件

以下構成なっていることを前提とする。

![image.

元記事を表示

AWS Certified Cloud Practitioner認定(CLF)の合格体験記(実務経験なし/3週間)

# 1. はじめに
2024年3月に受験したAWS Certified Cloud Practitioner認定で合格(858/1000)しましたので、合格までの記録を残したいと思います。
# 2. 勉強開始時点でのレベル
・文系大学卒業
・非IT業界の営業職4年間
・ITの知識ゼロで、社内のIT部署へ人事異動(周りの営業職に比べたらexcelが得意だった程度)
・前月、基本情報技術者試験に合格
・AWSに関する実務経験なし

基本情報技術者試験の学習を通して基本的なIT用語は理解していましたが、クラウドやAWSに関する実務経験はありませんでした。初心者がイチから学んで3週間で合格しましたので、同じような状況の方の参考になりましたら幸いです。

# 3. AWS Certified Cloud Practitioner認定を受験した理由
### ・会社で必須の資格だった
私は人事異動でIT系の部署に異動しましたが、その際に会社から2年以内にはAWS Certified Cloud Practitioner認定を必須で取得するようにという指示を受けました。実際には先輩を見ると合格していな

元記事を表示

AWS Organizationsの委任管理者の登録で詰まった箇所

## この記事について

– AWS Control Tower の検証中に、管理者の委任作業で詰まった点があったので、その紹介記事です

## 詰まった箇所

具体的には、Control Tower の Account Factory Customization (AFC) の検証中に、Service Catalog の管理者を委任する場面でした

### Service Catalog 委任のコマンド実行

– [DevelopersIOのAFCの記事](https://dev.classmethod.jp/articles/control-tower-account-factory-customization/)を参考に以下コマンドを CloudShell で実行しました
– AWS公式ドキュメントの[register-delegated-administrator](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/organizations/register-delegated-adminis

元記事を表示

ぼっちでもControl Tower連載[2/2]~予防的ガードレールの確認~

# はじめに
この記事では予防的ガードレールSCPの設定を確認していくのですが、
書き終える頃に、ガードレールやコントロールについてまとめられているドキュメントを見つけました。
https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/controls-reference.html

コントロールについての記述がドキュメントの下層にあったため気付くのが遅れました…
Control Towerのコントロールとして必須コントロールの他にデジタル主権コントロールやプロアクティブコントロール、選択コントロールが用意されていて、初期設定では必須コントロールのみ適用されているそうです。

各種設定についてはドキュメントによくまとまっているので、この記事はあくまで、Control Towerの実装直後のコンソール画面を確認する程度の目的でお読みください…

# Control Towerでデフォルトでされる設定の確認をしていくよ
連載企画の①でとりあえずLandingZoneを作ってしまったので、どんな設定がされているのか

元記事を表示

Amazon Cognitoによる認証・認可の導入[概要編]

## はじめに
今までの案件でCognitoの導入を担当することがあったんですが、この辺の仕様は時が経つと忘れがちなので、備忘録として残しておこうと思います。

認証・認可の技術は結構難しいので、1記事にまとめるとわかりづらいかなと感じたので、記事をいくつかにわけて投稿していこうと思います。

今回は概要編をやっていきます。

## Cognitoってなにができるの?

簡単にいうと、会員登録制のサイトなどユーザー登録が必要なアプリに対して簡単に認証・認可の仕組みを導入できます。

つまり
– ログイン画面の用意
– アプリからユーザー情報の切り離し
– ロール・権限の定義

などをやってくれるので、本質的なアプリ自体の機能の開発に集中できます。

## Cognitoの実際のログイン画面

Cognitoで利用できるログイン画面は2パターンあって、AWSが用意しているHosted UIとユーザー側が独自で用意するUIがあります。

### Hosted UI
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazon

元記事を表示

AWS SAA取得に向けて

#自己紹介
IT業界:3年目
年齢:33歳
資格:JavaGold,OracleSilver,UMTP L2,基本情報…だけだったはず。
経験工程:基本設計〜結合テスト、システムテスト
経験言語:c#,Java,JavaScript

#AWS SAA取得を目指す経緯
現在のプロジェクトではAWSどころかクラウドを触っているわけではないが、クラウド関連の知識を付けるべくAWS SAAの取得を目指している。
正直無くても困らないが、すこしでも引き出しを増やしたいと思い取得を目指すことにした。

#AWS SAA取得へ向けて
ping-tの問題集でインプットとアウトプットをひたすら繰り返す予定。
ただ、どうしてもただ暗記するだけになりがちなので、qiitaで各サービスごとにまとめ記事を投稿しようと思う。

#AWS SAA取得後
開発スキル向上や顧客折衝の経験などは実務でやるとして、当面はプライベートの学習のメインは資格取得で行こうと思う。
AWS SAAを5月末で取得後は、情報処理安全確保支援士を今秋に取得を狙いたい。

元記事を表示

ECS On Fargateを利用する際に検討すべき非機能要件

# 背景
少し前にAWS Elastic BeanstalkからECS On Fargate(以下、Fargate)への移行を行いました。この移行に際し、注意すべき非機能要件がいくつかありましたので、それについて記載します。

# ロギング

ECSのコンテナは必要に応じて起動・削除されるため、コンテナ内にログを蓄積しておくと削除されてしまいます。そのため、ログドライバーを利用して外部にログを転送する必要があります。

ECSのロギングの設定には2つのパターンがあります。

CloudWatchLogsにログを送信するawslogsログドライバーを利用するパターン
CloudWatchLogsにログを送信する形式です。
送信先はCloudWatchLogsしか選択できないため、コスト面が気になる場合やCloudWatchLogs以外のサービスにログを流したい場合などは後続のawsfirelensログドライバーを選択した方が良いでしょう。
こちらのメリットとしては、ログドライバーを設定するだけで済むので設定が簡単です。
自分が担当しているサービスはCloudWatchLogsにサービスの

元記事を表示

AWS EC2のDocker上でKeyCloakをたてる方法

## 認証・認可の導入
認証・認可の勉強がしたいと思い、KeyCloakを触ってみようと思いました。

最初はローカル上で構築していたけれど、実際に運用する場合はサーバー公開しないといけないから手軽にEC2上で構築してみました。

## EC2はAmazon Linux2を選択
今回は無料利用枠で使えるAmazon Linux2を使います。

スペックはt2.microでデフォルトのままにしました。

## dockerをインストール
インスタンス生成時に作ったキーペアを使ってSSHします。

“`
# pemのパーミッションがでかいと怒られるので、400に設定
chmod 400 ~/.ssh/[作成したキーペア名].pem

ssh -i [作成したキーペア名].pem ec2-user@[EC2のパブリックIP]
“`

下記コマンドでdockerをインストール

“`
# インストール
sudo yum install -y docker

# 起動設定
sudo service docker start
sudo service docker enable

# ec2

元記事を表示

GitHub Actionsとdockerを使用して、ECRのイメージに、安全にmaster.key を含める方法

# 概要
`Rails`の環境を`ECS`で作成する際、多くの開発者が`master.key`をコンテナーに環境変変数として設置すると思います。この方法でも問題ないですが、コンテナーの環境変数を使用したくないと言う要望もあるかと思い、表題の方法について手順を書きたいと思います。

# 前提条件
– `Docker`のバージョンが`18.09`以上である
– `Ruby on Rails`の環境がある
– `GitHub Actions`が導入されている
– `Docker`を使用して、`Ruby on Rails`の環境立ち上がっている

# GitHubの設定
– `Settings`を押下すると、サイドバーに`Secrets and variables`がある。その中に`Actions`がある為、そこに環境変数を入れる

![githubの画像.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/664659/764f7d3d-e61a-459b-4397-413c7b77d5ae.png)

:::n

元記事を表示

AmazonLinux2023にJavaとMavenをインストールする

# 概要
これのAmazonLinux2023版です。

https://qiita.com/tamorieeeen/items/bcdf9729a5e9194c5d20

AmazonLinux2→AmazonLinux2023に乗り換えるにあたってローカルにAmazonLinux2023(以下AL2023)を立てて検証中なのでEC2で立てたとき用にメモ。

# 環境
– Windows 11 Pro
– VirtualBox 7.0.12
– Amazon Linux 2023
– Operating System: Amazon Linux 2023.4.20240319
– Kernel: Linux 6.1.79-99.167.amzn2023.x86_64

# 構築手順
## 1. JDK17をインストールする
– AL2023にはデフォルトでJavaは入っていないので入れます
– Amazon Corretto 17(JDK)を入れます
“`console
$ dnf list –available “java-*corretto*”
java-1.8.

元記事を表示

Cloud Watch Metrics?

## 初めに
本日は、CloudWatchMetricsについて記述していきます!

## CloudWatchMetricsとは:question:
監視対象のリソースのメトリクスを収集する、CloudWatchの機能です

## 用語:exclamation:
![スクリーンショット 2024-04-05 16.32.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3744656/1a4d8110-3f0a-32f4-ae6a-dabb8a183d22.png)

## 実際の画面を見てみよう:keyboard:
手順1
![スクリーンショット 2024-04-05 16.35.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3744656/1640758b-6ace-f445-3d6b-35de4362d1e6.png)

手順2
![スクリーンショット 2024-04-05 16.37.30.png](h

元記事を表示

AWS Certified Solutions Architect – Associate 取得の記録-2024年4月

### 取得したAmazon AWS 認定
AWS Certified Solutions Architect – Associate (SAA-C03)

### 本記事の目的
AWS-SAA の認定試験を受けて合格を目指す人向けです。合格指南書ではなく、わたしの過去の記録です。初回の認定を取ろうとしている人の参考になれば幸いです。

– [自己紹介](#自己紹介)
– [勉強期間](#勉強期間)
– [勉強方法](#勉強方法)
– [試験日の決め方](#試験日の決め方)
– [学習の順序](#学習の順序)
– [試験の時間配分](#試験の時間配分)
– [SAA 試験勉強あるあると対策](#saa-試験勉強あるあると対策)
– [勉強のツール](#勉強のツール)
– [まとめ](#まとめ)

#### 自己紹介
– 学校は非情報系を卒業
– 非IT 系の仕事を経て、ウェブデザイナー、ウェブプロデューサーの実務を担当
– Web 構築はフロントエンド、バックエンドを担当。加えてオンプレミスサーバーのリプレースを経てサーバー管理の経験があります
– 初AWS は、Udemy の「Doc

元記事を表示

AWS の EC2(Amazon Linux 2023) で SpringBoot ビルドして実行

AWS の EC2 の Amazon Linux 2023 に Java インストールして Github から取得した SpringBoot をデプロイして実行した時の備忘録メモ
実施したのは 2024/04/04 時点です

– ざっくり流れ
1. Github プロジェクト作成
1. Github トークン取得
1. EC2インスタンス起動
1. EC2ログイン
1. Javaインストール
1. Mavenインストール
1. Git インストール
1. Github からプロジェクトをクローン
1. プロジェクトビルド
1. SpringBoot 起動

– 環境情報
– EC2 (Amazon Linux 2023)
– SpringBoot v3.2.3
– Java v21
– Windows11
– Tera Term v5.2
– Git v2.40.1
– Maven v3.5.2

# Github プロジェクト作成

Spr

元記事を表示

aws iam code

“`
# variables.py
role_config = {
“lambda”: {
“trusted_role_services”: [“lambda.amazonaws.com”],
“custom_role_policy_arns”: [“arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole”]
},
“ec2”: {
“trusted_role_services”: [“ec2.amazonaws.com”],
“custom_role_policy_arns”: [“arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess”]
},
# 添加其他角色的配置
}
“`
“`
# main.py
from variables import role_config
from somewhere import IamAssumableRole # 假设Ia

元記事を表示

[AWS]クラウドプラクティショナーとは?

# クラウドプラクティショナーとは
Amazonが運営するクラウドサービス
「Amazon Web Services(AWS)」の公式認定資格です。
AWS認定資格の中でも土台となるクラウドの全体的な基礎が問われる資格になります。

# そもそもクラウドとは
簡単にいうと「ユーザーがソフトウェアを持たなくても、ネットを通じてサービスを利用する」というもの
そして「必要な時に必要な量だけ利用できる」ITサービスをクラウドと言います。

# サービスとして提供されるもの
「コンピューティング・データベース・ストレージ・アプリケーション」をはじめとしたITリソース

# なぜクラウドが必要なのか
最も多い意見としては「資産・保守体制を会社が持つ必要性がない」
こちらの理由に加え、「場所・機器を選ばずに利用できる」「安定運用・可用性が高くなる」
といった複数の理由があります。

# クラウドのメリット・デメリット
はじめにメリットですが、ビジネスとしてスピードが求められる現在、ビジネスを支えるITシステムに迅速さと柔軟性が求められます。
なのでクラウドであれば、物理的な機器の設置は不要、サービ

元記事を表示

Rails + Nuxt + ECS + GitHub Actions + Terraformで完全SPAのポートフォリオを作成しました

## はじめに
転職活動に伴い、完全に独学で作成したポートフォリオについて記載します。

## 筆者のスペック
私は、Excelの言語VBAの実務経験はありますが、Web系は実務未経験となります。

## 概要

![LP画面.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739138/eebdbf03-a101-37a8-8375-600ec5e91373.gif)
Mailmentorは、英文ビジネスメール作成の初学者向けの学習アプリです。楽しみながら学べるように、問題に正解するごとにポイントが加算され、ユーザーのレベルが上がる機能を搭載しており、ユーザー同士の競争を通じてモチベーションを高められます。学習の進捗状況はグラフで一目で分かり、さらに、英文メールに関する役立つ記事を投稿し、共有することができます。

## 制作背景
私は、新社会人としてビジネス英語のメールを書く際、足踏みしてしまい、不安を感じる瞬間がありました。この経験から、事前に学習し、自信を持ってメール作成に臨めるようにするアプリ

元記事を表示

クラウド界の3強

## はじめに
私が所属するプロジェクトではシステム移管のための調査や見積もりが日々進められているのですが、オンプレ環境からAWSを使ったクラウド環境への移行も考えられております。
もとは複数システムがあるうちのいくつかにはAzureを使用しているのですが、
合わせてAWSも使用されるのではということで、現在クラウド界でメインで使用されている
3強のAWS、Azure、GCPについてまとめてみました。

## そもそもクラウドって?
まずクラウドとは

ユーザーがインターネットなどのネットワーク越しに、サーバー・ストレージなどのITリソースや、アプリケーションソフトウェアなどを利用できるサービス形態

というものです。
何らかのソフトウェアを使用する際は、手元のPCやサーバーにインストールして使用するのが主流だと思います。
サーバーを運用する場合についても、これまではサーバー本体やストレージなどの
ハードウェアを購入し、自社のサーバールームやデータセンター内に設置して
ユーザー自身が運用管理を行う、「オンプレミス」という利用形態が一般的でした。
それに対してクラウドは何

元記事を表示

AWS Step Functions で複数の EC2 インスタンスからコマンド実行結果をまとめて取得する

# はじめに

* 複数の EC2 インスタンスを管理している
* それらに同一のコマンドを実行したい
* コマンドの実行結果をまとめて参照したい

このような要件がある運用において、コストをなるべく抑えつつ簡素な仕組みで動くアーキテクチャを考えてみました。
当記事ではアーキテクチャの留意点やソースコードを踏まえつつまとめます。

## 前提

管理対象の EC2 インスタンスには [SSM Agent](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-install-ssm-agent.html) がインストールされており、インスタンスプロファイルにはログ出力用の S3 バケットへのアクセス権限が適切に割り当てられているものとします。

# サンプルコード

下記リポジトリをご参照ください。以降は当リポジトリのコードに基づいて解説をしていきます。

https://github.com/blasg5884/ssm-run-command-orch

元記事を表示

AWS Batchについて試してみた

# 背景・目的
今まで、AWS Batchについて触ったことがなかったため、整理してみます。

# まとめ

|特徴|説明|
|:–|:–|
|概要|・バッチコンピューティングワークロードを実行できる
・下記を提供する
 ・リソースのプロビジョニング
 ・キャパシティ制限の排除
 ・コスト削減
 ・結果の迅速な提供|
|AWS Batchのコンポーネント|・リージョン内の複数のAZ間で実行中のバッチジョブを簡略化する
・VPC内に環境を作成できる
・ジョブキューに関連付けられた後で、ジョブを実行する
・Dockerコンテナイメージを指定するジョブ定義を指定できる|
|ジョブ|・ジョブ定義で指定したパラメータを使用して、コンピューティング環境でコンテナ化されたアプリとしてFargate、EC2リソースで実行される
・ジョブは、他のジョブを名前またはIDで参照できる
・他のジョブの正常な完了に依存する場合もある|
|ジョブ定義|・ジョブ定義とは、ジョブの実行方法を指定する
・ジョブ定義は、ジョブのリソースのブループリン

元記事を表示

Amazon Bedrock ナレッジベースの使い方(API編)

# ナレッジベースとは
Amazon Bedrock のナレッジベースについてはこちらにまとめているので、良かったら見てください。

https://qiita.com/devKita/items/fecf03eb9f812ff77ffa

# 今回やること
前回はコンソールからナレッジベースを作成してテストまでやりましたので、今回はAPI利用して実行してみようと思います。

https://qiita.com/devKita/items/82ef91977b86d85f1ac0

最近気になっていた Chatbot UI からAPIを実行してみます。

:::note info
Chatbot UI とは?
https://github.com/mckaywrigley/chatbot-ui

ChatGPTライクなユーザインタフェースのオープンソース生成AIチャットアプリです。
・ ローカルやクラウドにデプロイして利用可
・ MITライセンスなので改変可

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazon

元記事を表示

OTHERカテゴリの最新記事