AWS関連のことを調べてみた2021年12月09日

AWS関連のことを調べてみた2021年12月09日

【CodeDeploy】The CodeDeploy agent did not find an AppSpec file within the unpacked

AppSpec.ymlがないよ、というエラーが出まくり、ビルドに失敗する。

# 使用環境
– EC2 Amazon Linux(ロードバランサー使用)
– リポジトリはGithubから
– CodePipelineなどは使用せず、CodeDeployのみ使用

# 確認事項
– appspec.ymlがそもそもあるか
– あったとしたら、リポジトリのルート直下に配置されているか

上記を確認したけど治らず。。。。
調べるとたくさんの人がこのエラーに遭遇しているようです。

– https://stackoverflow.com/questions/53501365/codedeploy-agent-did-not-find-an–appspec-file-within-the-unpacked-revision-direc
– https://infraya.work/posts/codedeploy_appspec_not_found_error/
– https://forums.aws.amazon.com/thread.jspa?threadID=296302&ts

元記事を表示

【AWS】CloudFormation(CFn)を使ってみる:概要編

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306608/b086de0e-22eb-fd2c-041a-b944ff315ccf.png)

# はじめに
みなさん、コードは管理してますか?
してる?
良いですね。

では、インフラもコード管理してますか?
えっ?神が作られし古文書(Excelのドキュメント)があるから大丈夫だって?
じゃあ、それを元に検証環境を1台作ってみましょうかーーーー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306608/2e551cdf-fae4-362c-7902-3bfaa65e962d.png)

どーも、のぶこふです。
この記事は[GFAMアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/gfam)の8日目の記事です。

# 今回のサービス一覧

|Service名とか|概要|
|-

元記事を表示

AWS初心者は見た!私でもすぐ使える!? re:Invent 2021で出た新機能

