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

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

Windows Container on Fargateで遊ぶ準備が終わってなかった

本投稿はAWS Containers Advent Calendar 2021の16日目の記事です。投稿時間は16日の34時過ぎでしょうか。

9日での[記事](https://qiita.com/isleys/items/14913405908cb030d9ce)で書いた内容で、Windows on FargetでWindowsコンテナを動かす準備が終わった!と言いたい所ですが、前回の内容だと1つ大きな問題点が残ってます。

そう、それはログ

## ログが出力されてないんです
前回のサンプルをベースにWindowsコンテナを起動してみると、`docker container logs`でログを確認することができません。標準的なIISのアクセスログの出力先は、ファイル出力になりますし、Windowsのメジャーなログ出力先にははEventLogがありますよね。STDOUT/STDERRにログを出力することができれば、これまでのLinuxコンテナ流でのログ取得ができそうです。

また、Windows Container on Fargateは logging driverとしてaw

元記事を表示

Chrome拡張を作ってAWSハンズオンのフォーム入力を自動化する

## 経緯

AWSなんもわからんエンジニアの @gramin です。
そろそろAWSの勉強しないとなーと思いつつ同僚に聞いたところ「ハンズオンやっとけば良いんじゃないですかね」と雑な回答をいただいたので、何も考えずに実施する事にしました。

AWS ハンズオン資料
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/

申し込みフォームに会社の情報などをポチポチ入力し、送信後にハンズオン動画が視聴できます。
遷移後のURLをブクマしておけば、その動画はそれ以降も視聴可能だとか。
ハンズオンを実施するにあたり、大きな問題にぶち当たります。それは……

**同じような情報を何度も入力したくない問題(エンジニアは無駄な作業が大嫌い)**

同じ動画であればブクマしておけば済むのですが、観たい動画が結構な数あります。
どれも同じような入力内容ですが、入力項目が20個弱あり、毎回入力するのは面倒。

**よし、自動化しよう。**

## 目的

– AWSハンズオンのフォーム入力を簡単にする
– Qiita

元記事を表示

AWS側のメンテンナンス影響かAWS Personal Health Dashboardで確認してみた

# はじめに
AWSからメンテンナンスの為、対象EC2を停止させる旨の連絡が届いておりました。
実際、予定時刻になった際にEC2が停止されました。

こうした際にAWS側の作業影響か、AWS Personal Health Dashboardで判断する事が出来ます。

# AWS Personal Health Dashboardとは?
自分のAWS環境に影響を及ぼすメンテナンス(EC2の停止等)または障害情報を確認できます。

似たAWSサービスに**Service Health Dashboard**がありますが、下記の違いがあります。
・Service Health Dashboard → AWS全体の情報を表示
・Personal Health Dashboard → 自分のAWS環境に影響を及ぼす情報のみを表示

https://aws.amazon.com/jp/premiumsupport/technology/personal-health-dashboard/

# まとめ
AWSサービスのイベント履歴を調べるサービスにCloudTrailがあります。
今回はAWS側

元記事を表示

AWS CDK における、Security Group を用いた接続許可設定を整理する

こちらは [AWS CDK Advent Calendar 2021](https://qiita.com/advent-calendar/2021/aws-cdk “AWS CDK Advent Calendar 2021”) の 17 日目の記事です。

何について書こうかなとギリギリまで悩んでいたのですが、そういえば以前CDKを触っていてちょっとハマったなということを思い出して、Security Group を用いた接続許可設定についてを整理してみようかと思います。

CDK で EC2 等の VPC に属するリソースについて接続許可の設定をする場合、基本は [Construct](https://docs.aws.amazon.com/ja_jp/cdk/latest/guide/constructs.html) の機能を使うことになると思いますが、Security Group を直接作成する方法もありますし、 [Connections](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Connec

元記事を表示

【AWS】S3のまとめ

# はじめに

こんにちは。
この記事は[GFAMアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/gfamz)の7日目の記事です。
S3についてまとめてみました。

# S3の概要

S3はSimple Strage Serviceの略です。オブジェクトストレージサービスです。
安価で耐久性が高く、容量無制限というのが特徴です。

# オブジェクトネーミングスキーマ

オブジェクトはバケット内にフラットに格納されます。
S3://バケット名/プレフィックス/オブジェクト名

* バケット名: オブジェクトの保存場所。100個まで作成可能
* プレフィックス: フォルダ相当
* オブジェクト: データ本体

# ストレージクラス

用途に応じてストレージクラスを使い分けます。

* スタンダード: 複数のAZに複製。デフォルトのストレージクラス。イレブンナイン
* 標準低頻度アクセスストレージ: スタンダードより安価。データの読み出しに課金
* Intelligent Tiering: アクセス頻度によって最適なストレージクラ

元記事を表示

AWS費用監視ツール(後編:Lambda活用)

# 1. はじめに
前回の記事では、AWS マネジメントコンソールと、AWS CLIによる費用確認方法を紹介しました。今回は、プログラミングによるREST API操作と、Lambdaへのデプロイについて解説します。

– AWS費用監視ツール(前編:AWS マネジメントコンソール&AWS CLI)
– AWS費用監視ツール(後編:Lambda活用) **← 本記事**

本編は、次の2つの章立てになっています:

– 2章「プログラム(Python)による確認」
– AWS CLIに代わってプログラムからREST APIを操作します。ここではプログラミング言語としてPythonを使いましたが、(SDKがサポートされている)好きなプログラミング言語を使用できます(下記参照)。

https://aws.amazon.com/jp/getting-started/tools-sdks/

– 3章「Lambdaへのデプロイ (AWS SAMフレームワーク)」
– 2章で作成したPythonのロジックをベースにLambdaに移植します。この章では、サーバレスフレームワークの

元記事を表示

JenkinsからGitHub Actionsへの移行(検討)

## はじめに
株式会社LITALICO SREグループの石井です。
この記事は[LITALICO Engineers Advent Calendar 2021](https://qiita.com/advent-calendar/2021/litalico) その2の17日目の記事です。
弊社のB2B向けサービスではJenkinsを使用してアプリケーションのデプロイを行っています。
Jenkinsは設定次第で色々なことが出来てとても便利なのですが、運用する中で管理面を中心に様々な課題や辛いところも出てきました。
同じような構成の新規サービス立ち上げを機に上記の課題をGitHub Actionsに移行することで解決出来ないか検討したので、こちらについて書こうと思います。

## 前提

### サービスの構成
アプリケーションはAPI・UIともにマイクロサービスで、APIは20個前後、UIは10個前後に分割されています。インフラはAPI部分はFargate、UI部分はS3+CloudFrontという構成です。

### 今回のデプロイの責務
移行を検討する対象はアプリケーションのデプロ

元記事を表示

AWS IAMユーザを作業申請の時間に限定して都度発行する

# 背景・目的

AWSのIAMはAWS環境の各種作業をするために必要なものです。AWSの世界においてIAMがセキュリティ上非常に重要な役割を果たしているため、これが漏洩・悪用されてしまうとその影響は非常に大きいです。
そんなこともありAWS公式ドキュメントの中にはIAMに関するセキュリティのベストプラクティスがあります。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html

このベストプラクティスの「追加セキュリティに対するポリシー条件を使用する(Use Policy conditions for extra security)」という項目の中に以下の文言が出てきます。

> 指定した日付範囲または時間範囲内でのみリクエストが許可されるように指定することもできます。
(You can also specify that a request is allowed only within a specified date range or time range. )

普段使うIAMユ

元記事を表示

自宅で手軽にグリーンカレーを作りながらAWS CloudFormation StackSetsの自動デプロイの結果通知を受け取る

この記事は[マイナビ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mynavi) 17日目の記事です。

# 本記事の対象者

– グリーンカレーを作ってみたいけど、ナンプラーを買うほど本格的でなくても良い方
– AWS Organizations + CloudFormation StackSetsで複数AWSアカウントへのリソース展開を管理している方

# まえがき

社内では様々なサービスの基盤としてAWSが利用されており、多数存在するAWSアカウントを統制・管理するために**AWS Organizations**の活用を進めています。
私の最近の業務は、そのOrganizationsや関連機能の設計・実装です。

ということで、アドカレの記事を書くにあたりその辺のネタ+αの候補で周りの社員にSlackでアンケートを取ってみました。
その結果がこちら。

![vote.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/

元記事を表示

dynamodb-localのローカル環境での利用方法

# この記事で書くこと
ローカル環境でdynamodb-localを利用する方法をなるべくシンプルに記載します。
手順は以下の通りです。

1. dynamodb-localコンテナの起動とデータの永続化
2. サンプルデータの投入
3. データの永続化確認
4. アプリケーションからの接続とリクエスト実行

# 背景
個人的に、RDBも含めてDBをDocker化することで以下のような利点を感じています。
1. ローカル環境に各種DBの様々なバージョンを入れないことで管理しやすくなった
2. アプリケーションの実行時には毎回dockerコマンドを打たなくてよくなった

同じように感じている、もしくはそのようにしたいという方の参考になればと思っています。

# 実行環境
OS:macOS Big Sur(version 11.6)
docker:20.10.0
aws-cli:1.20.53
python:3.9.1
boto3:1.18.48

# dynamodb-localコンテナの起動とデータの永続化

下記公式サイトでは`docker run`コマンドでの起動方法が書いてありま

元記事を表示

AWS SAAの個人的な勉強方法

AWS SAAを昨年3月に取得しました。その際の勉強方法について記載します。
クラウドを知りたいと思い、1年位だらだらと勉強はしていたのですが2回の不合格を経験し、一念発起して取り組みました。
結果3ヶ月で過去の1年間を無かったことにするくらいの知識を身につけられました。

# 勉強教材リスト
## **Udemy**

[AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集(6回分390問)](https://www.udemy.com/course/aws-knan/)
ブラックフライデーセール時に1,200円くらいで購入しました。
この問題集は特に難しくSAPの範囲も余裕で出てくるし、複数選択問題の割合が多く不正解になりやすいです。初回は正解率30%位しか取れませんでした。
しかし、演習テストをしていくうちに問題の勘所や何が足りないのかを掴めていけるので、めちゃくちゃ力が付きます。演習テストは全6回あり、それぞれ3周ぐらいしたところで、正解率がほぼ75%超えることが出来ました。
実際の試験もこの問題集レベルが出てくると思っていたのに、出てこず逆にこれでいいの?となる

元記事を表示

Amazon QuickSightで日本の未来人口の予測してみた

Amazon QuickSightはAWSがサービス提供しているBIツールです。

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

Amazon Quicksight

Quicksight って何 って人はこの動画が参考になります。
[2021年 サーバレス BI Amazon QuickSight の特徴総ざらい](https://www.youtube.com/watch?v=fG2oVhCHik4)

BIとは

ビジネスインテリジェンス(Business Intelligence)の略で企業や個人のデータの可視化や分析をするツールをBIツールといいます。

Quicksight以外の有名どころの製品としては[tableau] (https://www.tableau.com/ja-jp/products/desktop) や [Qlikview](https://www.qlik.com/ja-jp) などがあります。
広義でいえばExcelもBIツールという事になりますが、より多くのデータを簡単に視覚化できるものがBIツールと呼ば

元記事を表示

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

17日目!

昨日立ち上げた EC2 インスタンス。
皆様もお気づきの通り、1台構成で、何かあったときに可用性が失われます。
また、セキュリティグループのインバウンドルールをCloudFrontからのアクセスのみとしていますが、パブリックサブネットに配置されていて、もしものときを考えると少し心もとないです。

なので、今日から2日に分けてネットワーク構成の変更と可用性向上のために冗長化します。

# 17日目の要約
ネットワークの構成を変更するよ!

# AWS CLI の準備
このあたりをみて、好きなバージョンとお使いのOSにあった環境設定をしてくださいね。
なんなら、 AWS CloudShell で実行するのも楽でよいと思います。
この記事シリーズは、AWS CloudShell で実行し、実行例を載せています。

バージョン1
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv1.html

バージョン2
https://docs.aws.amazon.com/ja_jp/cli/lates

元記事を表示

2年半Amplifyを使い続けてたどり着いた開発構成

本記事は [AWS Amplify Advent Calendar 2021](https://qiita.com/advent-calendar/2021/amplify)の17日目の記事です。

# はじめに
Amplifyを使い始めて、早2年半。AWSとはなんぞや?の状況から最初に出会ったのがAmplifyで、これまで色々と大変お世話になってきました。

今回は、ユーザーが利用するWEBサイト(以下、WEBサイト)とそのサイトを管理する管理サイト(以下、管理サイト)を別リポジトリ/別ドメインで管理する開発構成について書いていきたいと思います。

# やりたいこと
– WEBサイトと管理サイトを別リポジトリ/別ドメインで管理する
– バックエンドは管理サイトでのみ管理し、基本的にWEBサイトでの開発では触らない

# 環境
– Amplify CLI 5.1.1 (まだv7試せておりません、、、。)
– aws-amplify 3.4.3
– nuxt.js 2.15.7
– node 14.17.3
– npm 6.14.13

# 初期設定
基本的なAmplifyConsol

元記事を表示

AWS IAMを知る

#はじめに
最近業務でAWS(Amazon Web Service)を使うことが多く、その中でAWS IAM(Identity and Access Management)という機能を利用しなければならなくなりました。その経験と座学で学んだことを書いていきます。実際に業務でぶつかるようなシチュエーションも交えて書いていければと思います。

ソフトウェア開発やクラウド技術に興味がある人は読んでいただけると幸いです。

なるべくわかりやすい言葉で書きます。

#IAMとは?

まず読み方は”アイアム”と呼ばれています。
このアイアムの役割ですが、簡単に言うと、「組織のクラウド環境をユーザに勝手にいじられないようにするための権限管理機能」と思っていただければと思います。

AWSは **「クラウド技術はサービスを作るためのサービス」** です。
そのため、このAWS自体にはたくさんの人たちがアクセスします。この人たちに適切な権限を与えるための機能です。

#クラウドとは?
##クラウドの意義
通常、ソフトウェアなんかをプログラミングして外に公開したいと思った時、以下のようなステップを踏

元記事を表示

Redshift Serverlessでパフォーマンスとコストの課題を一気に解消?

この記事はAWS Advent Calendar 2021の記事です。

https://qiita.com/advent-calendar/2021/aws

# Redshift Serverless発表!!
12月1日(日本時間)、AWS re:Invent 2021でRedshift Serverless(Preview)が発表されました。
この新機能、個人的にはかなり熱いです。

日頃業務でRedshiftのデータを軸にしたシステムの開発・運用を行っており、パフォーマンスやコスト、管理・運用に苦労しているのですが、それが解消される可能性を感じるからです。

今までのRedshiftは、クラスターを起動している時間に課金される方式のため、使用していない時間にも課金される点がイマイチでした。
また、アクセス数の急増や重いクエリ実行等の利用状況が読みきれない中で、パフォーマンスの安定のためには大きめのノードタイプ・ノード数を用意しておくといった管理・運用負荷がありました。

小さめにクラスターを起動しておき、負荷が高まった時に一時的にスケーリングする[同時実行スケーリング](htt

元記事を表示

Amazon API Gatewayで全部HTTPSでオンプレミスにつなげてみる

# はじめに

オンプレミスで稼働しているアプリケーションだけど、様々な外部システム連携のためのAPIゲートウェイを用意しよう、という場合に、AWSを利用していれば**Amazon API Gateway** (以下、API Gateway)が1つの選択肢として考えられますね。

例えばこんな感じの状況や背景でしょうか。

1. 基幹系システム自体への改修は最小限にしつつ、インターネットへの窓口(外接口)でAWSを利用している。
1. 現行システムになるべく手を加えずに、インターネットからの連携先システムからのAPI通信を受け付けて、オンプレミスシステムにつなげてみる。
1. 初期投資を極力抑え、スモールスタートしたい

どれも、またそれらの組み合わせはよくありそうな気がします。

### やりたいこと

こういった場合、やりたいことはシンプルに表現すると下図のようなイメージになります。

![Qita_000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919716/64ebd190-b091-10

元記事を表示

【Rails×AWS】capistranoでデプロイ時のNoMethodError: Cannot load database configuration

初めてcapistranoでEC2にデプロイするときにハマったエラーがあったので解決方法ともに共有しようと思います。
EC2環境構築についてはこちらの記事を参考に行いました↓
https://qiita.com/gyu_outputs/items/b123ef229842d857ff39

#エラー内容

“`
$ bundle exec cap production deploy
.
.
.
.
deploy:migrating
01 $HOME/.rbenv/bin/rbenv exec bundle exec rake db:migrate
01 rake aborted!
01 NoMethodError: Cannot load database configuration:
01 undefined method `[]’ for nil:NilClass

“`

#原因/解決方法

最初はデータベース関連のエラーかと思いましたが色々調べてみるとdatabase.ymlの環境変数が読み込めないときに表示されるエラーということがわかりました。

元記事を表示

Laravel Docker AWS EC2デプロイ④

前回に続き、今回は起動させたアプリの動作確認や必要なコマンド作業を行なっていきます!

https://qiita.com/yyy752/items/b9d7674fc349f669e801

https://qiita.com/yyy752/items/601646d3683869521f9b

https://qiita.com/yyy752/items/9cec9c44e8a389cb9c18

##必要コマンドの実行
###1.シンボリックリンク作成
先ず、画像アップロード機能を使えるようにするためにシンボリックリンクを作成します。

“`
[root@ip-172-31-45-44 backend]# php artisan storage:link
The [/var/www/laravel-zaikokanri/backend/public/storage] link has been connected to [/var/www/laravel-zaikokanri/backend/storage/app/public].
The links have been cr

元記事を表示

Laravel のサーバー移行 ( PHP8の環境) 手順

#はじめに
レンタルサーバーから、AWSEC2の移行する際に、苦戦したため、手順を記載します。
移行前は、apacheでPHP7、移行先はnginxでPHP8となっています。

#前提条件
– VPC,サブネット,EC2,RDSは構築済み
– 移行前
– PHP7.1
– apache2.4
– Laravel 5.5
– phpmyadmin

– 移行後
– `PHP8.0`
– `nginx`
– `Laravel6以上` (PHP8に対して、laravel6以上が対応しているため)
– RDS MYSQL
– adminer(phpmyadminでもよい)
– EC2 + RDS + Nginx + PHP8 + Adminer の構築は↓が参考になります。(wordpressのところは省きましょう)

https://qiita.com/holdout0521/items/342afcee0736a7165e7d

#流れ
1. DBを移行
1. ディレクトリを移行

元記事を表示

OTHERカテゴリの最新記事