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

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

aws-cdkで環境構築 #1

# はじめに
AWS環境をaws-cdkを使って構築するようになったので
そのキャッチアップも兼ねて共有していこうと思います。

こちらの記事を参考に進めていく中で、自分なりに気づいたところを書いていきます。
https://dev.classmethod.jp/author/tanaka-keisuke/

### AWS-CDKとは
AWS環境の構築を使い慣れたプログラミング言語で記述してしまおう!!という試みです。
IaCの一種ですね

>TypeScriptで書いたソース
>↓
>`cdk deploy`を実行
>↓
>CloudFormationのテンプレートに自動で変換
>↓
>CloudFormationのAPIからそのままデプロイ

やることは**コードを書く+`cdk deploy`を実行**だけ!!
これだけでAWSのコンソールぽちぽちから解放されるのです!!
まあ、コードを書くのがしんどいのですが。。

##### -参考- AWS-SDK
似たようなツールにAWS-SDKがあります。
名前も似ている上に、これもプログラミング言語でAWSを操作できるというからやや

元記事を表示

[簡易]ローカルイメージをECRにpushする手順

#### 手順

– ECRリポジトリの作成
– ECRレジストリの設定(拡張スキャンなど)
拡張スキャンの「連続スキャン」は、ECRへのプッシュ時の初期スキャンと、関連する新しいCVEが公開され たときの自動再スキャンが含まれる

– ECRアクセス用のIAMユーザー(プログラムアクセス)作成
– `aws cli –profile xxxx`でprofile作成
– ECRレジストリに対してDockerクライアントを認証する
“`sh
aws ecr get-login-password –region region | docker login –username AWS –password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
“`
– ECRレジストリに保持する用にイメージにタグをつける
“`sh
docker tag image_id aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag
“`
– ECRにpush
“`s

元記事を表示

Elastic IP

# 調べる前のイメージ
伸縮自在なIPアドレス。
直訳したがどんなものかイメージがつかない。。。
# Elastic IP
静的な IPv4 アドレス。
通常EC2インスタンスを停止すると、それまで使用していたIPアドレスは保持できなくなるが、Elastic IPはEC2インスタンスが停止しても変更されない。
利用時は無料だが、停止中の場合は、時間単位で料金が発生する。
# (補足) パブリックIPとの違い
ECインスタンスが停止した場合、IPアドレスが変更される。無料。
# 調べた後のイメージ
調べた後だと、直訳のイメージがつきやすくなった。というか言葉の意味のままだなと思った。

元記事を表示

AmplifyのIAMでauth-roleとunauth-roleってなに?

## なぜこのような記事を書こうと思ったのか

Amplifyって便利ですよね。いつものように、さぁローカルで開発したものをGithubにプッシュしてAmplifyでビルドしよっ! と軽い気持ちでgit pushすると以下のようなエラーが…

“`
2022-03-10T12:01:33.847Z [INFO]: UPDATE_FAILED UpdateRolesWithIDPFunction AWS::Lambda::Function Thu Mar 10 2022 12:01:29 GMT+0000 (Coordinated Universal Time) Template error: IAM role amplify-hogehoge-prod-12155-authRole-idp doesn’t exist
2022-03-10T12:01:33.933Z [INFO]:
2022-03-10T12:01:33.934Z [INFO]: UPDATE_ROLLBACK_IN_PROGRESS amplify-hogehoge-prod-12155-apihogehog

元記事を表示

Golang + gorilla/mux + LambdaProxyIntegration + ServerlessFrameworkを動かすまで

# 概要
タイトル通り、GolangアプリケーションをLambdaプロキシ統合で動かします

## Lambdaプロキシ統合ってなに
ここに書いてある

https://docs.aws.amazon.com/ja_jp/ja_jp/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html

これを使うとLambda関数を小分けにしなくても、アプリケーション側でルーティングを振り分ける従来の開発方法でサーバーレスなアプリケーションが作れる

## 必要なもの
・AWSアカウント
・ServerlessCLI
インストール、認証情報の設定が必要です

公式ドキュメント

https://www.serverless.com/framework/docs/getting-started

## 実装
`sls create –template aws-go-mod –path go-test`
テンプレートから雛形を作ってもらいます
`go-test`の部分はお好きなプロジェクト名を入れてください

元記事を表示

【AWS】MFAの設定中にキャンセルしてしまったときの対処法

# これは何?
下記公式ドキュメントのIAMユーザーにMFAを強制させるポリシーを付与したのですが、
その際誤って、中断してしまいMFAが設定できなくなったのでその対処法です。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html

