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

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

Cloud Center of Excellenceとは何か

#はじめに
本記事は**Cloud Center of Excellence**(以下、CCoE)について、CCoE立ち上げに関する視点から基本的な考え方について記載しています。

クラウドファーストという言葉が意味する通りに、クラウドインフラの利用はITサービスを実現するための手段として第一に考えるべき戦略の一つです。

近年、パブリッククラウドのサービスを提供するクラウド事業者は、クラウド活用に有効な手段としてCCoEという役割に着目し、その重要性を謳っています。

**※本記事の内容は、あくまで考え方の一例であり、必ずしも全ての考え方がシステムに適合したり、ここに書いている内容で満たされている訳ではありません。**

## CCoE
CCoEは、**Cloud**と**[Center Of Excellence](https://en.wikipedia.org/wiki/Center_of_excellence)**(以下、CoE)を組み合わせた造語です。

CoEという単語はビジネス用語として、ITに関わらず様々な業界、行政、研究所などで使用されてきました。

業界や組織によ

元記事を表示

GitHubへのPush時にAWS CodeCommitにブランチを同期する

以前、GitHubへのPush時にAWS CodeCommitにリポジトリを同期する方法をまとめました。

https://qiita.com/itouuuuuuuuu/items/bb58cf4531e62dc6c6e5

しかし、この方法はリポジトリをまるまるミラーリングするため、特定のブランチのみ同期したいという場合は使えません。
今回、GitHubの任意のブランチをCodeCommitの任意のブランチにGitHub Actionsから同期する方法を検討したためメモしておきます。

# GitHubのSecretsに必要な情報を登録
GitHubの管理画面で、「Settings」 -> 「Secrets」から、必要な情報を登録します。
![github secrets](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/279032/fb3df90e-0c05-6567-cf3c-ee99aa537e5b.jpeg)

登録する情報は下記となります。

* `CODECOMMIT_REPO_URL`
Cod

元記事を表示

DockerでAmazonLinux環境を構築し、そこでインストールしたPythonライブラリをLambdaレイヤーにアップ

#前提
・Docker使える状態
・AWSサービス使える状態

#①amazon linuxのイメージを取得

“`
docker pull amazonlinux
“`

#②Dockerfileを作成

“`Dockerfile
FROM amazonlinux:latest
RUN yum install -y python3 zip
RUN mkdir /home/deploy
“`

#③docker-compose.ymlを作成

“`docker-compose.yml
version: ‘2’
services:
app:
build: .
volumes:
– ‘./deploy:/home/deploy’
command: >
bash -c “pip3 install -r /home/deploy/requirements.txt -t /home/deploy/python &&
cd /home/deploy &&
/usr/bin/zip -r bs4.zip pytho

元記事を表示

iCloud+でカスタムメールドメインを追加(Amazon Route 53)

iOS15のリリースに合わせてiCloudがiCloud+にアップグレードしました。

その中で「カスタムメールドメイン」という機能が気になったので設定してみました。
最大で5ドメインの3アドレス、計15アドレスが設定可能になります。

:::note warn
無料プラン(5GBストレージ)のiCloudサービスはiCloudのままなので注意してください。
:::

#iCloud側の設定
まずは、[iCloud](https://www.icloud.com)にログインして**「アカウント設定 > カスタムメールドメイン > 管理」**に遷移します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2022657/0e325f18-4f3e-b2ef-0ec1-41312ada1ab4.png)
ポップアップでカスタムメールドメイン画面が開くので、**「カスタムメールドメインを追加 > 所有ドメインを追加」**を選択します。
![image.png](https://qiita-ima

元記事を表示

AWS Well-Architected Tool とは

## 勉強前イメージ

アーキテクチャを診断してくれる的な?

## 調査

## AWS Well-Architected Tool とは

サーバーレスアプリケーションの評価ができる機能で、
AWSが定めた5つの柱でクラウド環境のシステム設計や運用を最適化するフレームワークです。
元々は今までのノウハウをホワイトペーパーで公開していたもので、
現在はAWS Well-Architected Toolとして統合され、誰でも改善を行うことができます。

## 5つの柱

AWSが定めた以下のような5つの柱で構成されており、
AWS Well-Architected Toolではそれぞれの設計思想の元、質問項目が準備されています。

– 運用上の優秀性

変更の自動化など日常業務を管理や、モニタリングなどの継続的な改善に焦点を当てています。

– セキュリティ

情報とシステムの保護に焦点を当てて作っており、
権限管理やシステムの保護、セキュリティイベントの検知などを確立することが目的になります。

– 信頼性

意図した機能を期待通りに一貫して実行できることに焦点を当てており、
障害か

元記事を表示

[AWS]IAM認証をかけたAPIGatewayを別アカウントのLambdaから呼び出す構成をSAMで作成してみた

記事のタイトルが長くなってしまったのですが、主要な構成は以下です。

__アカウントA__
– APIGateway(IAM認証付き)
– Lambda

__アカウントB__
– Lambda

__フロー__
アカウントB.Lambda ⇒ アカウントA.APIGateway ⇒ アカウントA.Lambda

細かく見ていきましょう。

# Githubリポジトリ
今回記事で解説している構成を作成した際のソースをgithubにプッシュしました。
もし同じような構成を作っていて困っている方がいたら、ソースをいじってデプロイしてみてください!
※使う際はいくつかのパラメータをご自身の環境に合わせて設定していただく必要があります。

https://github.com/engineer-taro/apigateway-iamauthentication-crossaccount

# 注意
– こちらの記事はPython, AWS SAMを利用しています。
– Pythonではさらに、Boto3, [aws_requests_auth](https://github.com/David

元記事を表示

そうだ AWS に引っ越そう【その1】

# はじめに

株式会社オズビジョンにてエンジニア8年目のテラシマユウコ (@terra_yucco) です。
通常開発の他、オフショア開発のブリッジエンジニアや運用保守作業、企画のためのデータ出しなども担当させてもらっています。
(ここまでテンプレ)

前回記事「[新米データサイエンスチームのこれまでとこれから](https://qiita.com/terra_yucco/items/2e5eba6ad06738d85aae)」の他、いくつかのエントリでも触れていたように、今までオズビジョンでは分析基盤には BigQuery を利用していました。
BI 用途では Looker、Re:dash、Google Data Studio あたりが乱立していましたが、このたび「基盤も BI も AWS に統合しよう」という話になったため、これから直面する色々を含めて備忘録を書いていこうと思います。

**なお、2021-10-14 現在、この話は現在進行形です。**

## なぜ統合することになったのか

下に色々書いたのですが、「分析者の要望を満たせているのは Looker だが、お値段が高

元記事を表示

Amazon MemoryDB for Redis の採択要件

2021年9月に Amazon MemoryDB for Redis が一部のリージョンからリリースされました。

Usage Fee
=======
公式ドキュメントからAWS Elastic Cache for Redisと比較してみました。
MemoryDB においても東京リージョンでの利用料金が公開されているようです。

Amazon ElastiCache の料金
https://aws.amazon.com/jp/elasticache/pricing/

Amazon MemoryDB for Redis Pricing
https://aws.amazon.com/jp/memorydb/pricing/

* ノード

スペックが同じ単一ノードの料金を比較した場合、MemoryDB が1時間あたり **$0.124** ほど高いようです。また、ElastiCache はリザーブドノードが適用対象に対して、MemoryDB はオンデマンドのみ適用可能となるようです。

| サービス | キャッシュノードタイプ | vCPU | メモリ (GiB) | ネットワークパフ

元記事を表示

Amazon lightsail上のwordpressで複数の環境を作る。

### まえがき

タイトルどおり、AmazonのLightsail上で、Multisite構成でないwordpress環境を複数作って
サブドメインで分けるところまでやっていきます。

参考記事を見ながら作業をしていましたが、
現在、Lightsailで新しく作成したbitnamiのwordpressでは、ディレクトリ構造が変わっているようなので記事にしてみました。

[本家の英語ドキュメント](https://docs.bitnami.com/aws/apps/wordpress/)ではふたつのやり方があることが記載されておりコマンドで自分の環境を調べることができることが記載されています。

> 注:現在、多くのBitnamiスタックのファイル構造と構成を変更しています。これらの変更により、このガイドに記載されているファイルパスは、お使いのBitnamiスタックがネイティブのLinuxシステムパッケージを使用しているかどうか(アプローチA)、または自己完結型のインストールであるかどうか(アプローチB)に応じて変更される可能性があります。お使いのBitnamiのインストールタイプと従

元記事を表示

Azure IoT HubとAws IoT Coreを比較

# はじめに
> Azure IoT HubとAws IoT Core似たようなサービスだけど、何が違うの?と疑問に思っている方も多いと思いますので、比較してまとめてみようと思います。

# 今回の比較対象

– **Azure IoT hub**と**Aws IoT Core**

# Azure IoTHubとAws IoT Coreについて

#### Azure IoTHub
– 各デバイスとクラウドを繋ぎ、双方向に通信が可能
– 各デバイスをクラウド上で管理/監視が可能
– 何十億のデバイスの通信が可能でセキュリティーは、高いチャンネルで守られているため安心
– 最大で7日間イベントデータを保持することができる

#### Aws IoT Core
– 各デバイスとクラウドを接続することができる
– デバイスがオフラインの状態でも最後に通信した情報を保持することができる
– 接続されたデバイスは、高度な暗号化がされ、身元がわからない外部のデバイスからの干渉を防ぐことができる
– デバイスから送られてくるデータが閲覧しやすい(閲覧のやり方が簡単)

#### 違う所
– Azu

元記事を表示

【AWS初心者】IAMユーザーを使ってEC2上にWebサーバーを作る。パート1

AWS初心者がAWSを触ってみたいと思い、EC2上にWebサーバーを構築することにしました。
長くなりそうなので何回かに分けて作業、投稿しようと思います。
不備があればご指摘頂けると助かります。よろしくお願いします。

# 本記事の環境
* AWSのIAMユーザー
* ホストOS:Windows10 Pro 64bit 16GB
* ゲストOS:Amazon Linux 2
* Tera Term:4.105
* Apache:本記事では未導入。追々実施予定。
* php:本記事では未導入。追々実施予定。
* データベース:本記事では未導入。追々実施予定。

※別途、運用資金も必要です。

# 構築手順
## 手順1:仮想マシンの起動
* 画面右上のリージョンを東京にする。※任意です。
* 「仮想マシンの起動」を選択する。
![01_仮想マシンの起動_EC2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1009061/67fb5027-c206-41bb-b7f3-30a51c7583bc.png)

元記事を表示

グローバルデータベースのフェイルオーバー

リージョン全域にわたる停止からの災害復旧機能と低レイテンシ―でのグローバルな読み取り機能を備え、最大6つのAWSリージョンにまたがることのできる単一のデータベース。

プライマリリージョンの変更や災害復旧訓練などのシナリオにおける計画されたフェイルオーバープロセスが簡素化。

https://aws.amazon.com/jp/about-aws/whats-new/2021/02/amazon-aurora-global-database-supports-managed-planned-failover/

元記事を表示

オンプレのOpenShiftでもログはCloudWatch Logsに転送しよう

OpenShift LoggingのElasticSearchは、正直ちょっと安定的に運用するのが普通は無理だと思うので、それでもログ集約してGUIでログ参照したい場合はAmazon CloudWatch Logsに転送するのが現状はベストじゃないかと思う。オンプレ環境だったとしても。
ClusterLogForwarderでのCloudWatchへのログ転送が、たぶんROSAのGAに関連してだと思うが、OpenShift 4.8から出来るようになっている。

以下はそのやり方。簡単。

# 1.AWSでIAMユーザーとアクセスキーを作成する
AWSのIAMで、認証タイプがアクセスキーのユーザーを作る。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146381/9d3628aa-857c-bd3c-59e2-f4c60a20552f.png)|
|:-:|

アクセス許可にCloudWatchFullAccessを付ける。

|![image.png](https://qiita-

元記事を表示

7日間!やり抜きました!!AWSソリューションアーキテクトアソシエイト(SAA)合格体験記

# :cop_tone2:試験を受けたのは何者なのか?
– エンジニア未経験の文系大学出身の公務員 33歳
– 独学で学んだVBAによる業務改善がきっかけで、プログラミングと出会い、エンジニア転職を目指す
– 新卒後、VBAと出会う(32歳)まで仕事やプライベートでプログラミングに触れたことがない素人
– 体育会系のノリが好きで、パソコンとは縁もゆかりもない1児の父親

AWS歴 
実務案件に挑戦した**42日間** [実務案件詳細記事はこちら](https://qiita.com/hirokun0204/items/e170d51a0a1b748cfda1)

# :information_desk_person:SAA試験について簡単に
[AWS公式の受験対象者について](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)
>AWS 認定ソリューションアーキテクト – アソシエイトは、AWS における、可用性があり、コスト効率が高く、高耐障害性で、スケーラブルな分散システ

元記事を表示

AWSのIAMユーザー作成・グループへの追加をTerraformで実装する

# やりたいこと
TerraformでまとめてIAMユーザーをバーッと作り、ユーザーグループへバスンと放り込んで大勝利!?

# きっかけ
アカウントの払い出しや棚卸しを安全かつ楽に実施したい
→ 手始めにIAMユーザーの作成(とユーザーグループへの追加)をTerraformでやってみる

IAMユーザーの数だけTerraformリソース(`aws_iam_user`と`aws_iam_group_membership`)が必要になる?やだな〜と思ってましたが、`module`と`for_each/each`を使うとすっきり書けて嬉しかった

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_membership

# 環境と構成
Terraformのバージョンやファイル構成は下記の通りです

元記事を表示

GitHubへのPush時にAWS CodeCommitにリポジトリを同期する

AWS AmplifyでWebアプリを開発していてAWS CodeCommitへのpushをトリガーにデプロイされる、という環境で開発していたのですが、コードの管理はGitHubで行うという機会が有りました。

そのため、GitHub Actionsから任意のタイミングでAWS CodeCommitに同期してデプロイが実行されるという環境を作りたかったので、その時のメモです。

# AWS CodeCommit SSHキーのアップロード

まずはAWSのIAMコンソールから、CodeCommitのSSHパブリックキーをアップロードして、SSHキーIDを取得します。
![ssh upload](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/279032/b6209ebf-0fd6-d3b0-c007-4ef67ac153b0.jpeg)

# GitHubのSecretsにSSHキー情報を登録
GitHubの管理画面で、「Settings」 -> 「Secrets」から、先程取得したSSHキーIDと、SSHパブリ

元記事を表示

【AWS Lambda】Slackに通知を送信する

今回はCloudFormationでLambdaを触ってみるということで、Slackに通知を送信するLambda関数を構築していきたいと思います。

調べてみたところ、Lambdaを構築する場合はCloudFormationの `AWS::Serverless` というマクロ機能を利用するみたいです。
[AWS::Serverless変換](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html)

マクロを利用すると「AWS SAM 構文」なるものでLambdaを定義できるようになり、 `aws cloudformation package` コマンド実行時に、通常のCloudFormationテンプレートに展開されます。

マクロ機能を利用するには、テンプレート内で下記のように宣言します。

“`template.yml
Transform: AWS::Serverless-2016-10-31
“`

# SlackのWebhook U

元記事を表示

AWS SAM+Lambda+Go+WSLではじめるサーバーレスアプリケーション開発

# 目的

AWS SAM を使って Go 言語でサーバーレスアプリケーションを開発するための、環境構築の手順をまとめます。個人的な備忘録を兼ねているため、必須ではない細かな設定なども記載しています。Lambda でサーバーレスアプリケーションの開発をはじめようと思っている方の参考になれば幸いです。

# 当記事に含まれる内容

当記事に含まれる内容は下記の通りです。ソフトウェアのインストールなどは既にわかりやすい記事があるので、そのリンクを貼っています。

– Hello World アプリケーションについて
– WSL2 の設定
– Docker の設定
– AWS CLI の設定
– Session Manager プラグインの設定
– SAM と Go のインストール
– Ubuntu の環境変数設定の自動化
– VSCode の設定
– SAM プロジェクトの新規作成
– SAM プロジェクトのデプロイ
– AWS コンソールから各サービスを確認

# Hello World アプリケーションについて

Hello World アプリケーションは、SAM プロジェクトを新規作

元記事を表示

AWS SAMでLambdaに設定したS3イベントトリガがコンソールに表示されない問題の対応

AWS SAMでLambdaにS3イベントトリガを設定したところ
動作は想定どおり行われるが、AWSコンソールのイベントトリガには
何も表示されない事象が発生しました。

これは既知の問題のようで
https://github.com/aws/serverless-application-model/issues/300
で議論されていました。

上記にも記載されていますが対応方法のサンプルです。

最初の定義。以下ではAWSコンソールにイベントトリガが表示されない。

“`yaml
MyFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: MyFunction/
Runtime: python3.8
Handler: app.handler
FunctionName: !Sub
– “${prefix}MyFunction”
– { prefix: !FindInMap [“EnvMap”, !Ref Env,

元記事を表示

[AWS] 作成済みEC2インスタンスのセキュリティグループをAWS SDK for Python(Boto3)で変更する

本記事は「作成済みEC2インスタンスに割り当てているセキュリティグループ」をAWS SDK for Python(Boto3)で変更する方法のメモです。

ここの設定を変更したい:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/68230085-7ed4-4d9f-80ad-a91bc666e51f.png)

# 変更するメソッド

メソッドは [EC2 : modify_instance_attribute()](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.modify_instance_attribute) を使用します:

“`python
ec2_client = boto3.client(‘ec2’, ‘region’)
ec2_client.modify_instance_attribute(
Insta

元記事を表示

OTHERカテゴリの最新記事