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

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

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 の適切な

元記事を表示

Lambda + DynamoDB を利用したサーバレス構築ハンズオン

## はじめに
普段DynamoDBをあまり使用しないので、CFnの練習がてら構築していきたいと思います。

学習に利用した教本は、[AWS Lambda実践ガイド 第2版 (impress top gear) 著:大澤文孝](https://www.amazon.co.jp/AWS-Lambda%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-%E7%AC%AC2%E7%89%88-impress-gear/dp/4295013307/ref=asc_df_4295013307/?tag=jpgo-22&linkCode=df0&hvadid=553954433678&hvpos=&hvnetw=g&hvrand=2164190274868650654&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1009299&hvtargid=pla-1599229625688&psc=1&th=1&psc=1)
を利用しています。
GUI及び、SAMによる構築はありましたが、CF

元記事を表示

Webサーバーをプライベートサブネットに配置して、ALBを経由してアクセスできるようにする

タイトルのような構成を作ってみたら、はまったところがあったので備忘録として残しておきます

# はじめに
Webサーバーを作成するとなった場合、普通は以下のような構成が思いつくと思います
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1471959/1c8a01e5-f587-4490-269c-f030dab8f64c.png)

ただ、ALBがパブリックサブネットにありさえすれば、WebサーバーをプライベートサブネットにおいてしまってもOKです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1471959/495b15de-9522-aa41-b44e-ef5f69c4d3b4.png)

上記のような構成を作ってみたので、簡単な手順とはまりポイントを書きます

**ちなみに先に行っておくと、上記の構成には間違いがあります**
**記事に最後に記載していますが、間違いはどこでしょうか

元記事を表示

AWS CDK Intro Workshopをリベンジしてみた

# はじめに

以前、AWS CDK イントロワークショップをやった内容を記事にしました。

https://qiita.com/a_b_/items/176c472b3859f4cd56d1

その際は一部のみ日本語に訳されておりすべてはできませんでした。

ですがいつのまにか、全部翻訳されていたので改めて行ってみました。

https://dev.classmethod.jp/articles/aws-cdk-workshop-jp-202211/

https://cdkworkshop.com/ja/

ほぼワークショップの通りで可能ですが、何点か個人的に気になった点を記載していきます。

# 環境

前回と同じで、Cloud9を用いました。

– Cloud9
– デフォルトVPC
– コンソールと同じ権限を持つ一時クレデンシャル
– AWS Managed Temporary Credentialsを利用
– CodeCommitなど利用するのでそれらの権限が必要
– インスタンスタイプはメモリが2GB以上

元記事を表示

CloudWatchLogsのログをS3に転送する方法の比較

# はじめに
前回以下で各種ログの出力先をまとめていきましたが、CloudWatchLogsからS3にログを転送したいという場合にどのような方法をとるべきか今回記載していきたいと思います。

https://qiita.com/Regryp/items/1493e9e77836bf34c468

# なぜS3に転送するのか
そもそもなぜS3に転送する必要があるのかという疑問を持つ方がいるかもしれません。
CloudWatchLogsで保管もできるし、検索もできるのではないかと。
それはそのとおりなのですが、CloudWatchLogsのログ保管のコストはS3より高めに設定されており、純粋にログ保管をしたいだけであれば、S3に保存する(長期保管だけであればGlacier等)ことがおすすめです。
また、S3をデータレイクとし、各種データの分析等に利用するケースも考えられます。

# 方式
・手動でのS3エクスポート
・KinesisDataFirehoseを使ったS3エクスポート
・EventBridge+LambdaでのS3エクスポート
・EventBridgeSchedulerでのS3

元記事を表示

【AWS】Congnitoを使ったログインページ作成

## Cognitoとは

公式の定義では以下の通りである。要約するとログイン機能を実装できる機能である。

>Amazon Cognito を使用すると、ユーザーのサインアップおよびサインイン機能を追加し、ウェブおよびモバイルアプリケーションへのアクセスを制御できます。

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

## ログイン画面の作り方

オリジナル(旧)コンソール画面と新しい(他のAWSサービス画面に似ている)コンソール画面の二つやり方があるが、今回は新しいコンソール画面での作り方を紹介する。