# 事象
MFAの設定中に中断してしまい、下記画像の様なエラーが出て再度MFAを設定できなくなった。
![20220304_174726887_chrome.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435702/c0d44d3a-ce5e-acd6-12ee-af01be04cf98.png)

# 解決方法
下記手順にてMFAのリセットができ再設定することが出来ました。

## 設定に失敗したMFAのSerialNumber確認
`aws iam list-virtual-mfa-devices`コマンド

元記事を表示

AWS LambdaでS3イベントが発火しない

# はじめに
S3のアップロードイベントでAWS Lambdaを動かす、あるあるな構成でシステムを構築したところ、Lambdaが起動しない事態に直面しました。

# 結論
イベント設定のプレフィックスに不要な半角スペースが入っていた。

# コメント
動かないときはすべてを疑うとよいです。当たり前ですが。
私恥ずかしながらAWSは3年くらい携わってますが、ハマりました。
イベント設定するときに、マネジメントコンソールのS3の上のリンクみたいなところをコピってペーストしてたのですが、それがいけませんでした。
Lambdaの画面からイベント詳細確認しても、ぱっと見正しい(半角スペース入っていない)ように見えるんです。厄介。
ググっても結論にたどり着けなかったので今回記事にしておきました。
参考になった方、何かしらの反応いただけると嬉しいです(笑)

元記事を表示

composer requireを実行した際にNo space left on deviceエラーが発生

## はじめに
この記事はプログラミング初学者による備忘録用の記事であり、また、少しでも他の初学者のお役に立てればと思い書いています。

今回は、LaravelでS3を扱うために“league/flysystem-aws-s3-v3“パッケージのインストールを実行すると、“No space left on device“エラーが発生し解決に時間がかかったので解決策を備忘録としてまとめておきたいと思います。
ちなみに、LaravelアプリケーションはEC2インスタンス配下でgit cloneした状態です。

間違いなどがございましたら、ご指摘のほどよろしくお願い致します。

## エラー内容 : composer requireでパッケージをインストールに失敗
Laravel6.xでAmazon S3を利用するために、“$ composer require league/flysystem-aws-s3-v3:^1.0“を実行すると下記のようなエラーが発生しました。

“`
$ composer require league/flysystem-aws-s3-v3:^1.0

元記事を表示

[AWS EC2]開発したLaravelアプリケーションを動かすための準備 ~備忘録~

## はじめに
この記事はプログラミング初学者による備忘録用の記事であり、また、少しでも他の初学者のお役に立てればと思い書いています。

今回は、EC2にGitをインストールしてGitHubにpush済みのアプリケーション(**Laravelで開発**)をインストールする手順と、アプリケーションを動かすための準備(.envファイルの作成)について学びましたので、すぐに復習できるよう記事にまとめておきたいと思います。

間違いなどがございましたら、ご指摘のほどよろしくお願い致します。

## アプリケーションをインストールするための下準備

### ・Gitのインストール
ローカル開発したアプリケーションのインストールは“git clone“コマンドを使うので、EC2に“Git“をインストールします。

**ec2-user**ユーザーの状態で下記のコマンドを実行します。

“`
$ sudo yum install git -y

//実行結果
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd

元記事を表示

データの監視をして品質の低下を防ぎたい