(この記事は [KDDI Engineer & Designer Advent Calendar 2021](https://qiita.com/advent-calendar/2021/engineer-designer) の第9日目エントリーです)

タイトル通り、初心者向けの敷居低めな記事となっております。
私のように**「ふだん開発はベンダーさん頼りだから難しいことわかんない!」**って方も安心してお読みください。

※ 今冬に発表された怒涛の新機能たちは、AWSさんが日本語で[速報まとめ](https://www.slideshare.net/AmazonWebServicesJapan/20211203-aws-black-belt-online-seminar-aws-reinvent-2021)を紹介してくれています。全量をざっと知りたい方はそちらも併せてご覧ください。

# 新種発見! EC2のインスタンスタイプ追加
みんな大好きEC2ですが、毎年のように新しいインスタンスタイプ(マシンスペック)が追加されています。
ふだん最もよく使われているのは汎用型の「M系」イン

元記事を表示

AWS Amplifyを利用するか検討して、やめた話

この記事は [ディップ株式会社 Advent Calendar 2021][link-1] の9日目の記事です

# はじめに
AWS上に静的Webサイトの構築をする必要があり、Amplifyを利用して構築するかどうか検討しました。

結果的には採用しませんでしたが、そのように判断した理由をまとめます。

なお、アプリ側の設定に関する話は出てきません。

# システム要件

– **CloudFront**と**S3**で構築する静的Webホスティングシステム
– コードの管理はCodeCommitを利用
– CodeCommitへのPushで自動デプロイする
– Cloud9から実行する

# AWS Amplifyとは
モバイルアプリやウェブアプリを構築するための開発プラットフォームで、
開発に必要なインフラ(S3, CoudFront)を簡単に構築できます。
アプリケーションの開発環境を急いで用意したい場合や、インフラの要件とかはとりあえず気にせず環境構築したい場合などに利用できます。

### Amplify Console
サーバレスのWebアプリを公開する環

元記事を表示

[AWS re:Invent 2021] Amazon Inspector の新バージョンが発表されました!

こんにちは、kc-Dreamです。

この記事は株式会社ナレッジコミュニケーションが運営する [クラウドAI by ナレコム Advent Calendar 2021](https://qiita.com/advent-calendar/2021/knowcom-cloudai) の9日目にあたる記事になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229923/cff3b2cf-b7fe-2103-695c-422d15ed81a9.png)

##はじめに
AWS re:Invent 2021にてソフトウェアの脆弱性についてAWSワークロードを継続的にスキャンする脆弱性管理サービスであるAmazon Inspectorの新バージョンが発表されたので、まとめていきたいと思います。

###Amazon Inspectorって何ができるの?
自動的にアプリケーションを評価し、露出、脆弱性、ベストプラクティスからの逸脱がないかどうかを確認することができるサービスです。
今回発表

元記事を表示

AWSのストリーム処理向けメッセージングサービスKDS・MSK・SQSの特徴

著者: 伊藤 雅博, 株式会社日立製作所

# はじめに
AWSでストリーム処理を実現する際は、データをキューイングするメッセージングサービスと、キューイングしたデータをストリーム処理するサービスを組み合わせることが一般的です。本投稿では、AWSが提供する各メッセージングサービスのうち、ストリームデータを扱う際によく活用されている下記サービスの特徴を紹介します。

– Amazon Kinesis Data Streams (KDS)
– Amazon Managed Streaming for Apache Kafka (MSK)
– Amazon Simple Queue Service (SQS)

なお、本投稿の内容は2020年中頃の調査結果をベースに、いくつか更新を加えたものです。AWSのサービス仕様は随時更新されるため、最新の仕様とは異なる場合があります。最新の情報はAWSの公式ドキュメントをご参照ください。

投稿一覧:
1. [AWSでストリームデータを扱うためのメッセージングサービス](https://qiita.com/sigmalist/items/73d3f

元記事を表示

AWS CLIで Web サイトを構築、管理、運用する(9日目)

9日目です!

8日目の最後で「セキュリティ設定」の見直しをするとお伝えしましたが、1点、気がついたことがあります!

なんと、アクセスログが取れていません(涙)

たしかに2日目でアクセスログの設定を入れましたが、これは、あくまでも S3 バケットに対するアクセスを記録するログの設定でした。

現在の構成はどうなっていたでしょうか。

そうですね、 CloudFront が前面に出ています。

つまり、現在、 S3 のログにでてくるのは、 CloudFront からのオブジェクト取得アクセス(とその他、AWSからのポーリングだったり、自分でオブジェクトを操作した際など)のみなんですね。

ということで、 CloudFront 側にもアクセスログの設定を入れます。

今回も、 get-distribution-config コマンドと update-distribution コマンドでの操作になります。

# 9日目の要約
CloudFront に対するアクセスログをとるようにするよ!

# AWS CLI の準備
このあたりをみて、好きなバージョンとお使いのOSにあった環境設定をして

元記事を表示

JavaScript ⇄ AWS (API Gateway & Lambda) でデータやりとり

# はじめに
下の記事で、JavaScriptを使ってフォトシャワー表示をするフロントエンドを記述していました。
[フォルダ内の写真をフォトシャワーで表示してみる
](https://qiita.com/tomtom_pudding/items/be8b26dff40ece88d0b9)

今回は、AWS S3に保存されている写真を取得して表示をしてみたいと思います。つまりこんなイメージです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1989761/1d54ad9b-4f07-dc6d-1aa1-4a0e1cb7ad17.png)
JavaScriptの正式なロゴってこれであっているのだろうか…

# JavaScriptとAWS API Gatewayをつないで情報をLambdaへ送信
API Keyを用いたアクセスキー認証で行います。
LambdaとGatewayの連携、API Keyの取得方法に関しては以下の記事がとてもわかりやすいです。さすがはクラスメソッド様。。。
[

元記事を表示

AWS SAMを触ってみた

こんにちは、HCB Advent Calendar 2021の8日目を担当する、take-2405です。
研究の都合上あまり時間を確保できず、とても雑な記事になってしまっています。

ごめんなさい!!

[HCB Advent Calendar 2021](https://qiita.com/advent-calendar/2021/hcb-2021)

今回は、AWS Lambdaのローカルでのテストを目的とし、AWS SAMのインストールとテンプレート作成までについてをメインに書いています。
(本題のテストまで書く時間がなかった、、、、今度時間を見つけて加筆します。)

注意:基本的なLambdaの作成方法などは省いています。

# はじめに
みなさんは普段AWS Lambdaを利用するでしょうか?
私は、割と頻繁に利用します。(体感週に2つはLambdaを作成している)

普段goでLambdaを作成するのですが、goでLambdaを作成する場合以下の手順を踏む必要があります。

“`
1. プログラムをコンパイルする(バイナリファイル化)
GOOS=linux go bu

元記事を表示

2021年に超絶進化を遂げた AWS Step Functionsを触ってみました

本記事は[AWS LambdaとServerless Advent Calendar 2021](https://qiita.com/advent-calendar/2021/lambda)、9日目の記事です。

# 感想
– かつてLambdaに初めて触れたときの感動を、ワークフローでも感じた
– Step Functionsはいいぞ

# 背景~今年あった大きな進化
・[ワークフロースタジオ爆誕](https://aws.amazon.com/jp/blogs/news/new-aws-step-functions-workflow-studio-a-low-code-visual-tool-for-building-state-machines/)
・[AWS SDK統合で200を超えるサービスサポート](https://aws.amazon.com/jp/about-aws/whats-new/2021/09/aws-step-functions-200-aws-sdk-integration/)

ワークフロースタジオによって、ベースのJSONがGUIベースで生み出される

元記事を表示

AWSにおけるterraform管理の勘所

Plannning-Venue Advent Calendar 2021の3日目です。

https://adventar.org/calendars/7174

terraformでAWSリソースを作成、管理して来た中での所感です。
何でもかんでも管理しようとすると結構めんどくさいことがあるのである程度の線引はあってもいいかな?という記事です。
その中でいくつか紹介していきたいと思います。

# タグ

作ったは良いけど誰か(言及しないけど…)がタグを追加するわ消すわでtfファイルと整合性が取れなくなることが日常茶飯事でした。
都度importしても良いですが、物によってはタグ自体を管理しないという選択もアリです。

ignore_changes = “管理したくない対象”
といった書き方をしてあげれば、リソースに変更があってもterraformさんが無視してくれます。

“`
lifecycle {
ignore_changes = [tags]
}
“`

# Lambda@Edge

CloudFontと併用するサービスですね。
basic認証を掛けたり

元記事を表示

Amazon RDS Custom for Oracle作成の手引き(その3:RDS Customの作成)

#はじめに
RDS Custom for Oracleを作成するための準備として、[CEVの作成](https://qiita.com/asahide/items/f7a1822b039add53d27e)と[IAM等の事前準備](https://qiita.com/asahide/items/a93a9836e754b58997cc)を紹介してきました。
今回はいよいよRDS Custom for Oracleの作成に入ります。
準備自体は一回実施すればよいので、RDSのプロビジョニングという意味では今回の手順のみで実行可能です。

#RDS作成の流れ

CEV作成からRDS作成のイメージは以下になります。
事前準備ができている状況、という前提で②が今回の範囲になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2313926/00b3c695-27eb-a07d-bbd5-c4b65f878ad2.png)

([Amazon RDS Custom for Oracle –

元記事を表示

【AWS】LambdaからDynamoDBを呼ぶときは、タイムアウト時間を設定変更しようの巻

# 起きたトラブル

`APIGW <-> Lambda <-> DynamoDB`のようなシンプルな構成で、DBの中身をサーバレス配信するようなAPIを作ったとき、ごくまれにLambdaがタイムアウトを起こした。Lambdaのランタイムはnodejs。

↓ランダムに大量リクエストを飛ばしてみると、全体の0.1%未満ながら、間違いなく5秒タイムアウトしている?
![IMG_0106 3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1050582/ab04e172-0f16-8534-f02c-1cfbb4a0ab73.jpeg)

Lambdaのタイムアウト時間は自由に設定変更できるが、30秒タイムアウトに設定しても改善しない。
(そもそも30秒もかかっていたら使い物にならないけど。)

# なにがまずいのか

aws-sdkの仕様書より抜粋↓

> timeout [Integer] — Sets the socket to timeout after timeout milliseconds

元記事を表示

EIPの逆引き設定をする

この記事は [AWS Advent Calendar 2021](https://qiita.com/advent-calendar/2021/aws) のカレンダー2の7日目の記事です。
昨日は [hi1280](https://qiita.com/hi1280) さんの [GitHub Actionsを使ったECSのデプロイメントパイプライン構築](https://hi1280.hatenablog.com/entry/2021/12/06/090000) でした。

# はじめに
– DNSを使う際、ドメインからIPを引く正引きを使うケースが多い。例えばブラウザにURLを入力してWebページを開いたり、Webページのリンクを踏んで別のWebページに遷移したりする時にドメインからIPへの変換が裏で行われている。
– 一方でメールサーバーからメールを送信したり、Webページをクローリングする際は、相手からするとIPしかわからず、IPから送信元のドメインを辿って送信元を確かめスパムかどうかなど判断したいケースがある。
– AWSを使用した時にどのように設定していくかを調べてみる。

#

元記事を表示

Salesforce連携がすごいAppFlowの話

※[株式会社POLテックカレンダー2021](https://qiita.com/advent-calendar/2021/pol) 8日目の記事です。:point_right: [前回の記事](https://qiita.com/Abyss/items/06b280a09498f72530b2)

## 目的

Salesforce上のデータの変更を自前のAPIサーバに伝えたい。
ただしApex(ゲームではない)は書きたくない。知見がないので。

## やり方

連携基盤をAWS上に構築するなら結論↓これ。IaCしなければ**ノーコード**!
[Salesforce] -> AppFlow -> EventBridge -> [APIサーバ]

AppFlowは「SaaSアプリケーションとAWSサービス間で**コードなし**にデータを安全に転送できるようにする統合サービス」
ってことでまさにやりたいやつ。

#### 流れの概要
1. AppFlowにSalesforceの[変更イベント](https://developer.salesforce.com/docs/atlas.en-

元記事を表示

たった1人でEC2&RDSのバックエンドをLambda&DynamoDBに移行した話

先日お仕事でスマホアプリのバックエンドを移行する機会をいただきました。
システムのフルリニューアルは初めての経験だったので色々と学びが多くありました。
せっかくなので知識を共有したいと思います。

# サマリー
## 概要
こんな感じのプロジェクトでした。

– 開発期間 9ヶ月
– 体制 1人開発
– API数 約100
– バッチ数 約10
– その他の移行対象(DBデータ,管理コンソールetc)

## 移行の目的
バックエンドの移行の主な目的は以下でした。

– 内製化によって開発速度を上げる
– 内製化するために社内のスキルセットに合う言語・アーキテクチャにする
– AWSコストの削減

## 移行前後の違い
|| 移行前 | 移行後 |
|—|—|—|
|実行環境|EC2|Lambda & Api Gateway|
|フレームワーク|Rails|なし|
|メインDB|RDS(PostgreSQL)|DynamoDB|
|バッチの仕組み|Rails(SideKiq)|AWS Batch/Lambda|

# 実作業前の準備
## 現状把握
私は移行対象の元のシス

元記事を表示

DynamoDB の設計について考えてみる。

## 概要

### クラウドアプリケーションの特性

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6088/2b913910-4e2d-12e2-f321-9a4ea4653564.png)

クラウドアプリケーションの特性は、従来のアプリケーションと大きく異なります。

ユーザー数は非常に簡単に数百万人に達し、データボリュームは短期間で PB レベルや EB レベルに到達することもあります。
パフォーマンスは、多くの場合、ミリ秒で動作することが期待されます。

アプリケーションによっては、 1 秒間に数百万件のリクエストを処理し、多い日には 1 秒間に数千万件のリクエストを処理することもあるでしょう。

適切なコストとパフォーマンスを維持するためにシステムが分散し、スケールアップ、アウト、インできるアプリケーションである必要があります。

Amazon DynamoDBでは、開発者は完全マネージド型の API を介して瞬時にアクセスし利用することができます。

* クラウドアプリ

元記事を表示

IoTデバイスの脆弱性とAWS IoT Core が VPC エンドポイントのサポート

2021年7月に発表された「AWS IoT Core が VPC エンドポイントのサポート」の意味を考えるために書いています。

AWS公式の発表記事は以下です。

[AWS IoT Core が VPC エンドポイントのサポートを開始](https://aws.amazon.com/jp/about-aws/whats-new/2021/07/aws-iot-core-supports-vpc-endpoints/)

#1.VPCエンドポイント とはなんのことか?
AWS上のVPC内のサービスと、VPC外のサービスをプライベート接続で通信できるようにするための仮想デバイスです。
・PrivateLink と呼ばれるサービスを使って、各サービスを接続させることが出来ます
・PrivateLink の実体はVPC内のENI(Elastic Network Interface) になります
・PrivateLink自体がIPアドレスを持ってVPCの中にエンドポイントが出来ます

[公式ドキュメン](https://docs.aws.amazon.com/iot/latest/develo

元記事を表示

WordPress と AWSSSO を「WP SAML Auth」で連携する

#前提条件
– EC2 に WordPress をインストール済み
– WordPress にプラグイン WP SAML Auth 追加済み
– AWSSSO でユーザー作成済み

#手順
##AWS SSO の設定
以下の記事を参考に AWS SSO の設定を完了させる。
アプリケーションのプロパティの以下の欄は後で設定するので空欄にしておく。

– アプリケーション開始URL
– アプリケーション ACS URL
– アプリケーション SAML 対象者

https://qiita.com/gorooe/items/5e662de306dc94068aac

##Wordpress saml の設定

AWS SSO 証明書をダウンロードして、 WordPress のサーバにアップロードしておく。
ドキュメントルート(公開領域)に置かないよう気を付ける。

設定内容

– Auto Provision : チェック
– Permit WordPress login : チェック
– Get User By : email
– Entity Id (Required) : AWSSS

元記事を表示

S3上のファイル容量を取得して、Python で集計する

# はじめに
PoC を担当しているのですが、S3 上の既存ファイルの容量を調査する必要がありました。
具体的には、S3上のファイルサイズの全体感を掴みたいので、
**S3上の全てのファイル容量を調べて、最大値、最小値、中央値、平均値を出したい**という内容でした。

ネット上にはS3上の情報を取得する記事は数があったのですが、集計まで行なっている記事は少なかったため、記録として残しておきます。

# 環境

“`
❯ wmic os get caption
Caption
Microsoft Windows 10 Pro

❯ aws –version
aws-cli/2.2.11 Python/3.8.8 Windows/10 exe/AMD64 prompt/off

❯ python –version
Python 3.10.0
“`

# AWS CLI でファイルサイズを取得する
## 設定
AWS CLI のインストールと設定がお済みでない方は、以下のページなどを参考に行なっていただければと思います。

– [公式ドキュメント](https://docs.aws.

元記事を表示

OTHERカテゴリの最新記事