AWS関連のことを調べてみた2020年09月27日

AWS関連のことを調べてみた2020年09月27日
目次

AWS Linux2にAWS CLI バージョン2をインストールする方法

##はじめに
AWS CLI バージョン2をインストールする方法について書きます。

AWS Linux2には初めからAWS CLI バージョン1があります。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws –version
aws-cli/1.18.107 Python/2.7.18 Linux/4.14.193-149.317.amzn2.x86_64 botocore/1.17.31
“`

##手順
以下の2つを行います。
1. AWS CLI バージョン2のインストール
2. AWS CLI バージョン1の削除

##AWS CLI バージョン2のインストール

以下のコマンドでインストールファイルをダウンロードします。
“`curl“` コマンドでインストーラをリクエストし、オプション -o “ファイル名”で指定したファイル名にリクエスト結果を書き込みます。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ curl “https://awscli.amazonaws.com/awscli-exe-li

元記事を表示

CodeBuildでAssumeRoleを利用してクロスアカウントのリソースにアクセスする

#はじめに
CodeBuildでビルドを行う際に別アカウントのリソースにアクセスするケースがありました。そのため、AssumeRoleを利用して別アカウントのリソースにアクセスするように設定したので、その方法を紹介します。

#要件
アカウントAのCodeBuildからアカウントBのリソースにアクセスする。

#設定
AssumeRoleを利用するためにRoleの設定とCodeBuildでAssumeRoleの認証情報を環境変数にエクスポートを行います。

###Roleの設定
####アカウントAのCodeBuild用Role
CodeBuild用Roleに**sts:assumeRole**のアクセス許可を追加して、AssumeRole操作を許可します。
ResourceはアカウントBのリソースを操作するRoleを指定します。

“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “VisualEditor0”,
“Effect”: “Allow

元記事を表示

Well Architected Frameworkを意識して自分なりにアーキテクチャ設計・構築をしてみた。<Route53、ACM編>

#HTTPS化

##ACM
事前にドメインを取得して、Route53にホストゾーンの作成を行っています。

**注意**
ALBで利用する証明書はALBのあるリージョンで、Cloudfrontで利用する証明書は必ず**「バージニア北部」**で取得して下さい。

それではマネジメントコンソールの「Certificate Manager」から証明書の発行を行います。
![スクリーンショット 2020-09-26 23.36.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666664/8c4390d3-a43a-f32e-7fba-5226bbea39a2.png)

今回は一般的な用途ですので、「パブリック証明書のリクエスト」を選択して下さい。
![スクリーンショット 2020-09-26 23.36.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666664/05ab8f6c-a7dc-0da7-2911-0

元記事を表示

AWS Linux2でpython3をインストールする方法

## yumでインストール
以下のようにyumでインストールします。
sudoは管理者権限でコマンドを実行します。
python3のインストールはこれだけです。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo yum install python3 -y
“`

オプション -y は、以下のようなメッセージにすべてyで答えるために付けます。

“`
Is this ok [y/d/N]:
“`

##モジュールのインストール
モジュールのインストールにはpip3コマンドを使用します。
オプション -V でpip3のバージョンを確認できます。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ pip3 -V
pip 9.0.3 from /usr/lib/python3.7/site-packages (python 3.7)
“`

ここではpandasをインストールしたいとします。(pandasをインストールしたいモジュールに置き換えてください)
・・・の部分は、表示されるメッセージを省略しています。

“`

元記事を表示

レンタルサーバのWordPressをAWS(S3+CloudFront)に移行した話

# 背景

Webライターを営む妻からある日受けた相談。
レンタルサーバ(エックスサーバ)とWordPressでブログを運営しているが、サーバとかよくわからないから教えてほしい、というかそのままサーバ管理をやってほしいと。
~~良いネタが見つかった~~愛する妻を助けるため~~興味の赴くままに~~頑張った結果、気付いたら爆速かつ低コストなブログが出来あがっていました。

以下実際のブログなのでよければご覧ください!
https://urichiki.com/

# システム構成

## 概要

コンセプトとしては、WordPressをWebサーバとして運用するのではなく、WordPressで作成したコンテンツを静的化(html/css)し、Amazon S3に配置することでサーバレス化することを基本方針としています。
アイデア自体は目新しいものではなくすでに色々な記事で紹介されているので、構築手順や細かい説明は割愛して、簡単に各技術の導入背景等を説明していきます。
技術的な興味を持っていただいた方や、私と同じように静的化したブログ環境を構築したいと考えている方の参考になれば幸いです。

元記事を表示

え、CloudFormationでdynamoDBを作成するときは全カラムをプライマリー・ソートキーにしなきゃいけないんですか!?

# 結論
そんなことはないです。
# 背景
こんな感じのテーブルを作ろうとしました。

