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

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

【AWS】EC2にDockerをインストールしてSQLの練習環境を作る

##はじめに
AWSのEC2にDockerをインストールしてSQLの練習場にしていきます。

インスタンスの作成手順については省略しますが、Amazon Linux2を使用しています。

##EC2にDockerとDocker-Composeをインストール
キーペアを使ってSSH接続したらDockerとDocker-composeをインストールしていきます。
####Dockerをインストール

“`bash
# yumコマンドでdockerをインストールします。
# 「-y」は全ての問にyesと答えるオプションです。
$ sudo yum install -y docker

# dockerを起動します。
$ sudo service docker start

# ec2-userをdockerグループに追加します。
# dockerはroot権限が必要ですが、sudoなしで使用できるようになります。
$sudo usermod -a -G docker ec2-user
“`

####Docker-Composeをインストール
[こちら](“https://docs.d

元記事を表示

【AWS】Amazon Athena Federated Query 使用してQuickSightまでデータ分析基盤を検証構築してみた

“`Amazon Athena Federated Query“`は 2020年12月に東京リージョンで使用可能となりました。データソースに対してクエリを実行出来るという事なので、どこまで出来るか検証をしてみました。

Athenaの構成
=============
Athenaはデータの分析用途に使用出来るインタラクティブなクエリサービスです。
これまでは、S3のデータを“`AWS Glue Datacatalog“`から論理テーブルを作成しクエリを実行出来ましたが、Federated QueryがGAされた事で、様々なデータソースから直接クエリを実行できるようになりました。
***サーバーレスな構成を組めるため、分析ワークロードにおいて、使いやすいサービスかと思います。***

Athena のサービス構成を見ていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1597898/7a2765f5-fbbd-5fb9-8a40-bb56ee11d395.png)

元記事を表示

AWS EC2でLInuxインスタンスを立ち上げてWEBサーバーとして起動(超入門)

#前提条件

**OS**
MacOS Monterey 12.0.1
**CPU**
Apple M1(arm64)

#やりたいこと

タイトルの通り。
下記「参考サイト」のUdemy講座で取り上げられている練習メニューをそのまま実践したものです。
Macのターミナルから、AWS EC2インスタンスにSSH接続をし、WEBサーバーとして起動してサンプルページを表示させるところをゴールとします。

#手順

###1 EC2インスタンスを作成

![スクリーンショット 2021-12-11 8.33.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1068535/6416060a-1fe6-afa4-f415-878c7ba991b8.png)

Linuxのマシンイメージを選択します。無料対象枠です。
基本的にはデフォルトの設定でそのまま進めます。

**セキュリティグループの設定で新しいルールを追加(任意)**

自分のみがアクセスできるようインバウンドルールを追加します。
セキュアな環

元記事を表示

AWS SDK for RustでDynamoDBのデータをScanする

