AWS関連のことを調べてみた2022年07月02日

AWS関連のことを調べてみた2022年07月02日

Terraformを使って覚える。(その1:tfenvを使ったTerraformインストール)

# はじめに
次の仕事で`Terraform`を使うことになったため、勉強のためにまとめていこうと思います。

# 私のスキル感
以前、`CloudFormation`は勉強して以下のような記事をいくつか書きましたが、`Terraform`は以前気になって少し触ってみた程度で、もうすっかり忘れてしまったので改めて学びなおそうと思います。

– [CloudFormationをゼロから勉強する。(その1:前準備)](https://qiita.com/sakai00kou/items/46e12aa5936b6d6064f2)

# Terraformとは
`HashiCorp`が提供しているツールで、いわゆるインフラ環境をコードで管理する`IaC`(Infrastructure as Code)と呼ばれるツールの一種となります。

`CloudFormation`も同様のツールとなりますが、`CloudFormation`がAWS環境の構築のみ対象としているのに対して、`Terraform`は`AWS`だけではなく、`GCP`や`Azure`でも使用できるツールとなります。

また、`

元記事を表示

[Python]RSS翻訳で利用する翻訳APIをDeepL(無料版)にした話 

## はじめに

以前カジキはこういうものを作り、定期実行する環境まで作成しました(環境作成については別途記事にするつもり)

[[Python]RSS取得した情報を翻訳してslackに投稿する](https://qiita.com/Istiophorus/items/947c97801cd6b6510ceb)

で、いざ運用に乗っけてみると、当初心配していた`googleTrans`のAPI制限には特に引っかかることはなく使えました。

しかし、翻訳テキストとして渡す中身によって動作が安定しないという別の問題に直面しました。特に、あるRSSサイトが配信しているfeedと相性が悪く、そのfeedでだいたい落ちてしまう。そのfeed自体、翻訳処理をかけるまでにこっちでテキストをだいぶ加工してあげなければならないような、お行儀のよくないサイトではあるんですが、処理が落ちるテキストを調べてもおかしなところが特に見つからずハマりました。(ライブラリ側の置換処理がうまくいっていないことが原因だった模様)

ここは、翻訳APIが`googleTrans`という非公式ライブラリである限りは、あまり文

元記事を表示

EventBridgeからSlackにメッセージを送る

# やリたいこと

EventBridgeから?のフォーマットでSlackに送ると

https://api.slack.com/methods/chat.postMessage

こんな感じ?のメッセージが投稿できる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185989/b5a957e9-3023-67c5-5ff6-caf9b0ab110f.png)

# 調べてみた

EventBridgeからSlackにメッセージを送るサンプル(公式)は?にある

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#aws-resource-events-apidestination–examples

がしかし、うまく動かなかったので、理解しながら作り替えてみた。

# 事前準備

+ SlackにHUBOTを入れる
+

元記事を表示

EKSクラスターのバージョンアップ方法

# 前提
今回は、EKSをFargateで使っている場合のKubernetesクラスターを1.21から1.22に更新します。
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/update-cluster.html

# 手順
## 1.現在のバージョンを確認
“`
$ kubectl version –short

Server Version: v1.21.12-eks-a64ea69
“`

“`
$ kubectl get nodes

NAME STATUS ROLES AGE VERSION
fargate-ip-XX-XX-101-114.ap-northeast-1.compute.internal Ready 4d17h v1.21.2-eks-06eac09
fargate-ip-XX-XX-101-127.ap-northeast-1.com

元記事を表示

AWS Cognito ユーザープールからの認証トークン取得

## AWS Cognito ユーザープールとは
– AWSが提供するユーザ管理サービスです。
– サインイン/サインアップのためのしくみがGUIやユーザ情報データベースを含めて提供されています。
– AWS Cognito ユーザープールを使えばユーザ情報管理に関わる全てをAWSのマネージドサービスに移譲できます。
– Google、Amazon、Twitter、LINE などの外部認証サービスとも連携できます。
– [Amazon Cognito の機能](https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/what-is-amazon-cognito.html)

## この記事の目的
– AWS Cognitoのユーザプールを作成します。
– Angularを使ったWebアプリケーションからCognitoのAPIを呼び出し認証トークン(JWT形式)を取得します。
– この認証トークンはAWS API Gatewayを呼び出す際の認証トークンとして利用できます。
– これによりセキュリティが確保された

元記事を表示

AWS LightsailでWordPressを立ち上げる

# 概要
AWSでWordPressを立ち上げたい。
仮想サーバーはEC2でなく、Lightsailを使用する。
## なぜEC2でなくLightsail?
Lightsailは予めパッケージでOS,SMSが提供されているので、使いたいもの(今回だとWordPress)を選択するだけなので秒で作成できるため。

# WordPressを立ち上げる
## AWSコンソールにIAMユーザーとしてログインする
アカウントがない場合は先に作成しておく
https://aws.amazon.com/jp/

## 「仮想サーバーを使用して構築」を開始する
ログインしたらトップページの真ん中あたりにある「ソリューションを構築」から「**仮想サーバーを使用して構築**」を選択
![スクリーンショット 2022-07-01 15.30.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/54443/06ad27f9-4faa-65c1-51d8-f7acc36532f0.png)

## Lightsailでインスタン

元記事を表示

CloudFront → パブリックALB(Application Load Balancer)作成

## はじめに
今日は、CloudFront → パブリックALB(Application Load Balancer)を作成してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1901067/1c0f253b-fd50-63c9-181d-234fa0799e55.png)