DMMデータ周りの部に所属している[yuua](https://qiita.com/yuua0216)です
データはときにイレギュラーなデータが紛れ込んでいたり、何かしらの改修をした際に一部データの構造が崩れてしまったり
といった事態が `たまによくある` と思います。
そういいった事態をできる限り防ぎ、分析者が使用するデータの品質を担保するためにどういったことをやっているのかまとめたいと思います。

# データの特徴を把握する
データの品質監視をするためにまず、データの特徴や構造を把握するため、EDA分析を行いました

EDA分析の詳細には触れませんが…
+ EDA分析(探索的データ分析)とはデータの特徴を探求し、構造をようやくすることを目的としたもの

EDA分析は `deequ` による `profile` や`pandas` を使った `pandas-profiling` を使用して行っております。

https://github.com/awslabs/deequ

https://github.com/ydataai/pandas-profiling

どちらもDat

元記事を表示

【AWS】SES構築について

### 目次
1. [はじめに](#1はじめに)
2. [事前準備](#2事前準備)
3. [SES制限緩和申請](#3ses制限緩和申請)
4. [SES作成](#4ses作成)
5. [EC2ロールにSESポリシーをアタッチ](#5ec2ロールにsesポリシーをアタッチ)
6. [バウンス、苦情対策](#6バウンスと苦情対策)
7. [DMARC設定](#7dmarc設定)
8. [DNS登録](#8dns登録)
9. [ログ出力設定](#9ログ出力設定)
10. [参考情報](#10参考情報)

### 1.はじめに

皆さんこんにちは、奥平です。
今回はSES環境を構築したいと思います。

SES環境構築を書いた理由につきましては、2022年になってSESのWEB画面(UI)が大きく変更があり、英語だらけになってしまい、構築しづらいと思ったのでナレッジ残しとして記事にしました。
※今回はSES構築を中心としますので、IAMロール作成やSNS作成、その他リソース作成につきましては省略致します。
※本当はCLI等で構築出来るようになった方が良いのですが、それはまたの機会に致します。

元記事を表示

エンジニア目線で始める Amazon SageMaker Training ④-2 PyTorch のコードを SageMaker Training 用へ書き換える

## 記事一覧

https://qiita.com/kazuneet/items/795e561efce8c874d115

https://qiita.com/kazuneet/items/294357a2214ac733f6f1

https://qiita.com/kazuneet/items/caa887826e2c33309e0b

https://qiita.com/kazuneet/items/62edfa445e526eb322d6

## 既存 PyTorch のトレーニングコードを SageMaker Training 用に書き換える

[前回の記事](https://qiita.com/kazuneet/items/62edfa445e526eb322d6)では TensorFlow のトレーニングコードを SageMaker Training に向けてコードを書き換えましたが、今回は PyTorch 版です。

PyTorch のトレーニングコードを SageMaker Training 用に変更します。

※不本意ながらついに機械学習のコードを使います
※例

元記事を表示

【ポエム】Nextflowと再現性 – OSS的な観点から

個人の意見に基づくポエムです。あらかじめご了承ください。

## Nextflowとは?

AWS、GCP、Azureなどのクラウド環境を使って、大きめのデータを処理するためのワークフロー言語です。

データ処理では、シェルスクリプトを使った作業が行われます。しかし、シェルスクリプトは、標準入力と標準出力が一つしかありません。だから、データの処理の流れが分岐する場合は、データをファイルに一時保存しながら処理を行う必要があります。また、シェルスクリプトは複数のコンピュータ、クラスタで実行することを想定していません。言い換えるとクラウド環境で動的に計算資源を立てて実行するような実行方法は想定されていません。ワークフロー言語は、動的にクラウド環境の計算資源を確保し、仮想環境を利用して任意のOS環境を用いて、複数の複雑な分岐を持つ処理工程を単一のソースコードで記述することを可能にします。また、Makefileのように、途中まで行った処理を続きから実行することも可能にします。

## Nextflow言語で再現性は高まるのか?

「再現性のあるワークフロー言語」という言葉は少なくとも2つの意味が

元記事を表示

API Gatewayのカスタムドメイン設定で躓いたお話

# はじめに
みなさま,はじめまして.
[株式会社オプティマインド](http://www.optimind.tech)にて,GISエンジニアをしている@tkmbnです.
Qiitaへの2回目の投稿です.

# 概要
SAMを用いてデプロイしたアプリケーションの,AWS API Gatewayカスタムドメインにおけるマッピングの設定方法についてまとめました.

# なぜ書いたか
「開発環境でデプロイもできたし,次は本番や!」と思っていた矢先,CloudFormation上でエラー...
どうやら,マッピングの設定でエラーを吐いていた模様...
公式ドキュメントなどをさらってみましたが,解決方法が見つからず,試行錯誤でトライしていた際に無事原因がわかったので,備忘録として書き記します.

# 本題
## 現状の環境
– SAM テンプレートの内容
– API Gateway
– カスタムドメインは,別途設定済み
– エンドポイントタイプ:エッジ最適化
– 最小TLS:1.0
– 適用しよう

元記事を表示

Fargate タスクのエフェメラルストレージの最大サイズを変更する

# はじめに
本記事では、AWS CLI を使用して、Fargate タスクのエフェメラルストレージの最大サイズをデフォルトの20GBから変更する方法を記載しています。
(2022/03/11 時点では、管理コンソールによる変更はサポートされていない。)

[AWS Fargate 上の Amazon ECS でタスクのエフェメラルストレージのサイズが設定可能に](https://aws.amazon.com/jp/about-aws/whats-new/2021/04/amazon-ecs-aws-fargate-configure-size-ephemeral-storage-tasks/)
>AWS Copilot CLI、CloudFormation、AWS SDK、および AWS CLI を使用して、AWS Fargate が利用可能なすべてのリージョンで AWS Fargate プラットフォームバージョン 1.4.0 以降で実行される Amazon ECS タスクのエフェメラルストレージのサイズを設定できます。

# 変更手順

動作確認済みのAWS CLIのバージョン
`

元記事を表示

AWS DevOps – AWS Controllers for Kubernetesを使って各種AWSサービスをマニフェストファイルで管理しよう

# はじめに

みなさん、こんにちは。今回はさまざまなAWSサービスをKubernetesから管理できるようにするAWS Controllers for Kubernetesのお話です。

みなさんはAmazon EKSを活用してKubernetesクラスタをAWS上で動かすとなった際に、他のマネージドサービスの利用はどうされていますか。もちろんすべてKubernetes上で動かしてシステムを完結させるという選択肢もあるかと思いますが、やはり多くの方が他のAWSのマネージドサービスの併用も検討されるのではないでしょうか。その一方で、これら併用環境のコード化 (IaC、Infrastructure as Code) を実現しようとすると、Kubernetesアプリケーションの管理はHelm、AWSリソースの管理はTerraform、などという別々のツールでの管理になってしまいがちです。

そんな悩みを解決する1つの手段がAWS Load Balancer ControllerやAWS Controllers for KubernetesといったKubernetesクラスタ機能を拡張する各

元記事を表示

CloudFormation Hookを試してみる

[CloudFormation Hook](https://aws.amazon.com/jp/about-aws/whats-new/2022/02/aws-announces-general-availability-aws-cloudformation-hooks/)が利用可能になったので、試してみる。

## やりたいこと

**IaCに予防的統制を組み込み**たい。
これまで、例えばS3で暗号化を強制したい場合、以下のような手段はあった。

– SCPでS3暗号化設定の変更を禁止する。
– Config RulesでS3暗号化が設定されていないバケットを検知する。
– CFn GuardでS3暗号化設定が入っているかどうかを事前にチェックする。

いずれも有益な統制ではあるが、より直截的に「S3暗号化設定が入ってなければスタックの作成を禁止」したい場合、これらの方法では難しかった。
フックならそれが実現できそうだ。

## 準備
CFnテンプレートを二つ用意する。

一つ目は何も設定されていないテンプレート。
“`yaml:hook-test-ng.yml
AWSTempl

元記事を表示

AWS S3 で静的サイトを公開する(SSL化まで)

使うサービス
* S3
* AWS Certificate Manager(以下ACM)
* CloudFront
* Route53
* ドメインレジストラ(ドメイン管理会社のこと。今回はお名前.com)

静的なサイトならこれらだけでSSL化まで出来る

## 独自ドメインを取得し,Route53に設定
今回は私がお名前ドットコムで取得した”suamagaumai.com”というドメインを使う
手順通りで大丈夫なのでここの説明は省略

Route53に新規でホストゾーンを作成し,
NSレコードをお名前.comのネームサーバーに登録してあげる

![スクリーンショット 2022-03-10 18.44.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869250/618bf21d-4111-8ec2-c54f-9961ada711b0.png)

![スクリーンショット 2022-03-10 18.44.12.png](https://qiita-image-store.s3.ap-northe

元記事を表示

よく忘れるcurlで任意のポートを叩くオプション

“`
curl -v telnet://example.com:3268
“`
ちょうべんり

元記事を表示

AWS SAA合格体験記

北海道をこよなく愛するピーターです。
先日AWS SAAに合格しましたので体験記です。

# 僕のスペック
・文系
・プログラミングを初めて半年
・前職は営業

# 学習期間
いきなりですが、個人的に一番の反省ポイントです。というのも1週間ほど勉強したら2ヶ月放置して内容を忘れる、また勉強して放置して忘れることを繰り返してしまったからです。
いつでも受験できる学生時代は終わったので、受験するところまで計画をたてるべきでした。帰るまでが遠足です。

__*勉強したら忘れる前に受験しよう。時間がないはずはない。*__

そういうわけなので期間としては11月~3月ですが、実質の勉強時間は3週間ほどだと思われます。自分でもわかりません。

# 学習方法
Udemyとオレンジ本を使って学習しました。
[【2022年版】AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集(6回分390問)](https://www.udemy.com/share/101OzF3@fyQSGROkoF3KdSJQUGRjnvbNxtalWU9PV_5u-d-AnFUBd82tSwM_QyPZdWeqt

元記事を表示

OTHERカテゴリの最新記事