* 主キー:UserId(型:String)
* カラム :Name(型:String)

なので、以下のようなテンプレートを用意しました。

“`
AWSTemplateFormatVersion: ‘2010-09-09’
Transform: AWS::Serverless-2016-10-31
Description: ‘sam-dynamo

Sample SAM Template for sam-dynamo


Globals:
Function:
Timeout: 3
Resources:
UserTable:
Type: AWS::DynamoDB::Table
Properties:
AttributeDefinitions:
– AttributeName: UserId
AttributeType: S
– AttributeName: Name
Attribute

元記事を表示

Instance Metadata Service Version 2 (IMDSv2):インスタンスメタデータサービスv2の設定と挙動確認

Instance Metadata Service Version 2 (IMDSv2):インスタンスメタデータサービスv2の設定と挙動確認の作業メモ

# 本記事の内容

1. Instance Metadataとは
1. Instance Metadata Service Version 2 を使う理由
1. AWS-CLI実行環境準備
1. 既存インスタンスのIMDSv2強制設定
1. IMDSv2強制設定時の挙動確認

# 1. Instance Metadataとは

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
>インスタンスメタデータは、インスタンスに関するデータで、実行中のインスタンスを設定または管理するために使用します。インスタンスメタデータは、ホスト名、イベント、およびセキュリティグループなどのカテゴリに分けられます。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/conf

元記事を表示

AWS FireLensで動かしているFluent Bitに設定した環境変数を使って、他のコンテナのログ設定を行う

# What’s?

AWS FireLensを使用すると、Amazon ECSやAWS Fargate上で動作するコンテナのログルーターとして機能させることができます。

[Firelens の発表 – コンテナログの新たな管理方法](https://aws.amazon.com/jp/blogs/news/announcing-firelens-a-new-way-to-manage-container-logs/)

それはいいのですが、AWS FireLensを介した各コンテナのログの出力先は、それぞれのコンテナの`logConfiguration`として設定します。

[FireLens構成を使用するタスク定義の作成](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef)

ここから、Fluent BitやFluentdの設定が生成されるというわけです。

ですが、この方法だとコンテナごとにログ出力設定が個別に埋め込まれるこ

元記事を表示

Well Architected Frameworkを意識して自分なりにアーキテクチャ設計・構築をしてみた。<WAF、Cloudfront編>

#はじめに
この記事は、実務未経験者がロールプレイング形式でアーキテクチャの設計、構築を行うといった記事です。
よろしければ[<準備編>](https://qiita.com/mkoki0422/items/9fc0b5d44ff7367994f1
)[<アーキテクチャ設計編>](https://qiita.com/mkoki0422/items/33b60250527dbc92b518)[<VPC、ELB編>](https://qiita.com/drafts/425cca72ab1efc5e77c2/edit)もご覧くださいませ。

#Cloudfront編

##ディストリビューションの作成

Cloudfrontを使用してエッジロケーションからサービスを配信します。
エッジロケーションにキャッシングを行う事でコンテンツを、ユーザーに最も近いサーバーから配信できますので、**ネットワークレイテンシの低減**や**オリジンサーバーの負荷軽減**を行う事ができます。

ELBなど動的コンテンツオリジンにする場合はどれをキャッシュして、どれをキャッシュさせないのかを検討する必

元記事を表示

中間CAの証明書期限切れ時のAmazon API Gatewayのトラストストアの更新を試してみた。

#はじめに
Amazon API GatewayのmTLS機能リリースに絡めて、以下の3つの記事を書きましたが、書いている中で私がTLSの証明書や、その検証がどう行われているのか、また、CAの証明書の更新期限が近づいた時の運用がどうなるのか?等、PKIの基本がわかっている方なら、あっさりと「そこ、なやむの?」といわれそうな部分ではありますが、色々復習しながら検証を進めました。

– [Amazon API GatewayでmTLSを試してみた。(1/2)](https://qiita.com/horit0123/items/8eb45bfcef6b848971a4)
– [Amazon API GatewayでmTLSを試してみた。(2/2)](https://qiita.com/horit0123/items/d37cb939c7dc31f3c2fa)
– [ACMのPrivate CAを利用した場合のAmazon API GatewayのmTLS構成を試してみた。](https://qiita.com/horit0123/items/9ad6e39a8df828dc863f)

元記事を表示

Amazon ECSで、タスクの停止理由などをAWS CLIから確認する

# What’s?

AWS Fargateを使っていて、タスクの起動に失敗した時にどうやって確認したらいいか覚えられなかったのでメモしようかなと。

AWSマネージメントコンソールで以下の方法で見てもいいのですが、毎回見るのも面倒なので、AWS CLIで見たいのです。

[停止したタスクのエラーの確認](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/stopped-task-errors.html)

# 環境

利用するAWS CLIのバージョンは、こちら。

“`shell
$ aws –version
aws-cli/2.0.52 Python/3.7.3 Linux/4.15.0-112-generic exe/x86_64.ubuntu.20
“`

AWSのクレデンシャルは、環境変数で設定しているものとします。

“`shell
$ export AWS_ACCESS_KEY_ID=…
$ export AWS_SECRET_ACCESS_KEY=…
$ export