1. [Amazon Cognito コンソール](https://console.aws.amazon.com/cognito/home)に移動する
1. 画面左の[ユーザー プール]を選択する
1. 右上の[ユーザー プールの作成]を選択する
1. サインインエクスペリエンスの設定画面で、Cognito ユーザープールのサインインオプションでEメールと電話番号を選択する
ここでフェデレーテッドアイデンティティプロバイダーはSNS認証のことで

元記事を表示

AWS DataSyncとAzure File Sync 比較 ~まとめ編~

AWS DataSync(以下、DataSync)と Azure File Sync(以下、File Sync)シリーズの8本目の記事です。
1本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~共通点と相違点~](https://qiita.com/hidekko/items/9610ef551999f6ea1f37)
2本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~前提条件定義編~](https://qiita.com/hidekko/items/45eab57f6c6088eb1607)
3本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~AWS DataSync構築事前準備編~](https://qiita.com/hidekko/items/8e7a3fb6494462926597)
4本目の記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~AWS DataSync構築編~](https://qiita.com/hidekko/i

元記事を表示

re:Invent 2022 ストレージ関連の新サービス、アップデートまとめ

# re:Invent 2022で発表されたストレージ関連のアップデートをまとめました
小林さんの資料から抜粋させていただいております。(小林さん、毎年ありがとうございます!)

https://aws.amazon.com/jp/blogs/news/2022-11-reinvent2022-aws-blackbelt/

## S3 Access Point で共有時の権限委譲が可能に
https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-s3-access-points-securely-delegate-permissions-datasets-aws-accounts/
– Amazon S3 Access Pointでアカウントをまたいだ共有時、権限付与を共有される側に権限委譲(デリゲーション)できるようになった
– バケットの所有者は、共有される側のアカウントで作成されたアクセスポイントに対してアクセス権を付与することができる
– 共有される側のアカウントは、そのアカウントにあるアクセスポイントを介して共

元記事を表示

AWS DataSyncとAzure File Sync 比較 ~Azure File Sync動作確認編~

AWS DataSync(以下、DataSync)と Azure File Sync(以下、File Sync)シリーズの7本目の記事です。
1本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~共通点と相違点~](https://qiita.com/hidekko/items/9610ef551999f6ea1f37)
2本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~前提条件定義編~](https://qiita.com/hidekko/items/45eab57f6c6088eb1607)
3本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~AWS DataSync構築事前準備編~](https://qiita.com/hidekko/items/8e7a3fb6494462926597)
4本目の記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~AWS DataSync構築編~](https://qiita.com/hidekko/i

元記事を表示

スイッチロールについて

## スイッチロールとは
**通常の複数のAWSアカウントの管理方法**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/2bc6313b-d66a-53b5-b91f-559f12cddedb.png)
**Switch Role方式**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/722e07ef-1423-304e-9e3e-67e22d8f5076.png)

## スイッチロールのやり方

①スイッチロール先での作業
IAMロールの作成
– 信頼されたエンティティタイプ:AWSアカウント
– AWSアカウント:別のAWSアカウント
  アカウントIDにスイッチロールを許可したいIDを入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273377

元記事を表示

自己紹介(学生、未経験エンジニアの方々へ)

# はじめに
こんにちは!インフラエンジニア志望のゆひと申します!
記念すべき、Qiita初投稿なので以下の**5点**についてお話できればなと思います。

[1. 大学について](#1-大学について)
[2. 悩める就活、、、(~大学3年生春)](#2-悩める就活、、、(~大学3年生春))
[3. コンサルバイトとの出会い(大学3年秋~)](#3-コンサルバイトとの出会い(大学3年秋~))
[4. インフラエンジニアに興味を持った理由](#4-インフラエンジニアに興味を持った理由)
[5. Qiita投稿について](#5-Qiita投稿について)

# 1. 大学について
情報工学を専攻する大学3年生です。学内での成績はかなり良く、3年の1学期は約60名中、トップの成績でした。俗に言うGPAじゃんけんでは負けないと思うので第一希望の最適化計算を行っている研究室に配属されると思います(笑)。そのまま、同大学院に進学する予定です。

# 2. 悩める就活、、、(~大学3年生春)
大学2年生までは、「成長できる・稼げる・カッコイイ!」という理由で**みんな大好きコンサル業界**に漠然と興味

元記事を表示

Amazon Workspacesで作業するためのちょっとした設定

Amazon WorkspacesはAWSで提供されているリモートデスクトップ。

参画しているプロジェクトではセキュリティの観点から

– ローカルにファイルを保存することができない
– ローカルからBacklogやJIRAなどに接続してはいけない

という制限がある。

でも、もともと用意されている社内のOA端末でリモート接続すると、重すぎて作業にならない。

そこで、Amazon Workspacesを契約してもらって作業することになった。

私は開発の担当ではなく要件定義や外部設計の担当なので、作業は主に

– Web会議をする
– Microsoft OfficeのPowerPointまたはExcelを使ってドキュメントを書く
– 作成した資料をファイル共有用のWebサービスにアップロードする
– システムに関する資料をダウンロードする
– システムに関する資料を読む
– チャットツールでコミュニケーションを取る
– Backlogを書いたりやJIRAを見たりする

という感じ。

## 必要だった設定

### 英語キーボードになっているので、日本語キーボードにする。
A

元記事を表示

OTHERカテゴリの最新記事