## 前提
CloudFrontを構築する前に、ALBとEC2を作成しました。
(参照: https://qiita.com/tannh/items/f1dbe7bfc2dca955fda4)

## 手順
#### 1. CloudFront作成
CloudFront Consoleで、[ディストリビューションを作成]を押して、次の手順を実行します。
(参照: https://us-east-1.console.aws.amazon.com/cloudfront/v3/home)

オリジンを設定します。
[オリジンドメイン]は、前の投稿で作成されたALBのカスタムドメインです。
[プロトコル]は、

元記事を表示

AWSでMFA認証できなくなったこと

# なぜ起きたか
Google Atuhenticatorを入れたスマホを
引き継ぎを知らずに買い替えた。

後日、AWSにサインインしようとし、2段階認証を求められ
Google Atuhenticator を開くと初期状態に戻っていた。

# 結論
公式のアナウンスに沿って手続きをすれば、サインインが可能。

ですが時間には余裕を持って。数時間〜半日、場合によっては1日分ほど。 

# これで困ったこと
ログインができなくなりAWSからの請求対象解除が遅くなった。

# 解決のために行ったこと
調べていると解決方法を記載したものがり、
最終的に下記のAWSのユーザーガイドにたどり着きました。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_lost-or-broken.html

「ルートユーザー MFA デバイスの回復」の項目に沿って進めていく。
電話番号の確認 の箇所で登録してある電話番号はあるが、
次のエラーとなった。「電話の確認を完了できませんでした。」
![スクリーンシ

元記事を表示

【Serverless Framework】コンテナイメージを使ってPackageする際はアーキテクチャに気を付ける【Python】

# はじめに
Pythonで書かれたLambda関数のコードをServerless Frameworksを使ってデブロイする際に、[serverless-python-requirements](https://www.serverless.com/plugins/serverless-python-requirements) プラグインを使うことで依存関係を含めることができる。

Dockerコンテナを使ったパッケージングにも対応しており、`cryptography` のようにコンパイルが必要なライブラリが含まれる際はそれを使うのだが、設定によってはLambda実行でエラーが発生することがある。

# 環境
– Python 3.9
– Serverless Framework 3.19.0

# 事象
`cryptography` を含むPythonアプリをServerless Frameworkを使ってDockerコンテナでパッケージ & デプロイ。
その後Lambdaを実行すると、Importで以下のようなエラーが発生した。

> [ERROR] Runtime.Import

元記事を表示

オンプレミスVMware仮想環境からVMware Cloud on AWSへの仮想マシン移行 (OVFテンプレート Export / Import編)

# 1. はじめに
自宅のホームラボをオンプレミスVMware仮想環境に見立てて、「[VMware Cloud on AWS](https://www.vmware.com/jp/products/vmc-on-aws.html)」への仮想マシン移行を試します。いわゆるクラウドマイグレーションです。

通常VMware Cloud on AWSへの移行の際には[「VMware HCX」](https://www.vmware.com/jp/products/hcx.html)がまず候補になると思いますが、
今回はVMware 他にもお手軽な手段があるということで、OVFテンプレートのExport/Importを利用した移行手順をご紹介します。

ホームラボ環境をセットアップした際の記事はこちらです。

https://qiita.com/sanjushi003/items/4d20c85b80032e6f6b25

# 2. あれ、OVFって? 聞き慣れない方向けに。
OVF (Open Virtualization Format) とは、仮想マシンの標準化された形式のひとつです。標準

元記事を表示

【AWS入門ハンズオンやってみた】 ECSでコンテナイメージを作って動かしてみよう!!

## はじめに
つい先日、AWS Hands-on for BeginnersにAWSの入門者向けECSコンテナハンズオンが追加されました!(2022年6月末)
https://t.co/RIhTYFngCI

今回はその概要と感想を書きたいと思います。

AWS Hands-on for Beginnersシリーズはわかりやすい解説動画と手順書はAWSによって用意されていますが、AWSアカウントは自分で用意する必要があります。

## ハンズオンの概要
概要は以下の公式ブログにまとめられています。
https://aws.amazon.com/jp/blogs/news/aws-hands-on-for-beginners-21/

このハンズオンの対象者は以下のように記載されてます。
> – コンテナに今まで触れたことが無く、新たに学習したい方
> – Amazon ECS を使って、インターネットにコンテナを公開する方法を知りたい方
> – ステップバイステップの説明を動画で確認し

元記事を表示

ロググループのメトリクスフィルターで検知した文字列をDatadogに流してログ監視する

## What’s This
CloudWatch Logsに出力されたログで、特定文字列があった場合に、
メトリクスフィルターで検知したい文字列を設定し、メトリクスフィルター作成時に生成されたcustom metricsをDatadogに流して、Datadogモニターで検知する

仕組みを作ったときのメモです。
あくまでメモなので、参考にされる場合は、公式ドキュメントの副読的な感じで読まれると幸いです。

## AWSでの設定

#### テスト用にロググループ作成

![スクリーンショット 2022-06-22 15.12.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/dddf7e45-cc78-2c12-122d-81234da29381.png)

#### メトリクスフィルターを作成
“Error”文字列が出現したらカウントするように設定

![スクリーンショット 2022-06-22 15.14.11.png](https://qiita-image-store.s3.

元記事を表示

CloudWatch エージェントの構築

# はじめに
本記事はAWS環境においてCloudWatch エージェントを導入し、EC2及び、ECSに対してサーバ監視を行うための方法について記載しています。

[**CloudWatch**](https://aws.amazon.com/jp/cloudwatch/)はAWS環境におけるモニタリングシステムの総称です。
現在はSyntheticsなどの機能も充実しているため、アプリケーションのフロントエンドや、API監視等エンドポイントに対する監視も行うことができます。

CloudWatchのサーバ監視は従来の監視システムのように監視対象のサーバにエージェントをインストールし、マネージャーとなる管理サーバから監視するPull型ではなく、エージェントからメトリクスをCloudWatchに送信するPush型の監視方式になります。

CloudWatchを使用してEC2に対するサーバ監視を行う場合、標準メトリクスを用いた監視は限定的です。
CPU使用率などは標準メトリクスで監視可能ですが、メモリ使用率や、ディスク使用率等の監視を行うためにはCloudWatch エージェントをインスト

元記事を表示

AWSハンズオン備忘録

# AWSハンズオン備忘録

普段の開発では使っていないサービスをいろいろ触ってみたときの備忘録です。随時追記していきます。
|キーワード|ハンズオンサイト|メモ
|–|–|–|
|Transit Gateway|https://dev.classmethod.jp/articles/transit-gateway-vpc/|Transit Gatewayを使ってVPC間を接続してみるハンズオンでした。Transit GatewayはVPC間の接続を直感的に設定できて、使いやすいサービスですね。|
|Storage Gateway|https://dev.classmethod.jp/articles/storage-gateway-20181122/|自宅環境にFile Gatewayを作ってみたかったのですが、GatewayのVMを動作させるための要求スペックが高くて(メモリ16GB以上)断念。ハンズオンサイトと同じようにEC2をGatewayとして動かすパターンで試してみました。NFSマウントして書き込んだファイルが、確かにS3に保存されているなというのが確認できました。|

元記事を表示

AWSと自宅をSite to Site VPN 接続してみる

AWSのSite to Site VPNのサービスを使って、VPCと自宅のネットワークを接続してみた時の備忘録です。

自宅のVPNゲートウェイは、古いPCにvyosをインストールしたものを使いました。2022/06/27現在、AWSが出力するカスタマーゲートウェイ用の設定を使うためには1.3系のvyosが必要です。1.4系ではvyosのコマンドが変わっていて、うまく設定できませんでした。

# ベースとする環境

下記がベースとする環境です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126781/86f57513-5551-a25e-9544-49a22983ab1b.png)

# 仮想プライベートゲートウェイによるSite to Site VPN接続

仮想プライベートゲートウェイを使って自宅のネットワークとSite to Site VPNをしてみます。
下記が最終的な構成です。

![image.png](https://qiita-image-store.s3.ap-no

元記事を表示

CloudWatch Logs Insights でWAFログ抽出

## この記事について

CloudFrontやELBの前に WAF を設定した場合に、正規のHTTPリクエストを意図せずブロック(オーバーブロッキング, 偽陽性誤判定)してしまうことがあります。
こういったケースで「どのWAFルールに引っかかったのか」を特定し、ブロック解除の可否の判断材料とするためのログ抽出手法を紹介します。

なお、今回は2021年12月に追加された「AWS WAF のログを CloudWatch Logs のロググループに直接送信する機能」※ を使って出力したログを、 [CloudWatch Logs Insights](https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) を使ってフィルタリング&整形しました。

※ https://aws.amazon.com/jp/about-aws/whats-new/2021/12/awf-waf-cloudwatch-log-s3-bucket/

### Why CloudWatch Logs In

元記事を表示

AWS SESメール受信先にSlackチャンネルを指定しようとしたがダメだった

## 概要

サンドボックス状態のAWS SESからのメール送信先として、Slackチャンネル宛のメールアドレスを登録しようとしたがうまくいかなかった、という記録です。

## 経緯

とある新規サービス立ち上げの際、Eメール送信に[AWS SES](https://docs.aws.amazon.com/ja_jp/ses/index.html)(Simple Email Service, 以降SES)を利用することにしました。

SESは不正利用防止のため、初期状態では機能制限がかかっています。
https://docs.aws.amazon.com/ja_jp/ses/latest/dg/request-production-access.html
> 不正使用や悪用を防止し、送信者としての評価を保つため、新しい Amazon SES アカウントには一定の制限が適用されます。
> すべての新しいアカウントが Amazon SES サンドボックスに配置されます。
> …
> Eメールの送信先は、検証済み Eメールアドレスおよびドメイン、または Amazon SES メールボック

元記事を表示

AWS初心者によるSAA合格体験記

先日、SAAに合格しました!
[AWS Certified Solutions Architect – Associate](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)

合格点は720でスコアは747なのでギリギリでしたが
AWS初心者による合格までの記録を残します。

# 前提
AWSは少し触ったことがある程度。(EC2、IAM、S3、CloudTrail)
このサービスに関しても深い理解までは出来ていなかったです。
運用の経験はなし。
IT知識もまだ乏しい。

# 勉強期間
部署でSAAを取ろう!という勉強会を2月から開始。
6月中には合格するのを目標としていました。

* 勉強会
30分週2回、持ち回りでサービスの説明をする。
既に合格している人や詳しい人にも参加してもらって
分からないことがあったら聞けたり補足説明をしてくれたり。

* 勉強会振り返り
勉強会の翌日にチームでやってもらっていました。
参考書等を読んだりするだけでは理解が深まりづらいことも多

元記事を表示

AWSのEC2とVPCを構築してみた

# ・目次
1.AWSの概要
1-1.AWSとは
1-2.AWSのメリット
1-3.AWSのデメリット
1-4.他社クラウドサービスとの比較
2.AWS CloudFormation
 2-1.AWS CloudFormationとは
 2-2.概念
 2-3.今回発生した問題
3.EC2
3-1.EC2とは
 3-2.GUI
 3-3.Cloudformation
4.VPC
4-1.VPCとは
 4-2.GUI
 4-3.Cloudformation

# 1.AWSの概要
### 1-1.AWSとは
AWS(Amazon Web Services)は、2006年3月にAmazon社が開始したクラウドコンピューティングサービスのこと。
サービスを組み合わせることでユーザーが求めるITインフラの構築が可能で、クラウドサービスのパイオニア的存在となっており、クラウドサービス市場のAWSシェア率は約33%であり、世界1位である(2018年第1四半期時点)。

## 1-2.AWSのメリット
 メリット①:初期費用の安さ
→AWSでは初期費用が一切かからない。また継続的

元記事を表示

AWSでMFAを自身で管理できるポリシーを作成してみる

AWSのIAMポリシーでMFAを有効にしない場合、操作権限を制限しつつ自身でMFAの管理をするポリシーについては`IAM`サービスのキュメントに記載があります。

– [ユーザーが認証情報と MFA 設定を管理できるようにする](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html)
– [AWS: MFA で認証された IAM ユーザーが [My Security Credentials] (マイセキュリティ資格情報) ページで自分の認証情報を管理できるようにする](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_examples_aws_my-sec-creds-self-manage.html)
– [IAM: IAM ユーザーに MFA デバイスの自己管理を許可する](https://docs.aws.amazon.com/ja_jp

元記事を表示

OTHERカテゴリの最新記事