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

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

EC2のEBS拡張

EC2のEBSのボリュームを拡張する話です。

“`bash
[]$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 92K 2.0G 1% /dev/shm
tmpfs 2.0G 448K 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/xvda1 100G 27G 74G 27% /
tmpfs 395M 0 395M 0% /run/user/40503
“`

パーティションを拡張する

“`bash
[]$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=4096 old: size=209711071 end=209715167 new: size=

元記事を表示

C言語をAWSで使用する場合の環境構築

#前提

業務でC言語を使用することになったので事前学習でドットインストールで勉強することに。
しかし、ドットインストールの[C言語入門](https://dotinstall.com/lessons/basic_c)は、ローカル環境構築の前提。
ローカル環境構築ではロケットスタートできないためAWSでポチれる環境構築方法を調べた

#環境
Windows10
AWS cloud9

#やりかた

AWS cloud9よりcreate envirmentをしワークスペースを作成する。
あとは普通に「xxxx.c」と拡張子cのファイルを作成すればよい。

![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/734661/cb64c008-e9db-a04a-66b9-bba587af6818.png)

ちなみにC言語はコンパイル必須なので、gcc -o hello hello.cでコンパイルしたのち、./helloでバッシュ実行している。

“`c:hello.c
ec2-user:~

元記事を表示

【AWS Lambda】推しを広めるTwitterBotをほぼ無料で運用した

# 作ったモノ

## 谷崎早耶?さややん?画像bot

谷崎早耶ちゃん(さややん)の画像・動画をツイートするボットを趣味で作りました。
2019年の5月に公開して、1.5年くらい運用しています。

![スクリーンショット 2020-10-06 11.18.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255210/2b0b8ef5-ad11-abf2-a65c-cff437efdea8.png)

Apex UpでNode.js × expressをAWS Lambda, API Gatewayに速攻デプロイしてみる

# はじめに
Node.js × expressのAPIのデプロイ先としてLambdaを使おうと思ったのですが
手取り早くデプロイして試したかったので、Apex Upを使ってみた。今回はその時の備忘録

# Upとは
APIや静的ウェブサイトをLambda × API Gatewayに`up`コマンドでデプロイしてくれるツールです。

# 使ってみる

Upのインストール

“`
curl -sf https://up.apex.sh/install | sh
“`

プロジェクト作成

“`bash
mkdir node-up
cd node-up
npm init
entry point: (index.js) app.js # 自分はapp.jsに変更
“`

expressのインストール

“`bash
npm install express
touch app.js
touch up.json # Upの設定ファイル
“`

app.js

“`javascript
const express = require(‘express’)
const app = e

元記事を表示

Muiti-AWS Accountのアクセス制限(AWS Organizations)

# [AWS Organizations](https://aws.amazon.com/jp/organizations/) を利用したアカウント制限

## 想定対象読者

* 複数のAWS Accountの制限について困っている方
* アカウントの解約を勝手にされると困る
* 組織から勝手に離脱をされると困る
* サポートケースを勝手に起票されると困る
… etc

## 本稿で取り扱っている内容

:ok_woman_tone1: AWS Organizationsにおける [SCP](https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_policies_scps.html) で制限

## AWSのアカウント権限について

[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html)でも記載されていますが、
A

元記事を表示

AWS 認定 セキュリティ – 専門知識(SCS)に合格しました。

[AWS認定 ソリューションアーキテクト プロフェッショナル(SAP-C01)](https://qiita.com/sicksixrock66/items/71e8f350781f56297c34)
に合格したので、
AWS 認定 セキュリティ – 専門知識(SCS)を受験し合格しました。

#合格時のAWS歴
業務歴1年程度

#点数
816点(思ったより点数がとれませんでした。。)

#難易度
AWS SAPと比べると問題文も短く、答えも内容がわかっていれば明確に選べる問題も多かった気がします。
SAAよりは難しいかもしれませんがSAPよりは確実に簡単です。試験時間も見直し含め1時間程度で私は解けました。
※試験ガイドに記載のサービス内容について実際に業務で触れていたのは大きいかもしれません。

#勉強方法
今回は書籍の[要点整理から攻略する『AWS認定 セキュリティ-専門知識』](https://www.amazon.co.jp/%E8%A6%81%E7%82%B9%E6%95%B4%E7%90%86%E3%81%8B%E3%82%89%E6%94%BB%E7%95%A5%E

元記事を表示

EC2インスタンス起動後に必要なセキュリティ設定

EC2 に SSH でログインした後、最低限必要な設定をまとめます。

## ユーザ設定

### ユーザ追加、パスワード設定

“`
# ユーザ追加とパスワード設定
sudo useradd hogehoge
sudo passwd hogehoge
“`

### wheel グループに追加

# 作成したユーザのディレクトリを確認

“`
# wheelグループに追加
sudo usermod -aG wheel hogehoge