[AWS SDK for RustのDeveloper Preview](https://aws.amazon.com/jp/about-aws/whats-new/2021/12/aws-sdk-rust-developer-preview/)が発表されました。

examplesにDynamoDB操作関連のソースコードが載っているので、まずはsacnを試してみたいと思います。

## Scanでデータを取得する

### 検証環境

* macOS:Big Sur 11.6
* Rust:1.57.0
* AWS SDK for Rust:v0.2.0

### 環境変数の設定

認証情報の取得は環境変数からおこなうため、以下の環境変数を設定します。

* AWS_DEFAULT_REGION
* AWS_SECRET_ACCESS_KEY
* AWS_ACCESS_KEY_ID

詳しくは、[README](https://github.com/awslabs/aws-sdk-rust)で確認してください。

### テーブルの作成

DynamoDBに *Users

元記事を表示

【AWS】セキュリティグループ、ネットワークACLのまとめ

# はじめに

こんにちは。
この記事は[GFAMアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/gfam)の2日目の記事です。
セキュリティグループ、ネットワークACLについてまとめてみました。

# セキュリティグループとは

インスタンスに適用するファイアーウォールです。
インスタンス毎にセキュリティグループをアタッチして通信を制御します。

## セキュリティグループの特徴

* インスタンス毎に複数のセキュリティグループを設定可能
* インバウントルール/アウトバウンドルールは、プロトコル、ポート範囲、送信元/送信先の設定項目で許可ルールを定義
* デフォルトはアウトバウンドが許可、インバウンドが拒否
* ステートフル制御。戻りのトラフィックを考慮しなくてもよい
* すべてのルールが適用される
* 設定項目が即座に反映される

# ネットワークACLとは

サブネット単位で設定するファイアーウォールです。
サブネットに所属するインスタンス全てに適用されます。

## ネットワークACLの特徴

* サブネットごとに

元記事を表示

CloudFormationでDatabricks環境を作る

# Databricks環境をCloudFormationを使って構築する

## はじめに
GUIでポチポチつくるのがとてもめんどいので、今回はCloudformationを使って構築します。
Templateはすでに公開されているのものがあるので、サクッと作りたいと思います。

手動でやる場合の手順はここにありました。

※Databricksのアカウントコンソールはすでに作っている前提で話します。

## AWS Quick Start
AWSのQuick startページから、始める感じです。

https://aws.amazon.com/quickstart/architecture/databricks/

How to Deploy tabにある

[Deploy a Databricks workspace and create a new cross-account IAM role](https://fwd.aws/KypJd “”)

をクリックすると、Cloudformationの画面に飛ぶので、そこまで行きます。

## Stackの作成
Create

元記事を表示

社内向けチャットボット作成

#目次
[1.はじめに](#1はじめに)
[2.全体スケジュール](#2全体スケジュール)
[3.全体学習](#3全体学習)
[4.Lexチーム作業内容](#4lexチーム作業内容)
[5.Lambdaチーム作業内容](#5lambdaチーム作業内容)
[6.完成したチャットボット](#6完成したチャットボット)
[7.まとめ](#7まとめ)

#1.はじめに
株式会社エニプラでは、社内のチームごとにテーマを決め、
毎月行われるチーム会でテーマに沿った活動を行っています。
チーム会で行った内容は、
年末に「エニプラアワード」という場で全社員や来期の新卒に向けて発表を行っています。
今年度私たちのチームでは
「Amazon lexとSlackを使った社内向けチャットボットの作成」をテーマに活動してきました。
テーマを検討、決定した背景として、4つの点があります。
1.近年、チャット式の質疑応答システムがWebサイトで使われている
2.社内向けの問い合わせ対応にチャットボットが使えそうである
3. Slackにあれば社内規則・ルール確認時に活用でき

元記事を表示

ローカル環境のJupyterLabからAthenaにクエリしたい

自分が初めてPythonを触った時、Jupyter Notebookには大変お世話になりました。

そんな感謝の一方で、AWS re:Invent 2021では[SageMaker Studio Lab](https://www.publickey1.jp/blog/21/awsjupyterlab_idesagemaker_studio_labaws_reinvent_2021.html)が発表されてJupyter環境がまた注目されているなーというにわか心もあったので、JupyterLabの使い方を考えてみました。

機械学習しなくても、手元でJupyterLabを使い始めることが目的です。

## 前提
– Assume RoleかつMFAを設定したIAMユーザ情報を`~/.aws/**`に保存
– Athena実行に足りるIAMロール権限を持っていること
– 参考: [Amazon Athena でクエリを実行したとき「Access Denied (アクセスが拒否されました) 」というエラーが表示される理由](https://aws.amazon.com/jp/p

元記事を表示

Amazon Managed Service for PrometheusにECSからアプリケーションメトリクスを収集する

[KINTO Technologies Advent Calendar 2021 – Qiita](https://qiita.com/advent-calendar/2021/kinto-technologies) の11日目の記事です。

KTCでPlatformGroupのDevOpsサポートとして働いてます。アプリケーション開発者と運用者向けに、CICDツール周りの導入サポートや改善、標準化などを主に行っています。

# はじめに
Amazon Managed Service for Prometheus(AMP)が発表されて、GAされました。
AMPはRemoteWriteのみでスクレイピングの機能がありません。AWSのドキュメントではCloudWatchエージェントもしくはAWS Distro for OpenTelemetry Collectorを使用するようになっています。
今回は、Java以外も見据えて、後者のCollectorを使ってメトリクスの収集まで行おうと思います。
※CloudWatchエージェントはJVMのみ対応のようです

# 前提条件
## ECS

元記事を表示

Terraform のバージョンをアップグレードしようとしたら謎の差分に悩まされた話

※この記事は[ミクシィグループ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mixi)の11日目の記事です

先日弊プロジェクトで作成している Terraform コードを、最新の 1.0.11 にアップグレードしました。
その際に、バージョンを上げようとすると謎の差分が発生し、どういうこっちゃ?ということで調べた時のメモ。

# 要約
* Terraform コードを 0.14.11 -> 1.0.11 にアップグレードしようと plan を実行したところ、謎の差分が発生
* 調べると、 AWS Security Manager を使用して設定した値で差分が発生している
* どうも 0.15 以降は provider_sensitive_attrs の機能があり、sensitive な値を変数に入れて使うと、使っている resource の値も sensitive 扱いになってくれるらしい
* sensitive の扱いが変更されると、物によっては Terraform はそれを resource の差分とし

元記事を表示

AWSで〇〇やってみた!に踏み出せないあなたへ

#はじめに

本記事は、NTTドコモ R&D Advent Calendar 2021の11日目の投稿です。

こんにちは。この記事は、

* AWSを実際に触ってみたいけど、どうすればいいか分からない人
* 参考書を読んだりはしているけど、手を動かしてみたい人
* 開発チームときちんと議論したいと思っているプロダクトオーナーの人

など、主にAWS初心者の方に向けて、お送りします。
持って帰れるものは、以下を想定しています。

* AWSを触る最初の一歩の始め方
* 何を作るかと、構成に落とし込む考え方
* 手を動かしてみた結果、見え方がどう変わったか

***

まず、私の所属する、サービスデザイン部第三クラウド推進を簡単に紹介いたします。
第三クラウド推進では、主にドコモ商用サービスのサーバ構築/アプリ開発・運用を担当しています。
私はアジャイル開発のプロダクトオーナーとして働いており、ここでは1年目2年目から若手の社員も多く活躍中です。

また、サービスデザイン部では、オンプレミスからAWSへの移行を進めており、
現在、第三クラウド推進が担当する準内製サービス45件の内、42

元記事を表示

【AWS】【AppSync】Lamdaで更新処理の競合を解決した話

こちらは[POLアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/pol)の11日目の記事です。前日の記事は[こちら](https://qiita.com/takahiro-yamada/items/4b38e9609bf2053bcc4b)

## はじめに
こんにちは、株式会社POLの上久保です。
ふるさと納税で沢山届いたトマトジュースを飲んでいるところを目撃されてからあだ名がリコピンになりました。
主に自社サービスのフロントエンドの開発を担当しており、最近ではReactやTypeScriptをよく書いています。
私の担当システムはバックエンドがAWS Amplifyで構成されているのですが、クラウド初心者の私にとっては知らないことが多く、勉強の日々が続いています。
ただ一度理解してしまえばAWSとても便利なんですよね、こんなに自動でやってくれていいのかと。

この記事では最近私が業務の中で[AWS AppSync](https://aws.amazon.com/jp/appsync/)について調べたことや詰まったポイント

元記事を表示

Amazon Kendraが多言語対応していた

# はじめに

2021/10のアップデートでAmazon Kendraが多言語対応してました!

https://aws.amazon.com/jp/about-aws/whats-new/2021/10/amazon-kendra-support-additional-languages/

日本語も対応しているようなので試してみます。

ドキュメントを読む限り結構制限がありそう?

> Not all Amazon Kendra features are currently available for languages other than English. The following features are not available for non-English indexes:

> – Semantic search of [FAQs](https://docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html) and extracted answers from documents. Keyword se

元記事を表示

AWS Amplify Studioが変えるフロントエンド開発の未来とは

# 概要
こんにちは。 KDDIアジャイル開発センターの小板橋です。 この記事は、[KDDI Engineer&Designer Advent Calendar 2021](https://qiita.com/advent-calendar/2021/engineer-designer)の11日目の記事です。

先日(2021/12/3)、re:Invent2021で[AWS Amplify Studio](https://aws.amazon.com/jp/about-aws/whats-new/2021/12/aws-amplify-studio/)が発表されました。
今回は、そのAWS Amplify Studioについてまとめ、検証していこうと思います。

# AWS Amplify Studio
* AWS Amplify Studioの機能を要約すると、フロントエンド開発者に最小限のコーディングでフロントの開発ができる
* Amplifyのバックエンド構成およびそれらを管理する機能を統合した開発環境

ちなみに、**amplify admin ui**との違いは??

昨年

元記事を表示

1年ぶりにAmazonTranscribeの機能を調べてみた

# はじめに
この記事は株式会社ナレッジコミュニケーションが運営する [クラウドAI by ナレコム Advent Calendar 2021](https://qiita.com/advent-calendar/2021/knowcom-cloudai) の11日目にあたる記事になります。
今回は1年前に少し触って記事を書いたAmazonTranscribeというサービスの新機能について確認してみたいと思います。
過去の記事は[こちら](https://qiita.com/izu_know/items/7454ca01ff5228c23e72)です。

## Real-time transcription
こちらは以前から大きく変わった箇所があります。
以下の画像にある自動言語認識別機能です。
![2021-12-10_17h02_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/380837/bf30a02c-f367-4e70-a370-55df4c42430c.png)
この機能は最短で音

元記事を表示

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

11日目です!
セキュリティ系をまたやります。

今回は地理的制限!
指定した国や地域のみ
AWS WAF でルールを組んだり CloudFront で設定できたりします。

今回は CloudFront で日本からのアクセスのみ認めるような設定を入れてみます!

# 11日目の要約
日本からのアクセスだけできるようにするよ!

# 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/latest/userguide/install-cliv2.html

# 概要
CloudFront の地理的制限機能で日本からのアク

元記事を表示

セッショントークンを利用して新しめのリージョンにAPIリクエストする際は、STSの設定に注意する

# 概要
 あるシステムで、AssumeRoleによって取得した一時トークンを使ってバーレーンリージョンのリソースに対してGETリクエストを送ると、認証周りでエラーとなったため調べてみると、STSの設定を変更する必要があるとわかった。その際に調べたことや検証したことをまとめる。

# STS エンドポイントの種類によってトークンの有効範囲が違う
 AssumeRole等によって一時セッショントークンを発行する際はSTS用のエンドポイントを経由する。そのエンドポイントは大きくわけて以下の2種類ある

1. グローバルエンドポイント
– `https://sts.amazonaws.com` の単一のエンドポイント
2. リージョンエンドポイント
– `https://sts.{region名}.amazonaws.com` の形のエンドポイント
– リージョンごとに存在し、こちらを使うことが推奨されている。

 どちらを選んでも同じようにセッショントークンを取得することができるが、新しめのリージョンに対するリクエスト時の認証を行う場合は注意が必要。

 リージョ

元記事を表示

CloudWatch Logsのログ取得で空が返ってくることがあるっていう仕様

# 概要
CloudWatch Logsのログ取得で、AWS上にログが存在しているにもかかわらず空の情報が返ってくることがあり、その理由を調べた結果そういった仕様であったという話。

# ログがあっても空が返ってくることがある
CloudWatch Logsの特定のログストリーム内の、指定期間内のログを取得する処理を、boto3を使ってPythonで作ったものがある。

ある日、ログストリーム内に対象のログがあるのに取得されないということがあった。

いろいろ調査していると、利用しているAPI ( `get_log_events` ) のドキュメントで以下の説明を見つけた。

>This operation can return empty results while there are more log events available through the token.
>引用 : https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs

元記事を表示

Webサイトを設定ゼロで爆速デプロイする Serverless Component を公開しました⚡️

![img.png](https://github.com/daisuke-awaji/website-optimized-cloudfront/raw/main/assets/main.png)

**設定ゼロでウェブサイトを爆速デプロイする [Serverless Component (website-optimized-cloudfront)](https://github.com/daisuke-awaji/website-optimized-cloudfront) を公開しました。**

:::note info
この Serverless Component は React, Vue をはじめとした JS フレームワーク にも対応しており、従来の serverless-component/website と比較するとキャッシュ最適化され、最速 10ms 以内 でコンテンツを表示できます。
:::

元記事を表示

VPCで意図した通信ができないときは VPC Reachability Analyzer で原因をしらべたらいい

この記事は [YUMEMI Advent Calendar 2021](https://qiita.com/advent-calendar/2021/yumemi) 10 日目の記事です。

AWSには仮想ネットワーク(VPC)があり、EC2インスタンスやAurora Database、Elasticacheなどのサーバ間通信はVPCを経由します。EC2と Aurora Databaseといったサーバの間で通信が可能なのは、同じVPC内ならセキュリティグループ、ルートテーブル、ネットワークACLを「適切」に設定しなければなりません。構成する要素が増えると、VPCピアリンクやトランジットゲートウェイ、Direct Connectが加わり設定箇所が増えていきます。

サーバの間で通信が行えない場合はパケットの気持ちになって各種設定を見直すのですが、設定の誤りに気づくまでに時間がかかることがあります。設定の誤りを調べるに [VPC Reachability Analyzer](https://docs.aws.amazon.com/ja_jp/vpc/latest/reachability/

元記事を表示

OTHERカテゴリの最新記事