元記事を表示

英語力が無いSEの暫定的な翻訳ツール活用術(2020年9月時点)

#■記載の理由

私はインフラエンジニアとして活動して来ましたが、これまでは英語力が無くてもなんとか業務を実施することができていました。理由として日本語のドキュメントが提供されているサービスが多く、英語が読めなくてもなんとかなっていたからです。しかしながら、最近になってAWSやAzureについて学習しようとすると、多くの有益なドキュメントが英語で発行されており、英語が出来ないことが大きなデメリットとなってきました。

最も衝撃的だったのがAWSの資格試験です。
AWSの資格試験は日本語でも受験できるのですが、誤訳が多々あり、その結果英語と時と答えが変わってしまうものもあります。しかし「英語とに日本語の問題文で答えが異なった場合、英語の方が正となります。」が前提となっています。ようするに、英語で問題文を読めない限り、誤訳のせいでつまずくリスクがある訳です・・・・。結論として、

**$\huge{『英語はSEに必要なスキルなので勉強しましょう!』}$**

になります。当たり前ですが。
しかしながら、直ぐには英語力を伸ばすことは難しいで

元記事を表示

AWS SAA-C02版合格体験記(2020/09)

# これは何か
自分がAWS SAA(ソリューションアーキテクト-アソシエイト)を合格するまでにやってきたことを書いていきます。

![aws-certified-solutions-architect-associate.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/586627/dd576f23-2ad0-dbc9-2b1f-64032609bdbe.png)

# 1. 勉強前の自分について
## 1.1. エンジニア経験
正直、どこにでもいるような経歴かなとは思っております。エンジニア経験としてはお世辞にも経験豊富とは言えませんね…
– システムエンジニア2年
– データサイエンティスト1年半
– 基本情報技術者試験合格

## 1.2. AWSの利用経験
下記経験を見れば分かる通り、少し齧ったことのある程度です。
– EC2, ELB, VPCなどを用いた簡単なアプリケーションの開発経験
– S3やEMRを利用したデータ分析経験

## 1.3. 勉強時間
08/11〜09/23の44日

元記事を表示

【AWS CloudFormation】EC2のユーザーデータでWebサーバーをインストールする

#はじめに
EC2の構築作業を省力化のため、CloudFormationにおいてEC2のユーザーデータ(EC2起動時に実行されるシェルスクリプト)を使って、Webサーバーをインストールする方法を学習した。その方法を備忘録として残したい。

#手順
CloudFormation>スタック>スタックの作成で、ステップ1では下記のように設定する。
yamlのテンプレートは以下を指定する。
設定し終えたら、次へ進む。

![スクリーンショット 2020-09-25 16.44.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449478/22e86c70-1a8f-ab80-d9a1-22436ae8d55e.png)

テンプレート↓
ImageId: ami-〇〇については、〇〇の部分をEC2でAMI IDにあるものに直して入力する。

