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

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

Alexaを喋らせたいけど挫折している

通常であればこういう技術記事は『成功したこと』を書くべきだと思っていますが、Qiitaは成功したこと以外も書きやすく思えるので、残しておきます。

# やりたかったこと
![aws.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3858763/6e826276-f45c-62e9-b50d-7fb4d9c2d331.png)
概要を図にすると上記となります。洗濯機とswitchbotを接続しているので、洗濯が終わるとswitchbotが検出できます。現在はそこからクラウドを経由してスマホに通知が飛ぶのですが、家庭内にあるAlexa(正確にはAmazon echo)でも喋らせたかったです。

問題なのはAlexaを喋らせる部分。というのも、Alexaは人間の問いかけをトリガーにするのが基本なので、問いかけをせずに喋らせるのがとてもハードル高いんです。
![aws2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385876

元記事を表示

AWS Systems ManagerからEC2インスタンスのコマンドを呼ぶときの注意点について

# はじめに
AW EC2上に配置したpythonスクリプトをAWS lambdaからSystem Manager(SSM)のRunShellScriptを利用して呼び出した際に、ログインユーザーに関する問題で躓いたので、問題の概要と解決策をまとめます。

### 参考にさせていただいたサイト
https://dev.classmethod.jp/articles/ssm-document-know/

# 問題点
SSMからRunShellScriptを実行した場合、実行ユーザーは`root`となる。
一方、EC2インスタンスに通常ログインした場合のユーザーは`ec2-user`となる。

`ec2-user`で構築した環境で動くスクリプトをSMS RunShellScriptから呼ぶと、実行時ユーザーが`root`となるため実行環境が異なり、`import module error`などが発生する。

“`bash:SSMからRunShellScriptで実行した場合
$ pwd
/usr/bin

$ whoami
root

$ which python3
/usr/bin

元記事を表示

CodePipelineによるCI/CDパイプライン構築で詰まった箇所

#### 起きたエラー
AWSのコンソールに以下の文字が出力される。
「error code: ecs_update_error; error message: the ecs service cannot be updated due to an unexpected error: the container backend did not have a container port 80 defined. (service: amazonecs; status code: 400; error code: invalidparameterexception; request id: addae102-e782-4dc8-aa60-35bd40c4b3bb; proxy: null). check your ecs service status」

80番ポートは開いていないよ。
という意味。

#### 原因
![port80.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280830/453af9

元記事を表示

CodeBuildででたエラー

#### エラー概要
![エラーログ箇所.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280830/c9f2486d-771e-d4c2-abb7-ec01bd2e3508.png)
“build”なんてコマンドは存在しないと怒られる。。。
しかし、packages.jsonにはしっかり”build”コマンドが記載されていた。
いったいなぜ。。。

#### 原因
![buildspec.ymlの内容.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280830/42c99926-f750-4362-29ad-73464038d7d2.png)

この書き方だと、ビルド実行するコンテナ内のカレントディレクトリで、
「$ docker build -t $REPOSITORY_URI:latest -f ./packages/backend/Dockerfile」
を実行せよという命令になってしまう。
正しくはカレントデ

元記事を表示

lambdaで “Runtime.ImportModuleError” の解消

## lambdaで Youtube Data APIを使おうとしたところ、 “Runtime.ImportModuleError” が発生
今までAWSにはほとんど触れずに来たのだが、仕事で知識が必要になってきたため、Lambdaを触ってみることにした。ちょうど、家でYoutubeを見ながらエクササイズに励んでいるため、[Youtube Data API](https://developers.google.com/youtube/v3/code_samples/code_snippets?hl=ja&apix_params=%7B%22part%22%3A%5B%22snippet%2CcontentDetails%22%5D%2C%22id%22%3A%5B%228j9L9h3ODfU%22%5D%7D) で、動画のIDからの再生時間を取得する処理を作ってみることにした。コードのサンプルは、ありがたいことに、[Youtube Data API](https://developers.google.com/youtube/v3/code_samples/code_snippets?

元記事を表示

AWS Deadline Cloudのカスタマーマネージドフリートを構築してレンダリングする (Houdini)

AWS Deadline Cloudがリリースされてからしばらく経ちましたが、皆さま使われていますか?
弊社ではCMFを使用して構築・運用を行っています。AWS Dead CloudはSMFの場合比較的簡単に構築ができますが、CMFを使用すると一気にハードルが上がります。

本記事ではHoudiniをインストールしたLinuxワーカーのフリートを例にして紹介します。

## フリートとは
ジョブを実行するサーバーのことをワーカーと呼びます。ここは従来のDeadlineと同じです。

AWS Deadline Cloudでは、このワーカーの集まりのことをフリートと呼び、フリートに対して自動スケーリングの設定等を行います。

SMFではAWSが提供するセットアップ済みのワーカーを使用します。またイベントベース自動スケーリングの設定もフリート設定時に自動で構築されるため、非常にお手軽に構築が可能です。

一方で、SMFでは基本的にユーザーがワーカーをカスタマイズすることはできません。
また利用できるソフトウェアに制限があり、デフォルトでは特定のソフトウェアの特定のバージョンでのみ利用可能

元記事を表示

「AWS Hands-on for Beginners AWS 環境のコード管理 AWS CloudFormationで Web システムを構築する」をAWS CLIでやってみる

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-cfn-2022-reg-event.html?trk=aws_introduction_page

上記、「AWS Hands-on for Beginners AWS 環境のコード管理 AWS CloudFormationで Web システムを構築する」 をAWS CLIでやってみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3297641/b583fe16-b31c-f69a-44b6-1cfa1ca12808.png)
ハンズオンから引用

# 03 開発環境の構築 (CloudShellで実施)
:::note warn
ハンズオンではCloud9から実施するようになっているが、すべてCloudShellから実施することも可
:::
## 変数
“`bash:コマンド
# 名前
CLOUD9_ENVIRONMENT_NAME=”handson

元記事を表示

2024年8月 DVAに合格したので、学習法/試験対策についてまとめました。

# 概要
2024年8月9日に`AWS DVA`を受験し、合格することができました。
911点と、余裕を持った点数で合格できたため、学習法について簡単にまとめることにします。
総学習時間は`140H`です。

![Screenshot_20240809-191822_1 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842674/6e9c1354-375f-3f61-f588-05302fffdca3.png)

# スケジュール
## 試験対策教材の読み込み
7月3日〜7月28日(`80H`)

[徹底攻略AWS認定デベロッパー – アソシエイト教科書&問題集](https://www.amazon.co.jp/dp/4295018406?psc=1&ref=ppx_yo2ov_dt_b_product_details)の読み込み

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842674

元記事を表示

Amplify Gen2のライブラリアップデートに半年遅れでキャッチアップします

# はじめに
フロントエンド界隈はアップデートが早く、ライブラリのバージョンが目まぐるしくアップデートされていきます。
キャッチアップを怠るとすぐに置いてけぼりになってしまいます。
この記事は「Next.js × AWS Amplifyで作成した個人開発アプリを半年間塩漬けにした結果、キャッチアップにこれだけ苦労したよ!」という実体験に基づく作業ログです。

# 状況
2024年2月頃にAmplify Gen2を使ったアプリを作り(個人開発)、特に改修なしで数ヶ月稼働させていたのですが、最近になって新機能が欲しくなったのでソース改修ことにしました。
改修を始めたのは8月なので、およそ半年ぶりに改修をすることになります。

まずは[node-check-update](https://www.npmjs.com/package/npm-check-updates)を使って、ライブラリの更新を行いました。
amplifyに関するライブラリのバージョンの遷移は下表のとおりです。

| | 更新前 | 更新後

元記事を表示

【Control Tower】AWSでのマルチアカウント運用について調べてみる

# Cotrol Towerとは
一言でいうと、「マルチアカウント環境の自動プロビジョニングを行うマネージドサービス」
Cotrol Towerではマルチアカウント環境のことをランディングゾーンと呼んでおり(Cotrol Tower特有の名称ではないが)実態としては以下の構成となっている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/992414/7b879b0d-24f6-32f9-d5c1-5ab31e7b70c0.png)
デフォルトで作成される「管理/監査/ログ・アーカイブアカウント」をまとめて共有アカウントと呼んでいる。

# Cotrol Towerで出来ること
AWS Black Belt AWS Control Tower 基礎編で紹介のある通り、以下5つのカテゴリで”Cotrol Towerで出来ること”を紹介する。

## ログ集約
各アカウントのAW

元記事を表示

AWS SAA-C03合格できたので勉強方法について

先日受けたAWS SAA-C03に無事合格することができたので、
自分の勉強方法について書いていきます。何か参考になればと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194659/165bb7af-9588-0865-9d25-77c4fbe168ab.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194659/4ebd1eab-4cc8-e282-bd7e-27c6a8fa6931.png)

### 筆者の経歴
・バックエンドメインのシステムエンジニア3年目
・インフラ(AWS)の実務経験なし

### 受験した理由
趣味で個人開発をしているのですが、サイト管理をAWSでしてみたいなと思い
アカウント作成して触ってみるものの、何もわからず資格取得に手を出す。

### 勉強に使用したもの
前提:AWS CLFの合格
[Cloud License](http

元記事を表示

【CloudWatch】アプリケーションのユーザ離脱を監視する【カスタムメトリクス】

# やったこと
– Webアプリケーションのユーザ離脱数をCloudWatchカスタムメトリクスとして取得する
– ユーザ離脱は、ユーザが異なるページに遷移しようとする「beforeunload」イベントを監視することで簡易的に検知
– 「beforeunload」イベント発生時に、正常に漏れなくCloudWatchにデータを送信できるよう、Beacon APIを使用する。

# 構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/992414/e95e6f5a-d8ab-0ec9-4fc3-29d993edf112.png)

# バックエンド
一般的なAPI GatewayとLambdaの構成をとる。
API GatewayにPOSTメソッドを作成し、LambdaプロキシでLambdaと紐づける。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/992414/2aeda944-e929

元記事を表示

初心者向けCloudTrail入門(コンソールログイン編)

# 初心者向けCloudTrail入門(コンソールログイン編)

## 1. CloudTrailとは
– AWSアカウントの活動記録サービス
– 誰が、いつ、何をしたかの情報保存

## 2. CloudTrailの主な機能
– すべてのAWS操作の記録
– API呼び出しの追跡
– コンソールログインの監視

## 3. コンソールログインの記録
– イベント名:「ConsoleLogin」
– 成功・失敗両方のログイン試行を記録
– ユーザータイプ別の記録場所:
– ルートユーザー:us-east-1
– IAMユーザー
– シドニー(ap-southeast-2)
– オハイオ(us-east-2)
– ストックホルム(eu-north-1)
のいずれか
– IAM Identity Centerユーザー:IICを有効化したリージョンで作成される
– 東京リージョンで有効化すれば東京リージョンのCloudTrailの証跡に記録される

## 4. ログに含まれる主な情報
– ログイン時刻
– ユーザー識別情

元記事を表示

(Amazon Linux 2023)AWS EC2にデプロイする④ GitHubとSSH接続する〜Laravelの初期設定を行う

# はじめに
前回からの続きです。

https://qiita.com/shunport/items/fbe2daeb69343347ea97

# 前提
– インスタンス作成時にAmazon マシンイメージ (AMI)でAmazon Linux 2023を選択された方向けです
– Amazon Linux2を選択された方も手順は同じですが、Linuxコマンドが異なります
– AMIの調べ方は、EC2サーバーにSSH接続をし、下記のコマンドを入力すると確認できます

“` sh:ターミナル
cat /etc/os-release
“`

### 環境
– PHP 8.2
– Laravel 11
– mariaDB 10.5.23
– Nginx 1.24.0
– GitHub

# おおまかな流れについて
おおまかな流れは下記のとおりです。

1. ~~AWSでEC2のインスタンスを起動する~~(①で説明済)
1. ~~起動したインスタンスにElastic IP(固定IP)を関連付ける~~(①で説明済)
1. ~~EC2サーバの初期設定を行う~~(②で説明済)
1. ~~PHP

元記事を表示

Amplify + Vue.jsのクイックスタートを試してみた

# 背景・目的
フロントエンドアプリケーションについて、今まであまり触れてきませんでした。今回は、AWS Amplifyを使用してVue.jsを動かしてみます。

# まとめ
下記に特徴を簡単にまとめます

| 特徴| 説明|
|:–|:–|
| Vueとは| ・JavaScriptフレームワーク
・宣言的でコンポーネントベースのプログラミングモデル
| 2つのコア機能 |・宣言的レンダリング
・リアクティビティ |
| Vueの活用方法| ・静的なHTMLを拡充
・Webコンポーネントとして埋め込む
・SPA (シングルアプリケーション)
・SSR (サーバサイドレンダリング)
・SSG (静的サイトジェネレーション)
・デスクトップ、モバイル、WebGL、ターミナルをターゲットにする開発|
| 単一ファイルコンポーネント|・SFCと略される
・コンポーネントのロジック(JavaScript)、テンプレート(HTML)、スタイルシート(CSS)を単一のファイルに収めたもの|
| 2つのAPIスタイル |・Options API

元記事を表示

RDS for MySQLからAuroraへの移行ガイド

2ヶ月くらい前に、RDS for MySQLからAurora MySQLへDB移行したので、そのときに検討したことや実際の作業手順などをまとめました。

同様の作業をされる方の参考になれば幸いです。

## 背景
コストをケチって、サービスのリリース後もシングルAZのRDS for MySQLを利用していましたが(よくない)、クライアントやトラフィックが日々増えていくなかで、データの耐久性と将来的なパフォーマンスに不安がでてきていました。そこで、複数AZにデータを分散し、MySQLのパフォーマンスが最大5倍向上するAuroraへ移行することにしました。

## 移行
– 新規で作成するリソース(Auroraクラスター、インスタンス、サブネットグループ、パラメータグループ)についてはTerraformでコード管理することにしました(移行元のRDSはコード管理していなかった)
– アプリケーション(Lambda)との接続はRDS Proxyのターゲット先を変更することで完了しました
– 移行手段としてスナップショットかDMSを検討しましたが、ダウンタイムを前提としてスナップショットを選択し

元記事を表示

オンプレエンジニアがAWSを触って思ったのと違うと感じたこと

# はじめに
この仕事を始めた当初(約20年前)はオンプレミスという言葉がありませんでした。いや厳密には私の周りではパブリッククラウドとオンプレミスを分けて話す人はおらず、インフラ構築といえば今でいうオンプレミスが中心でした(世の中的にはパブリッククラウドがサービスとして存在していました)。オンプレミスみたいに新しい概念が出てきた時にそれまでの概念を説明するためにできる言葉を**レトロニム**というそうです。
私が本格的にパブリッククラウドの仕事をし始めたのは約3年前でAWSでした。研修ではAzureを先に触れていたのと、[この本](https://www.amazon.co.jp/dp/B01KUN5LI2 “Cloud First Architecture 設計ガイド(日経BP Next ICT選書)”)を読んでいたという知識があった程度です。

ここではずっとオンプレミスのインフラ構築をしていた私がAWSに触れて最初に戸惑ったことを記事したいと思います。また、戸惑いましたということだけ書いても学びがないため**対応したこと**も併せて記載します。AWSに慣れている人からすれば常識

元記事を表示

[Amazon Web Services]AWS Resource Groupsを使ってアクティブなリソースを検索

今日は個人AWSアカウントの整理を進めております。

これまで試してみたいサービスを好きに使っていたので、
不要なリソース削除のためにも、今現在アクティブなリソースを一括で知る方法がないかを探していたところ、AWS Resource Groupsを使用すれば簡単に使用中のリソース一覧を取得することができました。

## AWS Resource Groupsを使ってアクティブなリソースを検索
① Resource Groupsコンソールに遷移
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3822026/8ce31499-f884-87b4-996a-824e105e46a9.png)

② 左ペイン > タグエディタをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3822026/4f26bc55-233d-5564-5d60-49d5a2aac1cb.png)

③ 対象リージ

元記事を表示

【AWS】S3コスト最適化のポイント【S3】

## はじめに
AWSのアーキテクチャを評価する際の観点の1つとして、発生するコストが最適化されているかというものがあります。
Well-Architected Frameworkのコスト最適化の柱ベストプラクティスでは「クラウド財務管理を実践する」「経費支出と使用量の認識」「費用対効果の高いリソース」「需要を管理しリソースを供給する」「継続的最適化」という領域があり、いかにコストの発生を可視化、あるいは監視してそれを分析し、最適化するかが求められます。
この基本的な考え方は各AWSサービスに共通でもAWSサービスごとに実践できる具体的な対策は変わってきます。
今回の記事ではS3に関するコスト最適化の例をいくつか記載しました。

## S3のコストは何に対して発生するか
参考「Amazon S3 の料金」:https://aws.amazon.com/jp/s3/pricing/
AWS公式のS3の料金の参考サイトから以下の項目に関しての主に料金が発生することが記載されています。
### 「ストレージとリクエスト」
S3 バケットにオブジェクトを保存するための料金が発生し、この料金はス

元記事を表示

AWS Well-Architected Frameworkの設計原則をただただ箇条書きで並べた

## モチベーション

公式のページは6つの柱と設計原則のページが分かれており、ざっと一気に見られないのが少しストレスだった。
クラウドプラクティショナーの試験では頻出なのにこのままでは覚えづらいので、ただただ自分のためにまとめた記事となります。
(記事と言っても抜き出しただけですが)

不安な方は試験直前の見直しにご利用ください!

公式のページはこちらです。

https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/framework/the-pillars-of-the-framework.html

## 6つの柱と設計原則

### 運用上の優秀性

– ビジネス成果に基づいてチームを編成する
– オブザーバビリティを実装して実用的なインサイトを取得する
– 可能な限り安全に自動化する
– 小規模かつ可逆的な変更を頻繁に行う
– 運用手順を定期的に改善する
– 障害を想定する
– 運用上のあらゆるイベントやメトリクスから学ぶ
– マネージドサービスを使用する

### セキュリティ

– 強力なアイデンティティ基盤を

元記事を表示

OTHERカテゴリの最新記事