# wheelに所属しているユーザーの確認
less /etc/group | grep wheel
“`

### 公開鍵設定

“`
# 公開鍵のコピーとパーミッション設定
sudo cp -R ~/.ssh/ /home/hogehoge/.ssh
sudo chown -R hogehoge:hogehoge /home/hogehoge/.ssh
sudo chmod -R go-rwx /home/hogehoge/.ssh
“`

## SSH 設定

### ec2-user へ直接 ssh を禁止

“`
sudo e

元記事を表示

AWS Chaliceの開発環境をdockerで構築し、超高速でサーバーレスアプリケーションをデプロイしてみた

# AWS Chaliceの開発環境をdockerで構築し、超高速でサーバーレスアプリケーションをデプロイしてみた

ChaliceもLambdaも初めてですが、
初めてのサーバーレスアプリケーションに興奮したので書きます

ソースコード [naokit-dev/python3_chalice_on_docker](https://github.com/naokit-dev/python3_chalice_on_docker)

## Chalice (チャリス?)

AWSが提供するPythonフレームワーク
Lambdaを使ったサーバーレスアプリケーションを簡単にデプロイできる
[Documentation — AWS Chalice](https://aws.github.io/chalice/index.html)

## 環境

– macOS Catalina
– VS Code
– Docker Desktop

“`
docker –version
Docker version 19.03.13, build 4484c46d9d
docker-compose –

元記事を表示

DynamoDBをローカルで構築し、AWS CLIコマンドを使っていじるまで

実施環境はWindowsのPC内にVagrantで立てたCentOSの仮想マシンです。

## Javaがなかったので入れる
“`
[root@localhost ~]# yum install java-1.8.0-openjdk
[root@localhost ~]# java -version
openjdk version “1.8.0_181”
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
“`

## dynamodb-localをダウンロード
“`
[vagrant@localhost ~]$ sudo su –
[root@localhost ~]# wget http://dynamodb-local.s3-website-us-west-2.amazonaws.com/dynamodb_local_latest.tar.gz

100%[=============================

元記事を表示

(DynamoDBで)苦しかったときの話をしようか

# はじめに

本記事は**AWS**の**DynamoDB**を使った開発で**苦しんだ**経験をまとめたものです。ちなみにタイトルの元ネタは[これ](https://www.amazon.co.jp/%E8%8B%A6%E3%81%97%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AE%E8%A9%B1%E3%82%92%E3%81%97%E3%82%88%E3%81%86%E3%81%8B-%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%9E%E3%83%B3%E3%81%AE%E7%88%B6%E3%81%8C%E6%88%91%E3%81%8C%E5%AD%90%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB%E6%9B%B8%E3%81%8D%E3%81%9F%E3%82%81%E3%81%9F%E3%80%8C%E5%83%8D%E3%81%8F%E3%81%93%E3%81%A8%E3%81%AE%E6%9C%AC%E8%B3%AA%E3%80%8D-

元記事を表示

AWS Client VPNの承認ルールに複数のADグループを設定する場合の注意点

AWSにはAWS Client VPNというマネージドのVPNサービスがあり、OpenVPN ベースのVPN クライアントを使用すれば、VPN接続を簡単に実施することができます。

その中で、Active Directory認証と相互認証(証明書)を使用して認証することができるのですが、
Active Directory認証を使用した際に通常のネットワークの使用とは異なる部分がありました。

#Active Directory認証をする際の注意点

※動作としては以下のトラブルシュート
https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/troubleshooting.html#ad-group-auth-rules

例えば、ひとつのClientVPNにおなじディレクトリに所属する2つのADグループと承認ルールを設定していたとします。

| ADグループ名 | 承認ルール |
| —- | —- |
| test1 | 10.0.0.0/16 |
| test2 | 10.0.0.0/1

元記事を表示

白いマスクから怪人マスクへ、AWSでサーバレスLINE写真処理アプリの開発記

# 0.はじめに

初めまして、中国から参りましたポンです。
今は野村総合研究所で働いている新人エンジニアです。
日本語がまだ下手ですから、もし変な日本語が入りましたらご容赦ください。
どうぞよろしくお願いいたします。

コロナ時期の旅行写真には、白いマスクが多すぎで、
もう我慢できないですよね?
ちょうど今は新人開発研修があって、これを研修の課題にしました。
これを解決するため、写真中の白いマスクを怪人マスクに変換するアプリケーションを開発しました。
「できるだけ作業量を減らす」というコンセプトに基づいて、
AWSの色々なサービスを活用してサーバレスLINE写真処理アプリとして開発しました。
**マスクだらけの写真にうんざりした方**も、**サーバレスに興味ある方**も、
ぜひ、この開発記をお楽しみください。

# 1.なぜこのアプリを開発?

元記事を表示

AWS SDK for Ruby profile変更 & assume role

AWS SDK for Rubyにてcredentialsのprofile指定とassume role方法についてわかりづらかったので記載

↓profileはaws-cliで下記のように作成した際のもの

“`bash
$ aws configure –profile hoge
“`

### profile指定
Clientの引数に渡すだけ
例:EC2

“`ruby
ec2 = Aws::EC2::Client.new(
profile: “hoge”,
# …
)
“`

### assume role
“`ruby
require ‘aws-sdk-core’
require ‘aws-sdk-ec2’

role_credentials = Aws::AssumeRoleCredentials.new(
client: Aws::STS::Client.new(opts),
role_arn: “arn:aws:iam::xxxxxxxxxxxx:role/hoge_role”,
role_session_name: hoge
)

e

元記事を表示

Amazon Linux2にECS Agent登録&デバッグ

# ECSでEC2を使う場合のデバッグ
– Amazon Linux2に[公式マニュアル](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ecs-agent-install.html)を元にecs-agentを入れてクラスターにつないでみた
– マニュアルのとおりにやっても正常に起動しない場合があり、そういう時にどうやってデバグするのか情報がまとまっていなかったので、自分のメモがてら記事にしてみる
– 今回のケースではAmazon Linux2に手動でagentをインストールした場合を扱います。他のケースだと細かいパスとかは違っているかもしれません

# デバッグに有用なファイルのパス
“`shell
# 設定情報
## 設定情報。どのクラスタに所属させるか、などを設定
/etc/ecs/ecs.config
## エージェント状態ファイル。インスタンスがクラスターに作成された後に作られる。曲者なやつ。
/var/lib/ecs/data/ecs_agent_data.json

# ログファイル

元記事を表示

ALBでHostBasedRouting

#概要
アプリケーションを複数のサービスの集合体として運用している場合に、それぞれのドメインごとにALBを立てて管理する方法と、ALBのリスナールールで管理する方法がある。後者の方が管理コストが低いので試してみた。
#ALBの設定
設定はすごく簡単、EC2からロードバランサーを選択、対象のロードバランサーをチェック
![スクリーンショット 2020-10-06 14.38.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209804/1dc1a0ac-d0ab-7cdb-acc1-e3fbba08f015.png)
編集したいリスナーを選び、ルールの編集をクリックし、ルールの追加をクリック。
条件式をホストヘッダーにし、ドメインを記入、このドメインの時に転送する転送先(ターゲットグループ)を選択。以上
![スクリーンショット 2020-10-06 14.39.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209

元記事を表示

PrivateSubnetからNatGatewayを経由してSESメール配信

#NATGatewayの作成
VPCからNATゲートウェイ選択、作成クリック
![スクリーンショット 2020-10-06 13.06.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209804/5b3b69a5-f10e-5e46-df2a-5d2beef82803.png)
適当に名前をつけ、NATゲートウェイをおくパブリックサブネットを指定。ElasticIPの割り当ては自動でよければElasticIpの割り当てボタンをクリックすると勝手に振ってくれる。
![スクリーンショット 2020-10-06 13.07.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209804/71724a4d-8868-9b12-5711-b7cd3e72e69b.png)

#EC2から外部ネットワークへNATGatewayを経由して接続
VPCのルートテーブルから、対象のEC2インスタンスが存在するPrivateSubn

元記事を表示

AWS CLIでオートスケーリンググループの更新・デプロイ

# TL;DL

“`terminal
bash deploy.sh v1.1.1
“`

“`sh:deploy.sh
#!/bin/bash
echo “”
echo “### Start Deploy $1 ###”
echo “”

echo “”
echo “### SSH Server ###”
echo “”
ssh -A YourSSHTarget bash deploy.sh

echo “”
echo “### Creating New AMI ###”
echo “”
created_ami_id=$(aws ec2 create-image –instance-id YourInstanceId –name “InstanceName-$1” | jq -r .ImageId)
echo “AMI_ID: $created_ami_id created”

echo “”
echo “### Update Launch Template ###”
echo “”

# update launch template
prev_template_ver=$

元記事を表示

AWS Organizationsと無料枠

AWSの無料枠ってOrganizationsのメンバーアカウントだとどうなるんだっけ、というのを再確認したのでメモ。

# AWSの無料枠

AWSアカウントごとに、無料で使えるリソース量が提供される。特にアカウント作成直後は「12 か月無料」「無期限無料」のものが両方利用できるので、使えるサービスの幅が広い。

> **AWS 無料利用枠では、さまざまな AWS のサービスをそれぞれの上限まで無料でお試しいただけます。無料利用枠には、12 か月無料、無期限無料、短期トライアルの 3 タイプがあります。**12 か月無料タイプを使用したサービスでは、アカウント作成日からの 1 年間、所定の上限まで製品を無料でご使用いただけます。無期限無料タイプを使用したサービスでは、AWS アカウントをお持ちのあいだは常に、所定の上限まで製品を無料でご使用いただけます。短期トライアルタイプを使用したサービスでは、選択されたサービスに応じて、所定の期間か、または 1 回に限り、製品を無料でご使用いただけます。
> ([無料利用枠に関するよくある質問](https://aws.amazon.com/jp/

元記事を表示

AmazonLinux2 の EC2 からサクッと MSK の kafka topic を作ったりする方法

kafkacat とか kafka-topic.sh などの kafka-tools をインストールするのめんどいので、Docker でやるアプローチ

## MSK で kafka cluster の describe を得る

“`
aws kafka describe-cluster –cluster-arn {{arn:aws:kafka:X:X:cluster/analytical-msk/X}}
“`

## kafka-topic.sh で topic を create する

“`
sudo docker run wurstmeister/kafka:2.12-2.4.1 /opt/kafka/bin/kafka-topics.sh –create –zookeeper “{{z1,z2,z3}}” –topic test –partitions 1 –replication-factor 1
“`

## MSK で bootstrap-brokers を get する

“`
aws kafka get-bootstrap-brokers —

元記事を表示

OTHERカテゴリの最新記事