“`


Parameters:
SSHKey:
Type: AWS::EC2::KeyPair::KeyName
Description:

元記事を表示

[AWS CLI v2]バージョンチェックとアップグレードをラクにしよう

# はじめに

何事も最新化しておくことは重要ですが 「XXX(Software) アップグレード」とググって手順を1つずつ実施…は手間ですよね…
今年(2020年)GAされた **[AWS CLI v2](https://aws.amazon.com/jp/blogs/news/aws-cli-v2-is-now-generally-available/)の最新バージョンチェックとアップグレードを楽に行う方法** を見つけたので本記事でシェアします。改造版も掲載していますので良ければご利用ください。

## 前提

当たり前かもしれませんが **AWS CLI v2 がインストールされていること** です。

– インストールしていない方は [AWS CLI v2 のインストール](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html) を要チェック

## 導入

[jamesls/alias](https://gist.github.com/jamesls/3623e9589db

元記事を表示

初心者がAWSを始めてみた(1)

#はじめに
最近、仕事でAWSに触れる機会が増えてきたので、
個人的に勉強がてら始めてみようと思いました。

ここでは、初心者目線でAWSに触れていく様子を書いていこうと思います。

#AWSとは?
AWSとは「Amazon Web Service」の略で、
かの有名なAmazon社が提供しているクラウドサービスのことです。

ネットワークを経由して仮想コンピューターやストレージをはじめとする様々なサービスが提供されています。

詳しいことは、またどこかのタイミングで投稿したいと思いますw

#とりあえずはじめよう!

AWSは様々なサービスを提供していますが、
全部を理解するのは難しいです。
そもそも触りながらの方が覚えやすいと個人的に思ってます。(「習うより慣れろ」っていうんですかねw)

AWSを利用するにあたりアカウントを作成する必要があります。
※アカウントの登録自体は無料ですが、サービスの利用にお金が発生することがあります。
※アカウント登録から1年間はサービス利用料が無料の枠もあります。(https://aws.amazon.com/jp/s/dm/landing-pag

元記事を表示

AWS Systems Manager、Lambdaを使ってS3のファイルをEC2(Windows)内にダウンロード(同期)してみた。

#概要図
Lambda ⇒ Systems Manager ⇒ EC2 ⇒(同期コマンド)⇒ S3

▼参考(にさせていただきました!)
https://dev.classmethod.jp/articles/lambda-s3-ec2-windows-sync/

#作業ステップ
▼前提
・S3にバケットを作成し、ファイルをアップロード済み
###①IAMロールを作成(EC2用)
AmazonEC2RoleforSSM
※上記権限は範囲が広いため、別のポリシーへの移行が推奨されていますので、
 仕事で使用する場合は下記ページをご確認いただければと思います。
 https://dev.classmethod.jp/articles/check-amazonec2roleforssm-policy/
###②EC2インスタンス作成(windowsサーバ ※ami-038c59e921e8b9c7d 使いました)
ロールに”①”をアタッチ
⇒SystemsManagerでEC2のオペレーションができるようになる
※SSMエージェントはデフォルトでインストールされていました。
###③IA

元記事を表示

AWS CDK テンプレート集

#はじめに
AWS CDKを使ってバックエンドテンプレートを作ったので、備忘を兼ねていくつか紹介をしようと思います。
コードが綺麗じゃないのはご愛嬌で。。。

#目次
– とりあえずAPIを作りたい人用(API Gateway + Lambda)
– プロトタイプを作成したい人用
– 認証機能付きでアプリを作成したい人用

#1. とりあえずAWS上でAPIを作りたい人用(API Gateway + Lambda)
###バックエンド構成図
![cdk-create-api.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636747/bc1ee119-b069-8820-ce15-7dac40b4b42b.png)

### ソースコード
以下のGitHubのリポジトリに保管してあります。
READMEに従ってデプロイをすれば上のようなリソースがAWS上で立ち上がります。

>>https://github.com/NagataRyuji0630/aws-cdk-create-api

元記事を表示

アルバムコレクションの脆弱性

# 執筆背景
アルバムコレクションという画像共有サイトがあるのだが恐らく作者の意図に反して、__誰でも(ユーザ登録していなくても)__ファイルをダウンロードできてしまう。
AWSの認証周りが問題なのだが、勉強する上で良い題材なので何がまずいのかを解説する。
※執筆時点9/20の状況です
# 記事の中身
– 認証なしでファイルをダウンロードする手順の解説
– 何がまずかったのかの解説
– 改善案の提示

# 認証なしでファイルをダウンロードする手順の解説
### 想定環境
windows10
### 使うツール
– git for windows (https://gitforwindows.org/)
– Google Chrome(ブラウザhttps://www.google.co.jp/chrome/)

### 手順
1. git for windowsをインストールする(選択肢は全てデフォルトでOK)
2. Google Chromeをインストールする
3. Google Chromeでアルバムコレクションにアクセスする
4. ログインせずに受け取る画面でIDを入力して受け取る

元記事を表示

AWS認定12種を取得したので勉強法を紹介してみる

# はじめに

先日、2020年9月時点で受験できる AWS 認定の12冠を達成したので、自分も勉強法を紹介してみることにしました。

勉強法を調べてみると、Black Belt やホワイトペーパー、公式クラスルームトレーニング、AWS パートナーのトレーニング、書籍など、多くの方法が出てきます。選択肢が多いのはありがたいですが、それはそれで、どれから始めればいいのかとか、どこまでやればいいのかとかを考えると、なんとなく面倒になってしまう人もいるのではないでしょうか。

私自身、アソシエイト系を取得したところで勉強法に困り中断していましたが、[Whizlabs](https://www.whizlabs.com/) というサイトに全認定の問題集があることを知り、主にこれと Black Belt を使って勉強を再開してみることにしました。結果的に良いペースで認定の取得ができたので、この問題集と勉強法を紹介してみようと思います。

# 対象者
AWS をそれなりに使っていて、これから認定試験を受けようと考えている方が対象です。

なお、紹介する Whizlabs の問題集はすべて英語なので

元記事を表示

OTHERカテゴリの最新記事