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

AWS関連のことを調べてみた2023年01月17日
目次

タイプの「プ」をそんなに言いたいのか

タイプの「プ」をそんなに言いたいのか:laughing:

![スクリーンショット_20230117_110610.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1105575/42d1287d-1467-3248-c52d-c659a505b832.png)

https://docs.aws.amazon.com/ja_jp/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs

元記事を表示

AWSにおけるアカウントとユーザーの違い

# はじめに
AWS Organizationsを組むにあたって
AWSにおけるアカウントとユーザーの概念を正しく理解できていなかったので記事にしてみました

# AWSアカウントってなに
普通、アカウントって言われるとGoogleアカウントのような個人のものを想像しますよね
実際新規にJoinした会社なんかでも「〇〇さんのAWSアカウント作っといたよ〜」みたいなコミュニケーションがあるのではないでしょうか?
しかし、それは厳密には間違っているのです

誤) 「〇〇さんのAWSアカウント作っといたよ〜」
正) 「〇〇さん用のユーザー作っといたよ〜」

じゃあAWSアカウントってなに???って所ですが
AWSアカウントとは**AWS環境**のことです
Dev・Stg・Prod等の環境のことを示しています。

例えば、AWS Organizationsに「AWSアカウントを追加」とありますが
これは特定の誰かを追加するのではなく、環境そのものを追加することを意味しています
(ややこしい)
![AWS Organizations](https://qiita-image-store.s3.a

元記事を表示

AWS ECS Exec を使ってコンテナの中に入る

## 概要

AWS ECS は何かと難しい。特に厄介なのはコンテナの中に入るのが難しいので、デバッグがしにくいという点だ。ECS Exec という機能を使えばコンテナの中に入ることができることが確認できたので、備忘録的に書き残しておく(いつもググって他の人の記事にばかりお世話になっているのでたまには少し恩返し……)。

とはいえ、良い記事を書いている人たちがすでに大勢いるので、まずはすごく参考になった記事を紹介する。

https://blog.serverworks.co.jp/ecs-exec

とりあえず上の記事を読めば ECS Exec はできるようになるとは思う。ただ、私は私の経験に基づいて少し書いてみる。

感想を言えば、「ECS Exec は1回目は少し大変だが、2回目以降は楽になりそう」という感想。1回目だけ準備しなければならないものがあるからだ。

#### 初回のみ必要なもの:
– ECS Exec の仕組みに対する理解
– AWS CLI のインストール
– Session Manager plugin for the AWS CLI のインストール
– ECS

元記事を表示

【12冠達成記念】SAP on AWS(PAS-C01) 認定試験合格レポート

現時点で公開されている試験対策のリソースとともに、自分の体験をレポートします。

# 認定試験のポイント
– 何はともあれSAP知識が必要(SAPの用語や仕組みがわからないと戦えない)
– SAPそのものの知識は問われない。設計、実装、移行、運用が試験の範囲。
– “on AWS”なのでAWSの知識ももちろん必要
– AWSの知識だけで回答可能な問題も若干出題。
– SAP以外(SAPに関連する)他社ベンダーOracle/SUSE/RHELの知識も必要。
– 学習リソース乏しいのでSAPガイドやブログを理解できるまで読みまくる。
– 基本オンプレからのマイグレ構成(みんな大好きEC2)
– SAPワークロードそのものの実装(デプロイ)やAWSマイグレーションパターンをしっかりと把握。
– 異種、同種の移行パターンで何を対象に、どうコピーするのか、エージェントが必要なのかどうかなど
– anyDB(Oracle/DB2/SQLServer)からHANAやエンディアンが異なるOS(AIX)などの移行
– 契約がないとSAPノートが読めないので結構困る。

#

元記事を表示

【AWS】CodeDeployによるBlue/Greenデプロイ実行時エラー「The ELB could not be updated due to the following error: Green taskset target group cannot have non-zero weight …」の解決方法

# 概要
Fargateへのデプロイを、CodeDeployによるBlue/Greenデプロイにより実施した。
その際、CodeDeploy画面で、下記のエラーが発生した。

>The ELB could not be updated due to the following error: Green taskset target group cannot have non-zero weight prior to traffic shifting on listener arn:aws:elasticloadbalancing:ap-northeast-1:xxxxxxxxxxxx:listener/app/my-app-alb/xxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxx.

※xは伏せ字

# 解決方法
ALBのTarget groupの指定を1つにする。

変更前
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/948830/93e1fab3-bb78-36c

元記事を表示

【React】error-boundaryでホワイトアウトを抑止しつつ、発生時にCloudwatchにログを残す

# はじめに

雑なイラストですがやりたいことの解説を。

## 現状

![images_before.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641313/6d83fbbb-6edf-7b3b-29ee-8aaf8f19ef01.png)

– Webアプリ上で、予期しないエラーが発生した場合に、画面が真っ白(ホワイトアウト)になるのを回避したい

– Reactの`Error boundary`の機能を使ってエラー発生時に予め用意したエラー画面へ飛ばすようにします。

– 予期しないエラーが発生した場合に、なぜエラーになったのかを解析できるようにログを残したい
– ReactなどのSPA Webアプリケーションだと基本的にクライアントの中だけでアプリが動くので、エラーが発生した時の情報は意図的にサーバーに投げない限りは検知できません。
– そこで、エラーが発生した時にAWSのcloudwatchにログを出力するようにします

## 理想

![images_after.p

元記事を表示

terraform initした際に「Error: error configuring S3 Backend: error validating provider credentials」となるときの対処

# はじめに
Terraformでインフラを記述する際に、
プロジェクトフォルダを作成したあと最初に
`terraform init`コマンドを入力して初期化します。
このときに出るエラーとして、掲題のケースがあり、
この対処についてみていきます。

# エラー内容

“`
$ terraform init
Error: error configuring S3 Backend: error validating provider credentials: error calling sts:GetCallerIdentity: InvalidClientTokenId: The security token included in the request is invalid.
status code: 403, request id: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
“`
# 対処
結論、AWSの認証情報設定が必要になります。
〜/.aws/credentialsファイルにてアクセスキーとシークレットアクセスキーを設定し

元記事を表示

【AWS】2023/1月 最新 EC2を起動してターミナルでSSH接続する。

## 環境
・MacOS Monterey
・AWS(無料版)

## 前提
今回は簡単にAWSでEC2を起動しSSH接続する方法を書いていきます。
なので用語や詳細などの説明は省き、既にAWSアカウントを登録してあることを前提にします。

## EC2を起動する
AWSのトップ画面から”EC2″を選択。
![スクリーンショット 2023-01-16 15.58.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1005744/deb65ef9-a3e7-0a0c-998f-522dfab79ae7.png)

すると、色んな情報が表示されていますが、”インスタンスを起動”を選択。

![スクリーンショット 2023-01-16 16.04.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1005744/03de183b-5110-3f5e-8330-c93adef76b88.png)
***

## インスタ

元記事を表示

StepFunctions ステートマシン同期実行の挙動

# はじめに
StepFunctionsを用いた開発を行う中で、ステートマシンの同期実行の挙動で気になった点があったので、検証してみた。今回はその検証結果をまとめる。

# ステートマシンの同期実行方法

以下のように呼び出したいステートマシンを `startExecution.sync:2` で呼び出し、`Parameter` の `input` に `”AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$”: “$$.Execution.Id”` を入れることで、簡単にステートマシンを同期実行することができる。

“`

{
“Comment”: “A description of my state machine”,
“StartAt”: “test1”,
“States”: {
“test1”: {
“Type”: “Task”,
“Resource”: “arn:aws:states:::states:startExecution.sync:2”,
“Parameters”: {

元記事を表示

AWS IoT導入(1)

# 概要

この記事ではAWS IoTとの通信を行うための環境作成の手順を説明します。
ソースコードに関しては、参考の項目にある[こちらの記事](https://make-muda.net/2020/01/7092/)を使用させていただいています。
また、この記事は記事執筆時期(2023/1月)における手順を示したものです。AWS自体がアップデートされてUIが変わっている可能性もありますので、ご承知おきください。

M5 stickCを用いる予定でしたが、長くなってしまったので次の記事にて示します。

# AWSアカウント作成

こちらは[公式サイト](https://aws.amazon.com/jp/)をご覧ください。
作成時にはクレジットカードとメールアドレスが必要なのでご注意ください。

また、アカウントに関しての説明は本質とは離れるので、下記のリンク辺りを参考にしてください。
https://www.cloudsolution.tokai-com.co.jp/white-paper/2021/0604-238.html

ちなみに、この記事では作業の単純化のため、IAM (I

元記事を表示

S3周辺ポリシーの事例をAWSセキュリティモデルと比べたら、想像以上に『データ境界』だった

# はじめに

2021年11月11日に [Security JAWS【第23回】](https://s-jaws.doorkeeper.jp/events/127684)で「閉域要件におけるS3周辺ポリシーの組み合わせ方」を発表しました。

発表当時は資料未公開でしたが、2022年8月にSpeaker Deckで資料を公開したため、発表内容の要約を本記事で紹介します。記事の後半では、AWS環境のセキュリティモデル『データ境界』を紹介し、当社のポリシー事例と比較します。

1年以上前の発表内容ではありますが、直近で関わっている閉域要件の案件でも本思想をベースにしているため、お役になれば幸いです。

## 資料

資料の全量は以下から参照可能です。

https

元記事を表示

C9環境で1年越しにaws-cdkを使用したらスタック作成時にruntimeエラーで詰まった

# 概要
システムの改修要望があったため、コードを修正して1年ぶりにCDKを使用してスタックを作成した際に下記のruntimeエラーがでて詰まったので備忘録。

“`bash
Resource handler returned message:
“The runtime parameter of python3.6 is no longer supported for creating or updating AWS Lambda functions.
We recommend you use the new runtime (python3.9) while creating or updating functions.
“`

## 解決方法
先に結論を書くと使用していたツールやmodule群のバージョンが古いことが原因でした。今回の肝はCDKのバージョンはあげたもののpackage.json内のmodule群のバージョンを上げ忘れたことです。なんてことないミスなのですが、エンジニア歴が浅い自分には盲点でした。

CDKのissueでも同様のことが取り上げられてますので詳し

元記事を表示

AWS Certified SysOps Administrator – Associate(SOA-C02) 合格体験記

# はじめに
2022年11月にAWS Certified SysOps Administrator – Associate(SOA-C02)に合格しました。
SOA-C02から試験ラボが追加されたので、当試験は後回しにしていましたが、逃げてばかりではいけないと思い、勉強した次第です。
同様の試験を受ける方の参考になればと思い、記事を書きます。
結論からお伝えすると、TechStock(koiwaクラブ)の問題集をやるのがオススメです。

# SOA-C02について
AWSのアソシエイトレベルの試験の1つでAWS上の管理、運用に関する試験になります。
以下、公式の引用です。
>この資格は、組織がクラウドイニシアチブを実装するための重要なスキルを持つ人材を
特定して育成するのに役立ちます。AWS Certified SysOps Administrator – Associate の取得により
AWS 上でのワークロードのデプロイ、管理、運用に関する経験を証明できます。

冒頭でも記載しましたが、SOA-C02になってから「試験ラボ」というAWSコンソールかCLIで行うシナリオ試験が追加

元記事を表示

AWS Serverless デジタルバッジを取得する① 学習準備

https://aws.amazon.com/jp/blogs/news/introducing-new-aws-serverless-digital-learning-badges/

上記で紹介されているAWS Serverlessのデジタルバッチの取得を目指してみます。

# デジタルバッチとは?

“`
デジタルバッジは、学習プラン中のスキル評価において 80% 以上のスコアを取得すると獲得できます。
このバッジは、AWS Lambda、Amazon API Gateway、およびサーバーレスアプリケーションの設計に関する知識とスキルを証明できます。
Credly が配布および管理する検証可能なバッジであり、履歴書、ソーシャルメディア、AWS re: Post などに利用することができます。
このデジタルバッジには、発行者を確認するためのメタデータと、所有者が保有するスキルの情報が含まれています。
これらのサーバーレスに関する学習プランとスキル評価、デジタルバッジの入手は無料で利用できます。
“`

[資格試験(AWS certification)](https:/

元記事を表示

Route53 でサブドメインを使いたい(独自ドメインの S3 ウェブサイトホスティング検証)

AWS アカウント A で親ドメインを管理し、別の AWS アカウント B でサブドメインを使用できるように設定します。
また、S3 ウェブサイトホスティングの機能を使用して独自ドメイン(カスタムドメイン)でアクセスできるようにします。

# DNS の委任についておさらい
委任とは、管理対象の一部分を別の管理者に委ねる仕組みのことです。
指定されたドメイン名を頂点とする別のゾーンを作り、管理を委ねることを「DNS の委任」とか、「サブドメインの委任」とかいいます。
下の図では、「emiki.jp」のサブドメイン「hoge.emiki.jp」が存在し、サブドメインを委任されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/7a77cdd9-1b8e-1c86-47d7-df3f027c4916.png)

委任するドメイン名の NS レコードを親ゾーンに追加することで、子ゾーンが作成され、サブドメインが委任された状態になります。
![image.png](http

元記事を表示

AWS Cognitoのカスタム属性を使ってセキュリティ診断会社の指摘に対応した

## はじめに

セキュリティ診断会社から指摘された点と対策内容をまとめました
参考になれば幸いです

## 前提となる開発環境

本記事で想定する開発環境は以下になります。

* フロントエンド – JavaScript(Nuxt.js)
* バックエンド – Java(Spring)
* ユーザー管理 – AWS Cognito

## 指摘されたこと

### ■ 他人の情報を取得・変更するようなAPIを実行できないようにしましょう

URLにIDなど含んでる場合は他のユーザーが叩けないように工夫しましょう、というものでした。
Nuxt.js のルーティングだとやりたくなっちゃう「動的なルーティング」ですね。

Nuxt.js | 動的なルーティング
https://develop365.gitlab.io/nuxtjs-2.8.X-doc/ja/guide/routing/#%E5%8B%95%E7%9A%84%E3%81%AA%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0

`/pages/users/_id.vu

元記事を表示

AWSを基本からまとめてみた【AWS Amplifyを用いたデプロイ】

## 参考サイト
[【AWS Amplify入門】第6回:Amplifyを用いたデプロイ](https://www.youtube.com/watch?v=sJ3n35y-kMY)

元記事を表示

AWS Nitro EnclavesのKMSとの連携 Hands-On

# Overview

この記事は [Getting started with cryptographic attestation: KMS Tool sample application](https://docs.aws.amazon.com/enclaves/latest/user/hello-kms.html)をより一層わかりやすく理解することを目的としています。

チュートリアルだと以下の理解で時間が必要でした

– チュートリアルのため親インスタンスにすべての権限をつけて1台のインスタンスでテストできる構成をとっている
– そのため[Enclaves workflow](https://docs.aws.amazon.com/enclaves/latest/user/using.html)との整合性が犠牲になっており、各種権限周りの理解が難しくなっている
– Debugのセクションがかえって全体の見通しを悪くしているように感じた(必要性は理解できるが付録でもよいかも)

ここではインスタンス2台分必要ですが、分かりやすさを重視してこのように進めます。

## 登場人物

元記事を表示

AWS CDKで踏み台サーバーを立てる

## はじめに

AWS CDKでプロジェクトを作成するときの手順をまとめておく。
お勉強で終わりたくないので、
まずは基本のEC2から、実用面で踏み台サーバーを使ってインスタンスにアクセスする構成を作る。

作成したデプロイスクリプトは以下にある。

https://github.com/smallriver0316/awstudy/tree/main/ec2-access-via-bastion

https://github.com/smallriver0316/awstudy/tree/main/rds-access-via-bastion

## 環境

– Windows Subsystem for Linux(ubuntu 20.04)
– 使用言語は Typescript

“`bash
$ cdk –version
2.55.1 (build 30f1ae4)
“`

## セットアップ

CDK CLI はインストールしておく。

“`bash
$ npm install -g aws-cdk
“`

プロジェクトの作成

“`bash
# プロジェク

元記事を表示

AWS Network Firewall で特定のドメインのみ許可するホワイトリスト方式をやってみた

# はじめに

AWS Network Firewall では、ネットワークトラフィックをきめ細かく制御するファイアウォールルールを定義できます。AWS のウェブサイトでは以下のユースケースが紹介されています。

– VPC 間のトラフィックを検査
– アウトバウンドトラフィックをフィルタリング
– インバウンドのインターネットトラフィックの侵入を防ぐ
– AWS Direct Connect と VPN のトラフィックを保護する

アウトバウンドトラフィックの HTTP/HTTPS 通信を、特定のドメインのみ許可して、他のドメインを禁止ができます。事前に確認した安全なドメインのみ HTTP/HTTPS アクセスを許可することで、セキュリティレベルの向上が期待できます。

この記事では「特定のドメインを許可するホワイトリスト方式」の設定方法を紹介します。

# 構成図

Network Firewall の構成図を先に紹介します。Network Firewall を構成するときに、どの経路を検査するかをコントロールするために各 Subnet で Route Table の適切な

元記事を表示

OTHERカテゴリの最新記事